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>가 들어가므로 용도에 맞게 나누어 쓸 수 있습니다.
정보글 pdf 문서의 특정 페이지에 사용된 폰트 알아내기
2015.06.23 19:58
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"로 검색한다. 포스트스크립트 폰트 네임인 듯.
fontspec.pdf에서는 30쪽, 33~34쪽, 43쪽에 쓰였다.
===
좀더 간단한 방법이 있을텐데 배치파일이나 루프문 따위에 익숙하지 않은터라 이 정도로 만족한다.
댓글 0
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
639 | 바퀴 [2] | yihoze | 2015.06.29 | 4124 |
638 | 스타일 파일을 찾아 열기 [2] | yihoze | 2015.06.26 | 4571 |
637 | 아름다운 사인 곡선 [21] | nanim | 2015.06.23 | 6706 |
636 | 설문 [4] | yihoze | 2015.06.26 | 4155 |
635 | 텍신디를 쓸 때 색인 표제어를 PDF 책갈피에 넣기 | yihoze | 2015.06.23 | 5644 |
634 | 퀴즈: 이 그리스 고전은 무엇일까요? [5] | yihoze | 2015.06.25 | 4286 |
633 | 스토리보드 만들기 | yihoze | 2015.06.24 | 5849 |
» | pdf 문서의 특정 페이지에 사용된 폰트 알아내기 | Progress | 2015.06.23 | 13168 |
631 | 하이퍼링크 색 | yihoze | 2015.06.23 | 4846 |
630 | 매크로 또는 파일이 존재한다면 | yihoze | 2015.06.23 | 4724 |
629 | (ko.) TeX Live 2014 설치를 권장합니다. [37] | nanim | 2014.07.14 | 122114 |
628 | KTUG 정체성? [20] | 세벌 | 2015.06.19 | 4135 |
627 | 패키지를 만듭시다: 애프터서비스 [5] | nanim | 2015.06.18 | 4151 |
626 | 제가 좀 까칠하기는 하죠? [3] | 세벌 | 2015.06.08 | 3568 |
625 | Simplified Hangulize | nanim | 2015.06.21 | 3950 |
624 | 익명인과 실명인의 논쟁 [1] | 메타 | 2015.06.18 | 3847 |
623 | Windows 사용자를 위한 (ko.)TeX Live 2014 관련 안내 [1] | 관리자 | 2014.09.23 | 43295 |
622 | 국어의 로마자 표기법, 마지막 [7] | nanim | 2015.06.17 | 4252 |
621 | 국어의 로마자 표기법, 전자법 [12] | nanim | 2015.06.16 | 78920 |
620 | 게임 트리 그리기 1-2 [17] | ischo | 2015.06.15 | 12008 |