
Alguns alfabetos, como o cirílico, gerenciam vogais com acento agudo com a ajuda do caractere unicode 0301, o acento agudo combinado. Isto pode levar a problemas de hifenização, porque o caractere de hifenização às vezes é colocado entre a vogal e o caractere de acento, resultando em um posicionamento incorreto do acento como no exemplo a seguir (compilado em LuaLaTex):
A palavra 'со́гре́ши́вши́я' está hifenizada corretamente:'о' 'U0301' - 'г'
A palavra 'при́сно́' tem, em vez disso, uma hifenização incorreta: 'и' - 'U0301' 'с'
resultando no posicionamento incorreto do acento no início da quarta linha.
Na verdade, o problema pode ser evitado localmente conduzindo a hifenização com o usual при́\-сно́
, mas quero evitar esse bug globalmente.
NOTA: esta questão é parcialmente emitida na questãoEvite hifenização em torno de um caractere específico, mas não consigo ver como o comando \lccode
pode lidar com a combinação de acentos.
Este é o código de referência:
\documentclass[a5paper]{memoir}
\usepackage[russian]{babel}
\usepackage{fontspec}
\setmainfont{Linux Libertine}
\setlength{\spinemargin}{55mm}
\setlrmarginsandblock{\spinemargin}{*}{1}
\checkandfixthelayout
\newcommand\TextRus{ди́це́, при́зри́ на́ лю́ди́ со́гре́ши́вши́я, яви́ я́ко́ при́сно́ си́лу Тво́ю: при́зыва́е́м.}
\begin{document}
\begin{hyphenrules}{russian}
\noindent\TextRus
\end{hyphenrules}
\end{document}
Responder1
Adicionando 8^^^^0301
ao hyph-ru.tex conforme sugerido aqui (Acento em russo acima de «ы» vai para a próxima linha) funcionou para mim e suprimiu a hifenização (não há necessidade de reconstruir os formatos, pois o lualatex os carrega instantaneamente de qualquer maneira).
Imho, isso significa que o padrão está com defeito e você deve relatar isso aos mantenedores.