KTUG마당은 KTUG를 방문하는 모든 이용자가 대화를 나누고 소식을 전하는 곳입니다.

  • 로그인 없이 자유롭게 글을 읽고 쓸 수 있는 철학은 처음과 같이 계속됩니다.
  • Team Blog의 글을 이곳 게시판의 "정보글"로 모았습니다. Team blog는 기고자가 올린 글에 질문을 받는 부담을 줄이기 위하여 댓글을 허용하지 않았습니다. 그러나 이곳 게시판으로 모으면서 댓글을 달 수 있습니다. 게시물을 작성하실 때 댓글을 원하지 않으시면 댓글을 허용하시지 않으시기를 바랍니다. 또한 불필요한 소모성 댓글을 달지 않도록 주의하여 주시기를 바랍니다.
  • TeX과 관련된 질문이나 답변은 QnA 마당을 이용하십시오. TeX과 관련된 질문은 지웁니다
  • MathJax를 이용한 수식조판을 사용하실 수 있습니다. 여기를 참조하세요.
  • 스팸 글을 막기 위하여 짧은 시간 내에 다시 글이 등록되는 IP를 막거나, 광고 글을 막기 위하여 금지어로 .com, .net 등을 설정하고 있습니다. 다소간의 불편함이 있으시더라도 양해 바랍니다.
    • 금지어에서 stackexchange, stackoverflow, ctan, overleaf, , github, google.com, gmail.com, .org, .io, sil.org, wiki.com, tistory.com등은 해제하였습니다.
  • 사용하는 편집기는 CKeditor입니다. 편집기에서 [enter]를 누르면 <p> 태그가 들어가고, 문단으로 생각하고 한줄을 비웁니다. 글줄만 바꾸려면 shift-enter 를 누르시면 <BR>가 들어가므로 용도에 맞게 나누어 쓸 수 있습니다.

1. 먼저 pdf 문서 전체에 사용된 폰트를 알아내는 법은 아주 간단하다. 

  • adobe reader에서 ctrl+D를 눌러 [폰트] 탭에 있는 폰트 리스트를 들여다보거나
  • 명령행에서 pdffonts를 이용하는 것이다. 윈도 환경에서 텍라이브를 통째로 설치했다면 이미 들어 있을 것이고, 일부분만 설치했다면 별도로 wintools 패키지를 설치하면 된다. 

    > tlmgr install collection-wintools

    여기서는 다양한 폰트가 삽입되어 있는 fontspec 패키지 매뉴얼 fontspec.pdf를 테스트해본다. 

    > pdffonts fontspec.pdf

    얼마나 많은 폰트가 들어있는지 한번 보라. 

name                                 type              emb sub uni object ID

------------------------------------ ----------------- --- --- --- ---------

EXZINA+TeXGyrePagella-Regular        Type 1            yes yes no     520  0

ZYZYSZ+CMSS17                        Type 1            yes yes no     521  0

EXZINA+TeXGyrePagella-Regular        Type 1            yes yes no     522  0

IMSHRR+Inconsolata-zi4r              Type 1            yes yes no     523  0

MTJBCO+TeXGyrePagella-Bold           Type 1            yes yes no     524  0

MTJBCO+TeXGyrePagella-Bold           Type 1            yes yes no     603  0

GQHSTP+CMSS9                         Type 1            yes yes no     604  0

XCOHXD+EURB10                        Type 1            yes yes no     607  0

MYKISV+Inconsolata-zi4b              Type 1            yes yes no     609  0

TJJKDI+CMSS10                        Type 1            yes yes no     624  0

MUQUFV+TeXGyrePagella-Italic         Type 1            yes yes no     627  0

ZEZMZP+CMSSI9                        Type 1            yes yes no     629  0

JNZSYH+EUSM7                         Type 1            yes yes no     639  0

JDCENQ+CMSY10                        Type 1            yes yes no     640  0

JLYCIS+TeXGyreBonum-Regular          CID Type 0C       yes yes yes    643  0

MOBWHA+LMSans10-Regular              CID Type 0C       yes yes yes    644  0

SDXROQ+Inconsolata                   CID Type 0C       yes yes yes    645  0

EXZINA+TeXGyrePagella-Regular        Type 1            yes yes no     673  0

IMSHRR+Inconsolata-zi4r              Type 1            yes yes no     695  0

PNLOYZ+Kurier-Regular                CID Type 0C       yes yes yes    699  0

YKCGQM+Kurier-Italic                 CID Type 0C       yes yes yes    700  0

GMITFG+HoeflerText-Italic            CID TrueType      yes yes yes    714  0

