![LuaLaTeX 및 문자 결합 관련 문제](https://rvso.com/image/335505/LuaLaTeX%20%EB%B0%8F%20%EB%AC%B8%EC%9E%90%20%EA%B2%B0%ED%95%A9%20%EA%B4%80%EB%A0%A8%20%EB%AC%B8%EC%A0%9C.png)
제가 진행 중인 프로젝트에는 다소 특이한 캐릭터인 m̊을 사용해야 합니다. 예를 들어 스웨덴어의 "a with ring"과 달리 이 문자의 미리 결합된 형태는 유니코드에 존재하지 않으며 결합 문자를 통해서만 생성될 수 있습니다. 그러나 이것을 LuaLaTeX와 함께 작동시키는 것은 좌절감을 느끼게 하는 작업이었습니다.
참고로 문제를 일으키는 코드의 예는 다음과 같습니다.
\documentclass{article}
\usepackage{fontspec}
\setmainfont{Charis SIL}
\begin{document}
\r{m}abcdefgh
\end{document}
LuaLaTeX로 이 코드를 컴파일하려고 하면 다음 오류가 발생합니다.
("C:/Program Files (x86)/MiKTeX 2.9/tex/generic/oberdiek/ifluatex.sty"))))
("C:/Program Files (x86)/MiKTeX 2.9/tex/generic/oberdiek/pdftexcmds.sty"
("C:/Program Files (x86)/MiKTeX 2.9/tex/generic/oberdiek/ifpdf.sty")
("C:/Program Files (x86)/MiKTeX 2.9/tex/generic/oberdiek/luatex-loader.sty"
(C:/Program Files (x86)/MiKTeX 2.9/scripts/oberdiek/oberdiek.luatex.lua))))error: ...KTeX 2.9/tex/luatex/luaotfload/fontloader-2016-04-27.lua:13071: attempt to index local 'i' (a nil value)
.
l.9
이제 몇 가지 참고할 사항이 있습니다. 우선 기본 글꼴을 기본값으로 두면 문제가 발생하지 않습니다. m̊은 Latin Modern에서 잘 표시됩니다. 글쎄요, 반지의 배치가 어긋나서 보기에도 좋지 않습니다. 게다가 라틴 모던에는 내 프로젝트에 필요한 다른 캐릭터가 누락되어 있어 실제로는 선택 사항이 아닙니다. 이제 이로 인해 Charis SIL 글꼴이 책임이 있다고 결론을 내릴 수 있지만 실제로 XeLaTeX를 사용하여 정확히 동일한 코드를 컴파일하면 제대로 작동하고 예상한 출력이 생성됩니다.
내가 추론한 바에 따르면 문제는 커닝이나 그와 유사한 것과 관련이 있다는 것입니다. 그 이유는 단락(또는 상자? 적절한 용어가 확실하지 않음)의 문자 수가 특정 양을 초과한 후에만 문제가 발생하는 것처럼 보이기 때문입니다. 예를 들어, 다음은 정상적으로 컴파일됩니다.
\documentclass{article}
\usepackage{fontspec}
\setmainfont{Charis SIL}
\begin{document}
\r{m}abcdefg
\end{document}
보시다시피 여기서 유일한 차이점은 최종 h
. 이 가설에 대한 뒷받침을 추가하는 것은 다음도 역시 작동한다는 사실입니다.
\r{m}abcdefg
Lorem Ipsum
어쨌든, 나는 무엇을 해야할지 완전히 잃었습니다. 불행하게도 이 프로젝트에서는 XeTeX로 전환하는 것이 옵션이 아닙니다.