
キリル文字などの一部のアルファベットでは、結合鋭アクセントである Unicode 文字 0301 を利用して鋭アクセント付き母音を管理します。これによりハイフネーションの問題が発生する可能性があります。ハイフネーション文字が母音とアクセント文字の間に置かれることがあり、次の例 (LuaLaTex でコンパイル) のようにアクセントの位置がずれることがあります。
'со́гре́ши́вши́я' という単語は正しくハイフンで区切られています。'о' 'U0301' - 'г'
'при́сно́' という単語のハイフネーションが間違っており、'и' - 'U0301' 'с'
その結果、4 行目の先頭のアクセントの位置が間違っています。
実際には、通常の を使用してハイフネーションを実行することでこの問題をローカルで回避できますпри́\-сно́
が、このバグをグローバルに回避したいと考えています。
注: この質問は質問の中で部分的に発行されています特定の文字の周囲にハイフンを使用しない\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 はオンザフライでフォーマットをロードするため、フォーマットを再構築する必要はありません)。
私の意見では、これはパターンに欠陥があることを意味しており、メンテナーに報告する必要があります。