NLDAED+HelveticaNeue-UltraLight      CID TrueType      yes yes yes    729  0

IOJKMT+HelveticaNeue-LightItalic     CID TrueType      yes yes yes    730  0

WMEQSD+HelveticaNeue                 CID TrueType      yes yes yes    731  0

BRSRKF+HelveticaNeue-Italic          CID TrueType      yes yes yes    732  0

SABXOM+EURM10                        Type 1            yes yes no     772  0

ACQBRV+CMSS8                         Type 1            yes yes no     776  0

KUWAQH+CMSY7                         Type 1            yes yes no     798  0

JWQXNZ+TeXGyreAdventor-Regular-Identity-H CID Type 0C       yes yes yes    801  0

YCCWJV+TeXGyreAdventor-Regular       CID Type 0C       yes yes yes    823  0

MDBBYV+HoeflerText-Italic            CID TrueType      yes yes yes    843  0

XXMMHM+TeXGyreTermes-Regular-Identity-H CID Type 0C       yes yes yes    851  0

SWZJKA+TeXGyreTermes-Italic-Identity-H CID Type 0C       yes yes yes    852  0

PEFZLW+TeXGyreTermes-Bold-Identity-H CID Type 0C       yes yes yes    853  0

MPWHOA+TeXGyreTermes-BoldItalic-Identity-H CID Type 0C       yes yes yes    854  0

APUZFZ+MSAM10                        Type 1            yes yes no     889  0

QFDTVU+EUFM10                        Type 1            yes yes no     890  0

EZKWJJ+TeXGyreBonum-Italic-Identity-H CID Type 0C       yes yes yes    893  0

AYUTRU+TeXGyreChorus-MediumItalic-Identity-H CID Type 0C       yes yes yes    894  0

IIICOG+TeXGyreBonum-Bold             CID Type 0C       yes yes yes    917  0

HGSARC+Georgia                       CID TrueType      yes yes yes    941  0

WMCBVO+Verdana                       CID TrueType      yes yes yes    942  0

RCRLGS+ArialMT                       CID TrueType      yes yes yes    943  0

OIQHTW+TeXGyreTermes-Regular-Identity-H CID Type 0C       yes yes yes    975  0

MYLDUO+TeXGyreSchola-Regular         CID Type 0C       yes yes yes    983  0

RPYOEP+LinLibertineO-Identity-H      CID Type 0C       yes yes yes   1004  0

NAOLNO+LMRoman10-Regular-Identity-H  CID Type 0C       yes yes yes   1012  0

RLVODZ+LMRoman17-Regular-Identity-H  CID Type 0C       yes yes yes   1013  0

UZJSML+LMRoman5-Regular-Identity-H   CID Type 0C       yes yes yes   1027  0

ZNQYKW+LMRoman8-Regular-Identity-H   CID Type 0C       yes yes yes   1028  0

YCHTUI+LMRoman12-Regular-Identity-H  CID Type 0C       yes yes yes   1029  0

UGYQDB+LMRoman17-Regular-Identity-H  CID Type 0C       yes yes yes   1030  0

RVAFED+LinLibertineO                 CID Type 0C       yes yes yes   1079  0

JDCENQ+CMSY10                        Type 1            yes yes no    1082  0

TLQBMP+TeXGyreAdventor-Regular       CID Type 0C       yes yes yes   1114  0

RDXAUA+LinLibertineO                 CID Type 0C       yes yes yes   1122  0

PQNWUG+TeXGyreBonum-Regular          CID Type 0C       yes yes yes   1142  0

QGNFLS+PersianModern-Regular         CID TrueType      yes yes yes   1150  0

YFUBVL+LibreCaslonText-Regular       CID Type 0C       yes yes yes   1170  0

ZIDEZM+HiraMaruPro-W4-Identity-H     CID Type 0C       yes yes no    1200  0

NNYRCZ+Junicode                      CID TrueType      yes yes yes   1207  0

ILZDSF+Junicode                      CID TrueType      yes yes yes   1229  0

QTPMVY+EBGaramond12-Italic           CID Type 0C       yes yes yes   1237  0

GGLZGC+EBGaramond12-Italic           CID Type 0C       yes yes yes   1245  0

MBUWUV+LinLibertineO-Identity-H      CID Type 0C       yes yes yes   1278  0

IJHTDU+QuattrocentoRoman-Identity-H  CID Type 0C       yes yes yes   1286  0

PLFAFO+AJensonPro-Regular-Identity-H CID Type 0C       yes yes yes   1302  0

WKAHHL+AGaramondPro-Regular-Identity-H CID Type 0C       yes yes yes   1310  0

