私の Mac の Times New Roman フォントには、小文字大文字の形状がありません。そのため、小文字大文字のフォールバック フォントとして TeX Gyre Termes を設定したいと考えています。
TeX Gyre Termesをメインフォントとして使用する
\documentclass{article}
\usepackage{fontspec}
\setmainfont{texgyretermes}%
[
Extension = .otf,
UprightFont = *-regular,
BoldFont = *-bold,
ItalicFont = *-italic,
BoldItalicFont = *-bolditalic
]
\begin{document}
hello
\textsc{hello}
\textbf{\textsc{hello}}
\textit{\textsc{hello}}
\end{document}
結果は以下のように満足のいくものでした。
メインフォントとしてTimes New Romanを使用する
\documentclass{article}
\usepackage{fontspec}
\setmainfont{Times New Roman}
\begin{document}
hello
\textsc{hello}
\textbf{\textsc{hello}}
\textit{\textsc{hello}}
\end{document}
ログに示されているように、フォントシェイプm/sc
、b/sc
およびがm/scit
すべて欠落しています。
TeX Gyre Termes をフォールバックとして使用する
fontspec マニュアルによると、小文字大文字のフォールバックは次のように設定できます。
\documentclass{article}
\usepackage{fontspec}
\setmainfont{Times New Roman}%
[
SmallCapsFont = TeX Gyre Termes,
SmallCapsFeatures = {Letters=SmallCaps}
]
\begin{document}
hello
\textsc{hello}
\textbf{\textsc{hello}}
\textit{\textsc{hello}}
\end{document}
上記の例は、 でのみコンパイルできますlualatex
(macOS ユーザーは を使用する場合、フォント名で texmf ツリー内のフォントを使用できないためxelatex
)。ただし、lualatex
どちらも満足のいく結果を与えることはできません。
TeX Gyre Termes フォントをシステムにインストールした後、xelatex
使用することもできますが、結果は上記のスクリーンショットと同じです。
質問
TeX Gyre Termesをシステムにインストールしなくてもxelatex
、とlualatex
macOS ユーザーの両方で小文字大文字のフォールバック フォントを正しく設定するにはどうすればよいですか?
答え1
\documentclass{article}
\usepackage{fontspec}
\setmainfont{Times New Roman}%
[
BoldFeatures =
{SmallCapsFont={TeX Gyre Termes Bold},
SmallCapsFeatures = {Letters=SmallCaps}} ,
ItalicFeatures =
{SmallCapsFont={TeX Gyre Termes Italic},
SmallCapsFeatures = {Letters=SmallCaps}} ,
]
\begin{document}
hello
\textsc{hello}
\textbf{\textsc{hello}}
\textit{\textsc{hello}}
\textbf{\textit{\textsc{hello}}}
\end{document}
texmf ツリー内のフォントがファイル名で見つからないシステムでは、これが機能する可能性があります (未テスト)
\documentclass{article}
\usepackage{fontspec}
\setmainfont{Times New Roman}%
[
BoldFeatures =
{SmallCapsFont={texgyretermes-bold},
SmallCapsFeatures = {Extension=.otf,Letters=SmallCaps}} ,
ItalicFeatures =
{SmallCapsFont={texgyretermes-italic},
SmallCapsFeatures = {Extension=.otf,Letters=SmallCaps}} ,
]
\begin{document}
hello
\textsc{hello}
\textbf{\textsc{hello}}
\textit{\textsc{hello}}
\textbf{\textit{\textsc{hello}}}
\end{document}