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

번호 제목 글쓴이 날짜 조회 수
406 KTUG banner 너무 흐려요. 선명한 배너 화질은 얻을 수 없는가요? [7] doob 2014.03.18 6526
405 fontforge 한국어 설명? 세벌 2016.02.23 6526
404 흠.. 뭔가를 시도하려 했습니다만... 더이상 진행하지 않고 놔두기로 했습니다.. 불량양파 2016.12.16 6523
403 아름다운 사인 곡선 [21] file nanim 2015.06.23 6520
402 TeX 3.14159265 [3] nanim 2014.04.23 6509
401 [종료] 한국텍학회 설립 10주년 기념문집 발간 관련 [11] file 관리자 2016.11.30 6499
400 2016 한국텍학회 정기총회 및 KTUG 컨퍼런스 [5] 관리자 2016.01.18 6432
399 includegraphicsonthefly [10] file nanim 2014.06.29 6404
398 [luatex] 행운의 번호는? [13] file yihoze 2018.11.23 6386
397 Beamer와 MS Office [3] dynamics 2013.05.09 6380
396 국내의 새 CTAN 미러를 찾았습니다. [4] 베이드프즈 2017.10.11 6374
395 한국텍학회 정기총회 및 학술대회의 발표자 및 주제 공모 [1] yihoze 2018.12.24 6373
394 빙그레체 무료 배포 [3] 작나 2017.10.14 6373
393 오늘 정말 감사했습니다. [2] file 불량양파 2018.11.17 6360
392 TeX 사용인구의 잠재성 [4] 하늘연 2018.12.20 6347
391 TeX Live 2016에서 KTUG 사설저장소 이용시 유의사항 [7] DohyunKim 2016.05.27 6323
390 조건부 텍스트 [6] file yihoze 2018.08.21 6287
389 KTS 10주년 기념 문집 [8] file yihoze 2017.02.15 6246
388 [테스트요청] ob-mathleading [3] file noname 2018.12.24 6237
387 워드, 인디자인, 그리고 레이텍 [1] yihoze 2018.08.28 6232



XE Login