SSNEQH+HiraMinPro-W3-Identity-H      CID Type 0C       yes yes no    1318  0

ZULOPE+HiraMinPro-W3-Identity-H      CID Type 0C       yes yes no    1325  0

GTGVRB+RomandeADFStd-DemiBold-Identity-H CID Type 0C       yes yes yes   1348  0

NSBCQV+CharisSIL-Italic              CID TrueType      yes yes yes   1367  0

XMZFIC+CharisSIL                     CID TrueType      yes yes yes   1368  0

XMFGQD+CharisSIL                     CID TrueType      yes yes yes   1369  0

FNRPPK+CharisSIL                     CID TrueType      yes yes yes   1370  0

KDKSEE+CharisSIL-Bold                CID TrueType      yes yes yes   1371  0

XYWUUF+CharisSIL                     CID TrueType      yes yes yes   1372  0

UUWMSS+HiraMaruPro-W4-Identity-H     CID Type 0C       yes yes no    1407  0

BTUTUP+HiraMinPro-W3-Identity-H      CID Type 0C       yes yes no    1423  0

XEHQDL+HiraMinPro-W3-Identity-H      CID Type 0C       yes yes no    1443  0

EDCACI+HiraMinPro-W3-Identity-H      CID Type 0C       yes yes no    1450  0

LCAHEC+Code2000                      CID TrueType      yes yes yes   1478  0

UDSOKK+DoulosSIL                     CID TrueType      yes yes yes   1479  0

YWWAYK+SFSS1000                      Type 1            yes yes no    1501  0

LGRGGT+SFSS0700                      Type 1            yes yes no    1502  0

JZKZOM+SFSS0800                      Type 1            yes yes no    1508  0

SEVODZ+Cochin                        CID TrueType      yes yes yes   1521  0

OMILMV+Didot                         CID TrueType      yes yes yes   1540  0

HUUKRE+TeXGyrePagella-BoldItalic     Type 1            yes yes no    1557  0

VLGVOS+LMRoman10-Regular-Identity-H  CID Type 0C       yes yes yes   1578  0

YTVDVY+HoeflerText-Italic            CID TrueType      yes yes yes   1579  0

CNBCQP+HoeflerText-Regular           CID TrueType      yes yes yes   1593  0

JVQNCS+HoeflerText-Italic            CID TrueType      yes yes yes   1594  0

YVRZZL+Skia-Regular                  CID TrueType      yes yes yes   1609  0

FUMGYI+Skia-Regular                  CID TrueType      yes yes yes   1633  0

MWHQAF+HiraMaruPro-W4-Identity-H     CID Type 0C       yes yes no    1641  0

IEXNJB+Zapfino                       CID TrueType      yes yes yes   1648  0

PDSULY+HoeflerText-Italic            CID TrueType      yes yes yes   1669  0

WFNBKS+HiraMinPro-W3-Identity-H      CID Type 0C       yes yes no    1677  0

WFNBKS+HiraMinPro-W3-Identity-V      CID Type 0C       yes yes no    1678  0

GSOTQH+HoeflerText-Italic            CID TrueType      yes yes yes   1692  0

HKOJSU+CMSS12                        Type 1            yes yes no    1713  0

NUJASE+Zapfino                       CID TrueType      yes yes yes   1718  0

UTHHRY+TeXGyrePagella-Regular-Identity-H CID Type 0C       yes yes yes   1726  0

BSCRTV+HoeflerText-Regular           CID TrueType      yes yes yes   1741  0

IUTYTP+HoeflerText-Italic            CID TrueType      yes yes yes   1742  0

KIDNQE+LinLibertineO                 CID Type 0C       yes yes yes   1756  0

EJDEJC+EUSM10                        Type 1            yes yes no    1805  0


2. pdf 문서 가운데 특정 페이지에 사용된 폰트를 알아내는 법

  • adobe reader를 이용해야하만 하는 상황이라면 해당 페이지만을 추출해서 따로 저장하고 ctrl+D를 눌러 폰트 리스트를 들여다 보는 것이다. pdf 문서에서 일부 페이지만을 추출하는 방법은 많이 있기 때문에 따로 메모해두지 않는다. 
  • pdffonts를 사용한다면 일부 페이지의 시작쪽(-f)과 끝쪽(-l)을 지정해줄 수 있다. 예를 들어 fontspec.pdf의 마지막 페이지인 123쪽에 사용된 폰트를 알고자 하면 

    > pdffonts -f 123 -l 123 fontspec.pdf

name                                 type              emb sub uni object ID

------------------------------------ ----------------- --- --- --- ---------

