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가 잘 작동할 거라 생각합니다.

번호 제목 글쓴이 날짜 조회 수
1084 [공지] 한국텍학회 회원들께 알립니다. 관리자 2009.12.19 65906
1083 PDFTiger Time-limited Giveaway [1] Progress 2010.10.18 65287
1082 fontspec 패키지에서 AAT 속성 폰트 투명도(alpha transparency) 구현 관련 [3] file Progress 2010.04.15 63984
1081 2019 한국텍학회 제12차 정기총회 및 학술대회 [2] file yihoze 2019.01.04 61688
1080 구운몽 경판본 소스와 pdf [6] file karnes 2010.03.07 61015
1079 [알림] 강윤복 회원님을 찾습니다 ChoF 2011.01.11 60082
1078 후기: 학국텍학회 학술대회 [3] yihoze 2011.02.14 59712
1077 eso-pic memoir [6] yihoze 2010.10.06 59131
1076 심심풀이 링크 file yihoze 2010.08.19 58525
1075 [잡담] 스마트폰 쓰시는 분들을 위한 괜찮은 무료 LaTeX 어플 [2] anarinsk 2011.02.16 57564
1074 Windows 사용자를 위한 TeX Live 2012 + ko.TeX 설치 일괄 처리 배치파일 [13] file 관리자 2012.07.11 56482
1073 TeXworks 출시 예정 버전 번역 테스트 [3] file DohyunKim 2011.02.07 56423
1072 [풀이] 워크숍 숙제 (오후 첫 번째 시간 curve2e 관련) [8] file Progress 2010.11.09 56299
1071 [공지] spam 댓글로 발생하는 문제를 개선하기 위하여 초기화면의 게시글 정렬순서를 변경합니다. [3] 관리자 2011.11.21 56086
1070 함초롬으로 이런 것도 가능한가요? [2] file 에드 2011.02.23 55336
1069 도약을 기대하며... [9] ischo 2011.02.28 54969
1068 [잡담] Amazon Kindle질렀습니다. [15] 양사장 2010.10.30 54420
1067 [잡담]우연히 눈에 들어온 사소한 것 3가지. [4] Kunggom 2010.03.04 54108
1066 학술대회 홈페이지를 방문하시면 progress 2011.02.16 53754
1065 텍만이 할 수 있는 것 [1] yihoze 2011.02.22 53484



XE Login