![Problemas com LuaLaTeX e combinação de caracteres](https://rvso.com/image/335505/Problemas%20com%20LuaLaTeX%20e%20combina%C3%A7%C3%A3o%20de%20caracteres.png)
Um projeto em que estou trabalhando requer o uso de um personagem um tanto incomum, m̊. Ao contrário, digamos, do "a com anel", como em sueco, uma forma pré-combinada desta letra não existe em Unicode, ela só pode ser criada através da combinação de caracteres. No entanto, fazer isso funcionar com LuaLaTeX tem sido um exercício de frustração.
Para referência, aqui está um exemplo de código que causa o problema:
\documentclass{article}
\usepackage{fontspec}
\setmainfont{Charis SIL}
\begin{document}
\r{m}abcdefgh
\end{document}
Quando tento compilar este código com LuaLaTeX recebo o seguinte erro:
("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
Agora, algumas coisas a serem observadas. Por um lado, se eu deixar a fonte principal como padrão, o problema não existe: m̊ aparece bem com Latin Modern. Bem, eu digo, tudo bem, a colocação do anel está errada e parece ruim. Além disso, faltam alguns outros caracteres no Latin Modern que preciso para o meu projeto, então isso não é realmente uma opção. Agora, isso pode ter me levado a concluir que a fonte, Charis SIL, é a culpada, mas na verdade compilar exatamente esse mesmo código com XeLaTeX funciona bem e produz a saída esperada:
O que deduzi é que o problema está de alguma forma relacionado ao kerning ou algo parecido. A razão é que parece que o problema só ocorre depois que a quantidade de caracteres em um parágrafo (ou caixa? Não tenho certeza da terminologia adequada) excede uma certa quantidade. Por exemplo, o seguinte compila perfeitamente:
\documentclass{article}
\usepackage{fontspec}
\setmainfont{Charis SIL}
\begin{document}
\r{m}abcdefg
\end{document}
Como você pode ver, a única diferença aqui é que removi o arquivo h
. Adicionando suporte a esta hipótese está o fato de que o seguinte também funciona:
\r{m}abcdefg
Lorem Ipsum
De qualquer forma, estou completamente sem saber o que fazer. Infelizmente, mudar para XeTeX não é uma opção para este projeto.