\documentclass{article}
\usepackage{fontspec}
\setmainfont{Helvetica Neue LT Pro 55 Roman} % This line is OK.
\setsansfont{HelveticaNeueLT Pro 55 Roman} % This line is ERROR!
\begin{document}
Hello
\end{document}
MWEは上記です。
xelatex は次のメッセージを表示します:
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!
! fontspec error: "font-not-found"
!
! The font "HelveticaNeueLT Pro 55 Roman" cannot be found.
!
! See the fontspec documentation for further information.
!
! For immediate help type H <return>.
!...............................................
l.4 \setsansfont{HelveticaNeueLT Pro 55 Roman}
% This line is ERROR!
ただし、fc-list は次のように出力します。
/usr/share/fonts/adobe/HelveticaNeueLTPro-Roman.otf: \
Helvetica Neue LT Pro,HelveticaNeueLT Pro 55 Roman: \
style=55 Roman,Regular
私の知る限り、HelveticaNeueLT Pro 55 Roman
は正しいフォント名であるはずで、Helvetica Neue LT Pro 55 Roman
ではないはずです。しかし、実際の結果はHelvetica Neue LT Pro 55 Roman
有効なフォント名のようですが、HelveticaNeueLT Pro 55 Roman
ではありません。なぜでしょうか?
fc-list の出力はフォント名を提供するのに信頼できますか?
答え1
カンマの後の出力が何であるかはわかりませんfc-list
が、XeTeX ではファミリ名 (カンマの前、Helvetica Neue LT Pro
) が必要で、オプションでスタイル ( 55 Roman
) が続くようです。これで、使用した最初の行が得られます。したがって、fc-list の出力は信頼できるようですが、その部分ではありません。
私はHelvetica Neue LT Proを持っていませんが、Latin Modern(TeXをインストールしている人のほとんどが持っていると思います)を試してみましたfc-list | grep 'LM Roman 10'
。
/usr/share/texmf/fonts/opentype/public/lm/lmroman10-bold.otf: Latin Modern Roman,LM Roman 10:style=10 Bold,Bold
/usr/share/texmf/fonts/opentype/public/lm/lmroman10-bolditalic.otf: Latin Modern Roman,LM Roman 10:style=10 Bold Italic,Bold Italic
/usr/share/texmf/fonts/opentype/public/lm/lmroman10-regular.otf: Latin Modern Roman,LM Roman 10:style=10 Regular,Regular
/usr/share/texmf/fonts/opentype/public/lm/lmroman10-italic.otf: Latin Modern Roman,LM Roman 10:style=10 Italic,Italic
さて、XeTeXでは
\setmainfont{Latin Modern Roman} % OK
\setmainfont{Latin Modern Roman 10 Regular} % OK
\setmainfont{LM Roman 10} % Not OK
\setmainfont{Latin Modern Roman 10 Italic} % OK, font is italic and \textit gives upright
一方、LuaTeX は、カンマの後の名前を使用してフォントを検索するようですが、スタイルが指定されているフォントは検索しません (したがって、例の 2 行目のみが LuaTeX で機能すると思います)。ただし、この方法でフォントにアクセスすると、異なるスタイルは見つからないようです。
\setmainfont{Latin Modern Roman} % OK
\setmainfont{Latin Modern Roman 10 Regular} % Not OK
\setmainfont{LM Roman 10} % OK, but \textit etc. doesn't work
\setmainfont{LM Roman 10 Regular} % OK, but \textit etc. doesn't work
\setmainfont[ItalicFont=LM Roman 10 Italic,...]{LM Roman 10} % OK