MTJBCO+TeXGyrePagella-Bold           Type 1            yes yes no     524  0

EXZINA+TeXGyrePagella-Regular        Type 1            yes yes no     520  0

JDCENQ+CMSY10                        Type 1            yes yes no     640  0

GQHSTP+CMSS9                         Type 1            yes yes no     604  0

IMSHRR+Inconsolata-zi4r              Type 1            yes yes no     523  0

SABXOM+EURM10                        Type 1            yes yes no     772  0





3. 특정 폰트가 pdf 문서의 어느(몇) 페이지에 사용되었는지 알아내는 방법

  • adobe reader 또는 acrobat professional이 있어도 어떻게 하는지 잘 모르겠다. (몰라 몰라, 정말 몰라)
  • pdffonts를 사용한다면... 각 쪽의 폰트 정보를 텍스트 파일에 기록하고, 거기서 "찾기"로 특정 폰트 네임을 검색해본다. 앞의 fontspec.pdf은 123쪽짜리 pdf이다. 이에 대해 각 쪽마다 pdffonts 명령을 먹인다. 
    > pdffonts -f 1 -l 1 fontspec.pdf
    > pdffonts -f 2 -l 2 fontspec.pdf
    ...
    > pdffonts -f 123 -l 123 fontspec.pdf

