\addfontfeature{FakeBold=...} の奇妙な動作。utf8 出力がありません。

\addfontfeature{FakeBold=...} の奇妙な動作。utf8 出力がありません。

私は、同じ単語の中にラテン文字とギリシャ文字を混ぜた単純なテキストで、fontspec の FakeBold 機能を使用しようとしました。問題は、出力が Utf8 のように見えるが、実際にはそうではないことです。次のコードの出力をテキスト エディター (TeXworks) にコピーして貼り付けようとしたところ、1) 一部の文字が ? になっていること、2) 最初の単語 Γεννaται (太字) と 2 番目の単語の間にスペースがないことに気付きました。

(私の場合、出力は ΓεννaταιΓεννaται Γενν?ται です)

この奇妙な行動について説明していただけますか?

    \documentclass[letterpaper, 12pt]{article} 
        \usepackage[no-math]{fontspec} 
        \usepackage{polyglossia}
        \setmainlanguage{greek} 
        \setmainfont{Arial}
        \begin{document}
        \addfontfeature{FakeBold=2}Γεννaται\addfontfeature{FakeBold=0} Γεννaται Γεννάται
        \end{document}

注: 上記の各行は、TeXworks では異なる行に記述されています。MikTeX および XeLaTeX エンジンを使用しました。

答え1

このコマンドは、\addfontfeatures{...}その後に続くスペースを消費しますが、これは一般的には良いことです。

\addfontfeature{FakeBold=2}Γεννaται\addfontfeature{FakeBold=0}\ Γεννaται Γεννάται

この不自然なスタイルを本当に使いたいのであれば、一般的には\addfontfeatures控えめに、文書内では(ほとんど)使わないようにすべきです。さらに、グループ化を尊重するため、

{\addfontfeature{FakeBold=2}Γεννaται} Γεννaται Γεννάται

もっと簡単でしょう。

しかし、これは

\textbf{Γεννaται} Γεννaται Γεννάται

すべての例は同じタイプセットです

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

フォントに太字がない場合は、フォント設定で定義してください。EB Garamondを例に挙げます。

\documentclass[letterpaper, 12pt]{article}
\usepackage[no-math]{fontspec}
\usepackage{polyglossia}
\setmainlanguage{greek}

\setmainfont{EB Garamond}[
  BoldFont=*,
  BoldFeatures={FakeBold=4},
]

\begin{document}

\textbf{Γεννaται} Γεννaται Γεννάται

\end{document}

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

については?、オペレーティングシステムに依存するコピー&ペーストの問題であると考えます。

関連情報