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>가 들어가므로 용도에 맞게 나누어 쓸 수 있습니다.
운영체제: 윈도7 32비트

지난 1월, 국가수리과학연구소에서 열린 KTS 학술대회에서 김도현 회장님께서 '어떤 텍을 주로 사용하시는가?'에 대한 질문에 '요즘 루아텍을 주로 쓰고 있노라'하신 것을 기억하시는 분이 있을 겁니다. 
루아텍 홍보(?) 차원에서 루아텍 Font names database 하는 법을 보고 드립니다. 

1. Font names database

아시다시피 지텍을 쓸 때 폰트 캐시(fc-cache)를 해주던 것과 비슷하게 루아텍을 사용할 때도 폰트 네임 DB를 구축해야합니다. 
루아텍에서 트루타입폰트(ttf) 또는 오픈타이폰트(otf)를 사용하려면 luaotfload라는 패키지를 얹어야합니다. 
우리 luatex-ko 패키지는 이를 자동으로 불러옵니다. (정확히는 luatexko-core.sty에서 이를 불러옴)

luaotfload 패키지 매뉴얼 5절에 보면 Font names database에 관한 방법이 나와있습니다. 

> luaotfload-tool --update (또는 luaotfload-tool -u)

(과거엔 luaotfload-tool이라는 명령 대신 mkluatexfontdb 명령을 사용하던 시절이 있었고 두 명령 모두 동일한 작동을 했습니다만, 텍라이브 2015 pretest는 더이상 mkluatexfontdb 명령을 지원하지 않습니다.)

한걸음 더 나아가 다음과 같이 명령을 내려봅니다. 

> luaotfload-tool -f -u -vvv

이렇게 폰트 네임 데이터베이스가 성공적으로 구축되면 말미에 대략 다음과 같은 메시지가 나옵니다. 

luaotfload | db : Found 1596 font files; 798 new entries.
luaotfload | db : Creating filename map.
luaotfload | db : Analyzing families.
luaotfload | db : Analyzing shapes, weights, and styles.
luaotfload | db : Ordering design sizes.
luaotfload | db : Rebuilt in 87888 ms.
luaotfload | db : Font index saved at ...
luaotfload | db : Gzip: C:/usr/texlive/2015/texmf-var/luatex-cache/generic/names/luaotfload-names.lua.gz
luaotfload | db : Byte: C:/usr/texlive/2015/texmf-var/luatex-cache/generic/names/luaotfload-names.luc
luaotfload | cache : Lookup cache saved.
luaotfload | cache : Lookup cache emptied.
luaotfload | db : Fonts in the database: 820
luaotfload | util : Task completed successfully.


실제로 luaotfload-names.lua.gz에 있는 luaotfload-names.lua를 에디터로 열어보면 사용자 컴퓨터에 있는 폰트와 TDS가 인식하는 폰트의 목록이 주루룩 나옵니다.


luaotfload-tool.png




그런데 한글 폰트 중에 말썽을 일으키는 폰트가 있습니다. 소위 culprit 폰트. 
이런 것들은 블랙리스트에 명단을 올려서 luaotfload-tool을 실행할 때 걸림돌이 되지 않도록 해야합니다. 
대표적인 것이 펜흘림(PENHL.TTF), 태나무(TAENMR.TTF) 등의 폰트인데요, 이들 culprit 폰트는 다음 경로에 luaotfload-blacklist. cnf 파일을 만들고 등록해줍니다.

C:\usr\texlive\texmf-local\tex\luatex\luaotfload

texmf-local 폴더의 하위로 만들어 놓는 게 향후 텍라이브를 관리할 때 좋습니다. 텍라이브를 재설치하는 경우 texmf-local 폴더 이하는 지울 필요가 없으니까요. 어쨌든 저의 경우 luaotfload-blacklist. cnf의 내용은 다음과 같습니다. 

spltfgbd.ttf
spltfgbi.ttf
spltfgit.ttf
spltfgrg.ttf
PENHL.TTF
TAENMR.TTF

예전엔 PENHL.TTF를 penhl.ttf처럼 모두 소문자로 적어줘야 되었는데, 지금은 대문자도 잘 인식하더라고요. 어쨌든 culprit 폰트가 있다면 luaotfloat-tool 명령이 성공적으로 종료되지 않고 luaotfload-names.luc나  luaotfload-names.lua.gz 파일도 생성되지 않습니다. 


2. culprit 폰트를 알아내는 법
culprit 폰트를 발견하려면 윈도 powershell에서 다음과 같이 해봅니다. 

> luaotfload-tool -f -u -vvv | tee blacklist.log

