Latex とスクリプトの混合での setmainfont

Latex とスクリプトの混合での setmainfont

ラテン文字とアフリカ文字 (ティフィナグ文字) が混在した文書があります。

\documentclass{book}
\usepackage{fontspec}
\setmainfont{Ebrima}

\begin{document}

ⵖⵉⴽⴽⴰⴷ ⵙ ⵎⵔⴰⵡ ⵉⵙⴳⴳⵯⴰⵙⵏ, ⵔⴰⴷ ⵢⵓⵜⵉ ⵍⵍⴱⴰⵙⵜⵉⴽ ⵉⵙⵍⵎⴰⵏ ⵖ ⵢⵉⵍⵍ.

Latin regular
\textbf{Latin bold}
\textit{Latin italics}

\end{document}

ラテン文字は太字で正しく表示されますが、斜体では表示されません。なぜでしょうか? ラテン文字とアフリカ文字を 1 つのドキュメントに混在させながら、同時にラテン文字に斜体を適用できる便利な方法はありますか?

答え1

もし私がEbrima の Microsoft タイポグラフィ ページ、"その他のバリエーション: Ebrima Bold" は表示されますが、斜体バージョンは表示されません。これが問題の根本だと思います。このコンピューターには Ebrima はありませんが、Noto Sans Tifinagh を試したときに表示されるのと同じような警告メッセージが表示されたのではないかと思います。

LaTeX Font Warning: Font shape `EU1/NotoSansTifinagh(0)/m/it' undefined
(Font)              using `EU1/NotoSansTifinagh(0)/m/n' instead on input line 1

そして:

LaTeX Font Warning: Some font shapes were not available, defaults substituted.

ここでの問題は、 を使用するには\textit{...}斜体フォントが利用可能である必要があるが、Ebrima にはそれがないということです。同様に、 を使用するには太字フォントが利用可能である必要があります。興味深いことに、Ebrima には太字フォントが 1 つあるようで、これがが機能し、が機能しない\textbf{...}理由です。\textbf{...}\textit{...}

多くの人がイタリック体について特に気づいていないのは、それが単に斜めに書いたものではないということです。むしろ、イタリック体の手書き文字のように見えるように特別に設計された、各文字のまったく異なるバージョンを持つまったく異なるフォントです。

タイポグラフィにおいて、イタリック体は書道の手書き文字を様式化した筆記体フォントです。書道の影響により、イタリック体は通常、わずかに右に傾いています。

https://en.wikipedia.org/wiki/イタリック体

そのため、多くの高品質フォント(およびそれほど高品質ではないフォント)には、特別に設計されたイタリック体のバリエーションが付属しています。

太字の場合も実は同じです。太字を偽装するのはかなり簡単ですが、特注の太字文字から得られるような高品質の結果は得られません。ただし、イタリック体になるとこれが特に顕著になり、多くのフォントには根本的に異なる文字のイタリック体バリアントがあります。

しかし、多くの人はMicrosoft Word(および他のWYSIWYGプログラム)の魔法に慣れていますボタンをクリックする。これは、フォントの斜体バージョンが存在する場合はそれを選択するが、存在しない場合は、単に少し傾けて偽装し、基本的に斜めタイプ、真のイタリック体ではなく、また太字の場合と同様に、最良の結果は、アルゴリズムに任せるのではなく、特注の斜め/斜体のバリエーションから得られ、一部のフォントには、それらのいずれかが付属しています。

まとめると、Ebrimaを使用するためにドキュメントを設定しているということです

\setmainfont{Ebrima}

そして、 を使って「斜体」にしようとします\textit{}。問題は、 を使用すると\textit{}、XeLaTeX は斜体のバリアントを使用しようとするのですが、なんと、そのようなものは存在しないのです。そこで、次善の策として、直立バージョンに置き換えられます。では、どうすればいいのでしょうか。Microsoft Word と同じように、次のように偽装することもできます。

\setmainfont[AutoFakeSlant=4.0]{Ebrima}

\textit{}斜体フォントが提供されますが、フォントに特別に設計された斜体フォントが付属している場合ほど見栄えがよくない可能性があります。

しかし、コメントから判断すると、本当に望んでいたのは文書全体を Ebrima で設定することではなく、デフォルトの Computer Modern フォントが Tifinagh をサポートしていないため、Tifinagh に Tifinagh フォントを使用することだったようです。これは問題ありませんが、フォント切り替え宣言を導入する必要があります。そうしないと、XeTeX は別のフォントを使用することをどうやって知るのでしょうか。そのための手順は次のとおりです。

\documentclass{book}
\usepackage{fontspec}
\newfontfamily{\TI}[AutoFakeSlant=0.3]{Noto Sans Tifinagh}

\begin{document}

Hello world, here is some English. {\TI ⵖⵉⴽⴽⴰⴷ ⵙ ⵎⵔⴰⵡ ⵉⵙⴳⴳⵯⴰⵙⵏ ⵔⴰⴷ
  ⵢⵓⵜⵉ ⵍⵍⴱⴰⵙⵜⵉⴽ ⵉⵙⵍⵎⴰⵏ ⵖ ⵢⵉⵍⵍ} \textit{Back to English. But this
  time, it's italic.} \textit{{\TI ⵖⵉⴽⴽⴰⴷ ⵙ ⵎⵔⴰⵡ ⵉⵙⴳⴳⵯⴰⵙⵏ ⵔⴰⴷ ⵢⵓⵜⵉ
    ⵍⵍⴱⴰⵙⵜⵉⴽ ⵉⵙⵍⵎⴰⵏ ⵖ ⵢⵉⵍⵍ}}

\end{document}

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

ご要望に応じて、Tifinagh で「斜体」にするオプションを使用しましたAutoFakeSlantが、筆記体の斜体スタイルは実際には特定のアルファベットに適用される西洋の概念であることに注意してください。Tifinagh に真のラテン斜体と類似した筆記体形式があるとは思いませんが、英語や他の多くの言語と同様に、Tifinagh でも斜体が使用されていることは確かです。実際に、 で得られるのはまさにそれですAutoFakeSlantが、実はかなり衒学的な脚注です。

関連情報