組合重音符號前避免使用連字符

組合重音符號前避免使用連字符

某些字母(例如西里爾字母)透過 unicode 字元 0301(組合銳音符號)來管理銳音母音。這可能會導致連字符問題,因為連字符有時會放置在元音和重音字符之間,導致重音錯位,如下例所示(在 LuaLaTex 中編譯):

在此輸入影像描述

單字 'со́гре́ши́вши́я' 連字符正確:'о' 'U0301' - 'г'

相反,單字“при́сно́”的連字符不正確:'и' - 'U0301' 'с'導致第四行開頭的重音位置錯誤。

實際上,可以在本地避免使用通常的連字符驅動該問題при́\-сно́,但我想在全域範圍內避免此錯誤。

注意:這個問題是在問題中部分發出的避免在特定字符周圍使用連字符,但我看不出該指令如何\lccode處理組合重音。

這是參考代碼:

\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}

答案1

請按照此處的建議添加8^^^^0301到 hyph-ru.tex (俄語中“ы”上方的重音轉到下一行)為我工作並抑制了連字符(不需要重建格式,因為 lualatex 無論如何都會動態加載它們)。

在此輸入影像描述

恕我直言,這意味著該模式有錯誤,您應該將此報告給維護人員。

相關內容