그러면 화면에 나오는 메시지는 모두 blacklist.log에 기록됩니다. 이를 나중에 culprit 폰트를 발견할 때 써먹어야합니다. 어느 부분에서 더이상 luaotfload-tool이 기능을 못하고 멎어버렸는지 살펴봐야 합니다. 참고로 아주 오래전 윤고딕이나 윤명조 100번대 시리즈의 폰트(예: YGO120.TTF 따위)도 culprit 폰트이니 블랙리스트에 올려놓는 것이 안전할 것입니다. 

한편 메시지를 살펴보면 다음과 같이 '포스트스크립트 폰트 네임'이 유효하지 않다는 폰트도 열거될 수 있습니다. 

(중략)
luaotfload | db : gaesung.ttf has invalid postscript font names, using dummies.
luaotfload | db : gulim.ttc has invalid postscript font names, using dummies.
luaotfload | db : hbatang.ttf has invalid postscript font names, using dummies.
luaotfload | db : hdotum.ttf has invalid postscript font names, using dummies.
luaotfload | db : hmkba.ttf has invalid postscript font names, using dummies.
luaotfload | db : hmkbexpo.ttf has invalid postscript font names, using dummies.
luaotfload | db : hmkla.ttf has invalid postscript font names, using dummies.
luaotfload | db : hmklexpo.ttf has invalid postscript font names, using dummies
(중략)


이런 폰트는 uaotfload-blacklist. cnf에 등재하지는 않아도 luatex 실행에는 문제가 없습니다.

 
3. luatexko의 자동조사

텍라이브 2015 pretest에 있는 luatexko는 자동조사가 조금 에러가 있는데요. 
c:/usr/texlive/2015/texmf-dist/tex/luatex/luatexko/luatexko-core.sty 있는 파일을 다음 파일로 고쳐놓으면 잘 작동합니다. 


%% test_auto_josa.tex
\documentclass{article}

\usepackage[hangul]{kotex}

\setmainhangulfont{HCR Batang LVT}
% \setmainhangulfont{easop.ttf}

\begin{document}

\section{자동 조사}\label{sec:auto_josa}

\ref{sec:auto_josa}\은 \ref{sec:auto_josa}\는 

\ref{sec:auto_josa}\이 \ref{sec:auto_josa}\가 

\ref{sec:auto_josa}\을 \ref{sec:auto_josa}\를 

\ref{sec:auto_josa}\와 \ref{sec:auto_josa}\과 

\ref{sec:auto_josa}\로 \ref{sec:auto_josa}\으로 

\ref{sec:auto_josa}\라 \ref{sec:auto_josa}\이라

\end{document}


luatex_auto_josa.png




나중에는 텍라이브 2015가 확정되면 아마 tlmgr을 업데이트하는 것만으로 luatex-ko가 잘 작동할 거라 생각합니다.

번호 제목 글쓴이 날짜 조회 수
549 <피지컬 리뷰> LaTeX 한글 포함 조판 [5] 두텁 2014.10.29 4840
548 KTUG 위키 작업 관련 [13] nanim 2014.10.22 7433
547 함초롬체 2014년 버전이 공개되었네요. [2] 함초롬 2014.10.19 5305
546 첨부파일 초과.. [13] 처음처럼 2014.10.11 5347
545 MiKTeX 이나 TeXLive 에서 biber.exe 설치나 업데이트 에러 [1] file 쿠피 2014.10.09 5224
544 [참가신청-수정] 문서작성 워크숍 2014 A & B [8] file ischo 2014.10.03 5126
543 KATEX: The fastest math typesetting library for the web. 에드 2014.10.03 4881
542 ‘나눔옛한글’과 ‘나눔바른펜’ 공개 [4] 에드 2014.10.03 8593
541 하나조노 민초 폰트의 글리프 품위 [9] file Progress 2014.10.02 5279
540 새로운 한글 폰트(라이센스: OFL) [1] 에드 2014.09.26 5316
539 [KTUG Rumor] 문서작성 워크숍은 언제? [5] ischo 2014.09.25 5300
538 Windows 사용자를 위한 (ko.)TeX Live 2014 관련 안내 [1] 관리자 2014.09.23 43252
537 TnXTeX DVD를 소개합니다. nanim 2014.09.23 4453
536 폰트 라이선스 [4] yihoze 2014.09.22 4704
535 TnXTeX 다운로드 링크 [14] nanim 2014.08.13 8560
534 텍라이브 업데이트 후 "\ifx가가" 에러 [7] ischo 2014.08.01 6828
533 케이턱.가 [4] nanim 2014.07.25 5874
532 ichingforyou 확장판 [3] file nanim 2014.07.25 21636
531 IP차단, 어떻게해야하나요? [6] xylosper 2014.07.22 15357
530 본고딕(Source Han Sans) 소개: 오픈 소스 한중일 통합 서체 [11] 에드 2014.07.16 18408



XE Login