各種マニュアルを眺めてみたがよくわからない……。
前提
XeTeX や LuaTeX で TrueType/OpenType フォントを使う場合、フォントを「フォント名で指定する」ことも「ファイル名で指定する」ことも可能である。*1
% plain XeTeX 文書 \font\fTestA="[ipam.ttf]" % ファイル名 "ipam.ttf" \font\fTestB="IPAMincho" % フォント名 "IPAMincho"
% plain LuaTeX 文書 \input luaotfload.sty \font\fTestA={file:ipam.ttf} % ファイル名 \font\fTestB={name:IPAMincho} % フォント名 % ファイル名/フォント名の間の自動判定も可能 \font\fTestC={ipam.ttf} \font\fTestD={IPAMincho}
% XeLaTeX/LuaLaTeX 文書 \documentclass{article} \usepackage{fontspec} % fontspecは基本的に自動判定になる \newfontfamily{\fTestA}{ipam.ttf} % ファイル名 \newfontfamily{\fTestB}{IPAMincho} % フォント名
ところが、複数のフォントが一つのファイルに収められている TrueType Collection(TTC)形式のフォントファイルの場合に「ファイル名を指定する」インタフェースを用いる場合は、TTC の中の“何番目”のフォントを使うのかを示す番号を一緒に与える必要がある。(dvipdfmx のマップファイルを書いた経験のある人なら理解できるだろう。)
XeTeX の \font
プリミティブの場合、次のような形式で“番号”(0 オリジン)を指定することができる。
% plain XeTeX 文書 \font\fTestA="[hgrpp1.ttc:1]" % hgrpp1.ttcの1番目(HGP創英角ポップ体)
疑問その 1
それに対して、LuaTeX(+ luaotfload)の \font
プリミティブでの「ファイル名指定のインタフェース」では、マニュアルを読む限り、“番号”を指定する方法が見当たらない。ちなみに、LuaTeX では「XeTeX の \font
の書式」も(互換性のため)サポートしているが、上で示した“[hgrpp1.ttc:1]
”という書き方ではコンパイルが通らなかった。((番号のない“[hgrpp1.ttc]
”ならば可能であり、この場合は hgrpp1.ttc の“0 番”のフォント(HG創英角ポップ体)が使われる。))
果たして、TTC の番号を指定する方法は本当に存在しないのだろうか。
疑問その 2
fontspec パッケージの各種命令(\newfontfamily
や \setmainfont
など)についても、TTC ファイルをファイル名で指定する場合に番号を指定する方法が見当たらないように思える。
果たして、TTC の番号を指定する方法は本当に存在しないのだろうか。