ギリシャ文字のサーカムフレックス継続

ギリシャ文字のサーカムフレックス継続

LuaTeX では、ギリシャ文字の後に続く文字 (サーカムフレックス、U+0302 など) が誤ってレンダリングされるようです。特に、これを等幅フォントで動作させることに興味があります (コード ブロックで表示されるため)。

\documentclass{article}
\usepackage{fontspec} 
\setmonofont{DejaVu Sans Mono}
\begin{document}
\texttt{â \quad b̂ \quad ĉ \quad α̂ \quad β̂ \quad γ̂ \quad α̇ \quad β̇ \quad γ̇}
\end{document}

等幅ギリシャ文字(サーカムフレックス継続)

いくつかのフォントを試してみましたが、機能するものが見つかりませんでした。これは一般的なフォントの問題なのか、それとも TeX に特有の問題なのか疑問に思っています。

答え1

これはフォントに関連していると思います。デジャヴ サンズ モノTeX または LibreOffice では動作しません。

しかしノートサンモノ正常に動作します。以下を試してください:

\documentclass{article}
\usepackage{fontspec} 
\setmonofont{Noto Sans Mono}
\begin{document}
\texttt{â \quad b̂ \quad ĉ \quad α̂ \quad β̂ \quad γ̂ \quad α̇ \quad β̇ \quad γ̇}
\end{document}

出力

答え2

これはフォントに関するものです。Unicode フォントでは、アクセントは主にアンカーと呼ばれるものを使用して配置されます。すべての文字にはフォント ファイル内でマークされた特別な位置があり、アクセントのマークされた位置はこの「アンカー」に揃えられます。フォント デザイナーはギリシャ文字にこれらのアンカーを追加しませんでした。

もちろん、アンカーを自分で追加することでこれを修正できますが、まれな状況で小さい文字でのみこれが必要な場合は、アクセントを手動で配置するだけで済みます。ほとんどの場合、\llapアクセントを次の文字の上に置くだけで済みますが、場合によってはそうする必要もあります\raise。例:

\documentclass{article}
\usepackage{fontspec} 
\setmonofont{DejaVuSansMono.ttf}
\begin{document}
\texttt{â \quad b̂ \quad ĉ \quad \llap{̂}α \quad \raisebox{2pt}{\llap{̂}}β \quad \llap{̂}γ \quad \llap{̇}α \quad \raisebox{2pt}{\llap{̇}}β \quad \llap{̇}γ}
\end{document}

ここに画像の説明を入力してください

関連情報