dohyunkim / luatexko

typeset Korean with lua(la)tex
10 stars 1 forks source link

LuaTeX-ko 간단 메뉴얼에서 #6

Open sjnam opened 4 years ago

sjnam commented 4 years ago

https://github.com/dohyunkim/luatexko/blob/master/luatexko-doc.tex#L138

1 부르기 에서

TEX Live 2020 이상 (LuaTEX v1.12 이상)을 사용해야 한다.

현재 텍라이브 버전은 2019이고 그의 루아텍 버전은 1.10.0 인데, 현재 텍라이브의 루아텍에서는 동작하지 않는 기능이 있다는 뜻인가요.

dohyunkim commented 4 years ago

luatexko가 제공하는 기능만 말하자면 TL2019에서도 다 동작합니다.

하지만 다음에 보인 예제를 최신 업데이트된 TL2019에서 lualatex으로 컴파일하면 맨 마지막 단계에서 ttc 폰트가 처리되지 못하고 에러가 납니다.

\documentclass{article}
\usepackage{fontspec}
\setmainfont{Noto Sans CJK KR}[Renderer=HarfBuzz]
\setsansfont{Noto Sans CJK KR}[Renderer=Node]
\begin{document}
가나다.
\sffamily 가나다.
\end{document}
This is LuaTeX, Version 1.10.0 (TeX Live 2019)
 restricted system commands enabled.
(./hb.tex
LaTeX2e <2020-02-02> patch level 2
 L3 programming layer <2020-02-14>
(/usr/local/texlive/2019/texmf-dist/tex/latex/base/article.cls
Document Class: article 2019/12/20 v1.4l Standard LaTeX document class
(/usr/local/texlive/2019/texmf-dist/tex/latex/base/size10.clo))
(/usr/local/texlive/2019/texmf-dist/tex/latex/fontspec/fontspec.sty
(/usr/local/texlive/2019/texmf-dist/tex/latex/l3packages/xparse/xparse.sty
(/usr/local/texlive/2019/texmf-dist/tex/latex/l3kernel/expl3.sty
(/usr/local/texlive/2019/texmf-dist/tex/latex/l3backend/l3backend-pdfmode.def))
) (/usr/local/texlive/2019/texmf-dist/tex/latex/fontspec/fontspec-luatex.sty
(/usr/local/texlive/2019/texmf-dist/tex/latex/base/fontenc.sty)
(/usr/local/texlive/2019/texmf-dist/tex/latex/fontspec/fontspec.cfg)))
(./hb.aux) (/usr/local/texlive/2019/texmf-dist/tex/latex/base/ts1cmr.fd)
[1{/usr/local/texlive/2019/texmf-var/fonts/map/pdftex/updmap/pdftex.map}]
(./hb.aux))
 406 words of node memory still in use:
   3 hlist, 1 vlist, 1 rule, 2 glue, 3 kern, 1 glyph, 4 attribute, 48 glue_spec
, 4 attribute_list, 1 write nodes
   avail lists: 1:1,2:17,3:2,4:1,5:21,6:1,7:22,9:7
</Users/nomosnomos/Library/Fonts/NotoSansCJK.ttc></Users/nomosnomos/Library/Fon
ts/NotoSansCJK.ttc>
! error:  (file /Users/nomosnomos/Library/Fonts/NotoSansCJK.ttc) (fontloader):
font loading failed unexpectedly
!  ==> Fatal error occurred, no output PDF file produced!

아마도 이것은 luahbtex을 지원하기 위해 새로 들어간 코드가 기존의 luatex 엔진과 맞지 않게 되었기 때문일 것입니다. https://github.com/latex3/luaotfload/issues/107 을 참고하세요.

요컨대 기존 luatex 엔진으로는 동일한 ttc 폰트에 대해 harfbuzz 모드와 node 모드를 함께 쓸 수 없게 되었습니다. 그러나 luahbtex 엔진에서는 이런 문제가 없습니다. 따라서 위 예제를 제대로 컴파일하려면 현재로는 lualatex-dev를 이용해야만 합니다. 그리고 lualatex-dev는 TL2020에서 lualatex이 될 예정으로 있습니다.

이 모든 것을 간단매뉴얼에서 설명하는 것은 마땅치 않기 때문에 그저 TL2020을 써야한다고만 적었던 것입니다.

dohyunkim commented 4 years ago

앞의 답글에서 수정해야 할 게 있네요. 엄밀히 말하면 ttc 폰트를 harf 모드로는 쓸 수 없다고 해야 맞습니다. 가령, 다음 예제만으로도 이미 lualatex-dev로만 컴파일 가능합니다.

\documentclass{article}
\usepackage{fontspec}
\setmainfont{Noto Sans CJK KR}[Renderer=HarfBuzz]
\begin{document}
가나다.
\end{document}