组合重音符号前避免使用连字符

组合重音符号前避免使用连字符

某些字母表(例如西里尔字母)借助 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 无论如何都会动态加载它们)。

在此处输入图片描述

我认为这意味着模式有缺陷,你应该向维护人员报告。

相关内容