무려 123번씩이나 돌리고 여기서 나오는 메시지를 다 기록해놔야한다. :(
이를 좀 간단히 하려면 다음과 같이 루프를 돌리면 되겠다. (참고: http://goo.gl/h2Y9AL)


for /l %i in (1,1,123) do (echo.PAGE %i & pdffonts -f %i -l %i "c:\usr\texlive\2015\texmf-dist\doc\latex\fontspec\fontspec.pdf") >> used_fonts_list_per_page.txt


이러면 used_fonts_list_per_pages.txt에 1쪽부터 123쪽까지 pdffonts 명령을 실행한 결과를 연이어 기록해준다. 

리다이렉션 명령 ">" 1개짜리는 파일을 덮어써서 기록해주고 ">>" 2개짜리는 앞의 내용 다음에 이를 이어서 써준다.


(참고로 위에서는 fontspec.pdf 있는 폴더에서 명령을 실행하지 않고, 이 파일이 있는 경로 "c:\usr\texlive\2015\texmf-dist\doc\latex\fontspec\fontspec.pdf"를 명시적으로 지정해서 pdffonts 명령을 내렸다.)


이렇게 얻은 used_fonts_list_per_pages.txt의 내용은 다음과 같다.


PAGE 1 

name                                 type              emb sub uni object ID

------------------------------------ ----------------- --- --- --- ---------

EXZINA+TeXGyrePagella-Regular        Type 1            yes yes no     520  0

ZYZYSZ+CMSS17                        Type 1            yes yes no     521  0

EXZINA+TeXGyrePagella-Regular        Type 1            yes yes no     522  0

IMSHRR+Inconsolata-zi4r              Type 1            yes yes no     523  0

MTJBCO+TeXGyrePagella-Bold           Type 1            yes yes no     524  0

PAGE 2 

name                                 type              emb sub uni object ID

------------------------------------ ----------------- --- --- --- ---------

EXZINA+TeXGyrePagella-Regular        Type 1            yes yes no     520  0

MTJBCO+TeXGyrePagella-Bold           Type 1            yes yes no     524  0

EXZINA+TeXGyrePagella-Regular        Type 1            yes yes no     522  0

MTJBCO+TeXGyrePagella-Bold           Type 1            yes yes no     603  0

GQHSTP+CMSS9                         Type 1            yes yes no     604  0

XCOHXD+EURB10                        Type 1            yes yes no     607  0

MYKISV+Inconsolata-zi4b              Type 1            yes yes no     609  0

IMSHRR+Inconsolata-zi4r              Type 1            yes yes no     523  0

PAGE 3 

name                                 type              emb sub uni object ID

------------------------------------ ----------------- --- --- --- ---------

MTJBCO+TeXGyrePagella-Bold           Type 1            yes yes no     524  0

EXZINA+TeXGyrePagella-Regular        Type 1            yes yes no     520  0

GQHSTP+CMSS9                         Type 1            yes yes no     604  0

EXZINA+TeXGyrePagella-Regular        Type 1            yes yes no     522  0

IMSHRR+Inconsolata-zi4r              Type 1            yes yes no     523  0

PAGE 4 

name                                 type              emb sub uni object ID

------------------------------------ ----------------- --- --- --- ---------

EXZINA+TeXGyrePagella-Regular        Type 1            yes yes no     520  0

MTJBCO+TeXGyrePagella-Bold           Type 1            yes yes no     524  0

IMSHRR+Inconsolata-zi4r              Type 1            yes yes no     523  0

TJJKDI+CMSS10                        Type 1            yes yes no     624  0

GQHSTP+CMSS9                         Type 1            yes yes no     604  0

MUQUFV+TeXGyrePagella-Italic         Type 1            yes yes no     627  0

ZEZMZP+CMSSI9                        Type 1            yes yes no     629  0

PAGE 5 

name                                 type              emb sub uni object ID

------------------------------------ ----------------- --- --- --- ---------

GQHSTP+CMSS9                         Type 1            yes yes no     604  0

EXZINA+TeXGyrePagella-Regular        Type 1            yes yes no     520  0

IMSHRR+Inconsolata-zi4r              Type 1            yes yes no     523  0

MTJBCO+TeXGyrePagella-Bold           Type 1            yes yes no     524  0

MUQUFV+TeXGyrePagella-Italic         Type 1            yes yes no     627  0

JNZSYH+EUSM7                         Type 1            yes yes no     639  0

JDCENQ+CMSY10                        Type 1            yes yes no     640  0

JLYCIS+TeXGyreBonum-Regular          CID Type 0C       yes yes yes    643  0

MOBWHA+LMSans10-Regular              CID Type 0C       yes yes yes    644  0

SDXROQ+Inconsolata                   CID Type 0C       yes yes yes    645  0


(중략)


PAGE 33 

name                                 type              emb sub uni object ID

------------------------------------ ----------------- --- --- --- ---------

EXZINA+TeXGyrePagella-Regular        Type 1            yes yes no     520  0

IMSHRR+Inconsolata-zi4r              Type 1            yes yes no     523  0

GQHSTP+CMSS9                         Type 1            yes yes no     604  0

MTJBCO+TeXGyrePagella-Bold           Type 1            yes yes no     524  0

EXZINA+TeXGyrePagella-Regular        Type 1            yes yes no     522  0

BTUTUP+HiraMinPro-W3-Identity-H      CID Type 0C       yes yes no    1423  0

PAGE 34 

name                                 type              emb sub uni object ID

------------------------------------ ----------------- --- --- --- ---------

GQHSTP+CMSS9                         Type 1            yes yes no     604  0

EXZINA+TeXGyrePagella-Regular        Type 1            yes yes no     520  0

IMSHRR+Inconsolata-zi4r              Type 1            yes yes no     523  0

MTJBCO+TeXGyrePagella-Bold           Type 1            yes yes no     524  0

XEHQDL+HiraMinPro-W3-Identity-H      CID Type 0C       yes yes no    1443  0

EDCACI+HiraMinPro-W3-Identity-H      CID Type 0C       yes yes no    1450  0


(중략)


PAGE 122 

name                                 type              emb sub uni object ID

------------------------------------ ----------------- --- --- --- ---------

EXZINA+TeXGyrePagella-Regular        Type 1            yes yes no     520  0

IMSHRR+Inconsolata-zi4r              Type 1            yes yes no     523  0

GQHSTP+CMSS9                         Type 1            yes yes no     604  0

MTJBCO+TeXGyrePagella-Bold           Type 1            yes yes no     524  0

MYKISV+Inconsolata-zi4b              Type 1            yes yes no     609  0

JDCENQ+CMSY10                        Type 1            yes yes no     640  0

SABXOM+EURM10                        Type 1            yes yes no     772  0

PAGE 123 

name                                 type              emb sub uni object ID

------------------------------------ ----------------- --- --- --- ---------

MTJBCO+TeXGyrePagella-Bold           Type 1            yes yes no     524  0

EXZINA+TeXGyrePagella-Regular        Type 1            yes yes no     520  0

JDCENQ+CMSY10                        Type 1            yes yes no     640  0

GQHSTP+CMSS9                         Type 1            yes yes no     604  0

IMSHRR+Inconsolata-zi4r              Type 1            yes yes no     523  0

SABXOM+EURM10                        Type 1            yes yes no     772  0


여기서 Hiragino Mincho Pro가 어느 쪽에 사용되었는지 검색해보면 된다. 실제 검색은 "HiraMinPro"로 검색한다. 포스트스크립트 폰트 네임인 듯. 


Finding_Hiragino_Mincho_Pro.png


fontspec.pdf에서는 30쪽, 33~34쪽, 43쪽에 쓰였다. 


fontspec_pp_30_33_34_43.png



===


좀더 간단한 방법이 있을텐데 배치파일이나 루프문 따위에 익숙하지 않은터라 이 정도로 만족한다.




XE Login