Q&A 마당은 텍 관련 질문/답변을 위해 만들었습니다.
- 로그인 없이 자유롭게 글을 읽고 쓸 수 있는 철학은 처음과 같이 계속됩니다.
- 질문 전에 아래를 읽어 보세요. 좋은 질문이 좋은 답을 받을 수 있는 좋은 방법입니다.
- 질문에 맞는 제목을 붙이세요. 질문의 내용과 관련없는 "고수님", "긴급질문", "도와주세요"와 같은 제목은 답이 잘 올라오지 않습니다. 이 게시판에 올라오는 모든 글은 질문입니다. 굳이 [질문], [Q]를 적으실 필요도 없습니다.
- 내용을 충실히 적어 주시고, 같은 상황을 재현할 수 있는 최소한의 예제가 같이 있어야 합니다.
- 최소 예제는 "Minimal working example"을 읽어 보세요.
- 파일을 첨부하실 때에는 가능한 압축하여 파일 크기를 줄여서 올려주시길 바랍니다.
- 개인적으로 사용하신 글꼴이 들어 있는 경우, preparefont.sty에 관한 답변을 참조하세요.
- 스팸 글을 막기 위하여 짧은 시간 내에 다시 글이 등록되는 IP를 막거나, 광고 글을 막기 위하여 금지어로 .com, .net 등을 설정하고 있습니다. 다소간의 불편함이 있으시더라도 양해 바랍니다.
- 금지어에서 stackexchange, stackoverflow, ctan, overleaf, , github, google.com, gmail.com, .org, .io, sil.org, wiki.com, tistory.com등은 해제하였습니다.
- MathJax를 이용한 수식조판을 사용하실 수 있습니다. 여기를 참조하세요.
- 사용하는 편집기는 CKeditor입니다.
- 편집기에서 [enter]를 누르면 <p> 태그가 들어가고, 문단으로 생각하고 한 줄을 비웁니다.
- 글줄만 바꾸려면 [shift-enter]를 누르면 <BR> 태그가 들어가므로 용도에 맞게 나누어 쓸 수 있습니다.
- 수식를 문서내에 삽입하시려면 에디터를 툴바에서 [소스]를 눌러 HTML로 입력할 수 있게 바꾸신 후 <pre> </pre> tag를 사용하셔서 <pre> 여러 줄의 수식 </pre>처럼 입력하시면 좋습니다.
xelatex에서 fallbackhanja를 사용할 경우 fontspec2.9c이라면 확인하여 보셔야 할 것
2024.05.15 11:23
이 글을 질문에 올려야 하는 것인지 망설이다가 자유글에 올립니다.
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"로 옮깁니다.
댓글 3
-
noname
2024.05.15 15:06
-
likesam
2024.05.15 17:29
아, 중요한 version관련 내용이 빠졌군요.
OS : windows 10
TeX : TeX Live 2024
fontspec : 2.9c
xetexko : 4.3집에서 windows 11 + MiKTeX에서는 이상없이 돌아가던데, fontspec의 version까지는 확인하지 않았습니다.
-
likesam
2024.05.15 17:39
방금전 update를 확인하니 fontspec 2.9e로 update되었네요. update를 하고 나니, 문제가 없어졌습니다.
\setmainhangulfont{NotoSansCJKkr-Regular.otf}[BoldFont=HANDotum-LVT.ttf]
위 처럼 섞어도 문제가 없네요. 혹시 숨어있던 bug일까하여 적어본 글이었는데, 사소한 일이었네요. ^^
일단 저는 그런 문제를 겪지 못했습니다. ;)
MiKTeX에서 테스트했고 LaTeX은 2023-11-01, l3kernel은 2024-04-11, fontspec은 2024-05-07, 2.9d입니다.
noto cjk 폰트는 %localappdata%\Microsoft\Windows\Fonts에 있습니다.
Mac OS에서도 시도해봤는데 역시 문제가 발생하지 않았습니다.... 이쪽의 경우는 fontspec이 2024-05-11 (2.9e)입니다.
참고로, WSL 리눅스에서도 테스트해봤는데, noto cjk kr의 otf 폰트가 적절한 위치에 있고 texmf cnf의 OSFONTDIR 변수가 잘 설정되어 있으면 문제 없어보입니다.
... 그런데 저는 texlive/windows 테스트는 못해봤습니다...