이 글을 질문에 올려야 하는 것인지 망설이다가 자유글에 올립니다.
xetexko를 사용할 때 유용한 기능중 한 가지인 fallbackhanja를 정의하여 사용하여 왔습니다. 사용된 경우는 없었지만 마음에 평화를 얻을수 있으니까요. 대략 코드는 아래와 같았습니다.
% !TeX program = xelatex \documentclass{article} \usepackage{xetexko} % or kotex \usepackage{jiwonlipsum} \defaultfontfeatures{Ligatures=TeX, % Mapping = tex-text, Renderer=OpenType, BoldFont=NotoSansCJKkr-Regular.otf, } \setmainhangulfont{NotoSansCJKkr-Light.otf}[Script=Hangul, Language=Korean] \newfontfamily{\fallbackhanjafont}{HANDotum-LVT.ttf}[Color=FF4040] \pagestyle{empty} \begin{document} \jiwon \end{document}
그런데 이 코드가 2024년 5월 초순경 TeX Live 업데이트후 아래와 같이 에러가 나기 시작하였습니다.
[c:\temp\tmp\test]xelatex receipt.tex This is XeTeX, Version 3.141592653-2.6-0.999996 (TeX Live 2024) (preloaded format=xelatex) restricted \write18 enabled. entering extended mode (./receipt.tex LaTeX2e <2023-11-01> patch level 1 L3 programming layer <2024-04-11> (c:/bin/TeXLive/2024/texmf-dist/tex/latex/base/article.cls Document Class: article 2023/05/17 v1.4n Standard LaTeX document class ... 중략 ... (c:/bin/TeXLive/2024/texmf-dist/tex/latex/fontspec/fontspec.sty ... 중략 ... (c:/bin/TeXLive/2024/texmf-dist/tex/latex/jiwonlipsum/jiwonlipsum.sty) ! Package fontspec Error: (fontspec) The font "HANDotum-LVT" cannot be found; this may (fontspec) be but usually is not a fontspec bug. Either there (fontspec) is a typo in the font name/file, the font is not (fontspec) installed (correctly), or there is a bug in the (fontspec) underlying font loading engine (XeTeX/luaotfload). For immediate help type H . ... l.10 ...hanjafont}{HANDotum-LVT.ttf}[Color=FF4040] ?
무엇이 문제인지 찾으려 이것 저것을 빼고 넣어보던 중 defaultfontfeatures 에서 BoldFont를 빼면 이상없이 동작하는 것을 발견하였습니다.
\defaultfontfeatures{Ligatures=TeX, % Mapping = tex-text, Renderer=OpenType, % BoldFont=NotoSansCJKkr-Regular.otf, } ... 중략 ... \newfontfamily{\fallbackhanjafont}{HANDotum-LVT.ttf}[Color=FF4040]
혹은 fallbackhanj에 Bold용 글꼴을 지정하여 주거나요.
\documentclass{article} \usepackage{kotex} \usepackage{jiwonlipsum} \defaultfontfeatures{Ligatures=TeX, % Mapping = tex-text, Renderer=OpenType, BoldFont=NotoSansCJKkr-Regular.otf, } \setmainhangulfont{NotoSansCJKkr-Light.otf}[Script=Hangul, Language=Korean] \newfontfamily{\fallbackhanjafont}{HANDotum-LVT.ttf}[Color=FF4040, BoldFont=HANDotumB-LVT.ttf] \pagestyle{empty} \begin{document} \jiwon \end{document}
대략 defaultfontfeat로 BoldFont로 OpenType 글꼴을 넣어 두었는데, fallbackhanja에는 TrueType font만 지정하였으니, newfontfamily로 fallbackhanja를 새로운 fontamaily지정하면서
기본 글꼴에는 TrueType으로 넣고
Bold 글꼴에는 OpenType으로
석여서 문제가 된 것으로 추측하였습니다. ( 글꼴 이름을 부르는 방식에 따른 차이등은 생각하여 보지 않았습니다. )
그래서 fallbackhanja에도 BoldFont로 TrueType을 지정하니 문제는 넘어갑니다.
OpenType 과 TrueType 글꼴을 섞어서 쓰시는 경우 혹시 저와 같은 문제를 만나시면 참조하시라고 기록을 남겨 둡니다.
( 저처럼 미련하게 쓰시지 말라는 의미가 더 큽니다만... 혹시 OpenType + TrueType은 될 까하여
\setmainhangulfont{NotoSansCJKkr-Light.otf}[Script=Hangul, Language=Korean, BoldFont=HANDotumB-LVT.ttf] 처럼 넣어 보니 NotoSansCJKkr-Light 글꼴을 찾을 수 없다고 나옵니다. ^^ )
---
fontspec이 2.9c에서 2.9e로 업데이트되면서 해당 문제가 없어졌다고 하여 "자유글"에서 "QnA"로 옮깁니다.
KTUG 한국 텍 사용자 그룹