どの OS でどこのフォントが見つけられるのか、っていうのが、知りたいと言っていた方を見かけたので、調べてみました。 間違っていたら申し訳ない。
凡例
指定方法
- ○ … フォント名で指定できる。
\font\x="IPAMincho:mapping=tex-text" at 10pt \setmainfont{IPAMincho}
- △ … ファイル名で指定する必要があるが、パスは必要ない。
\font\x="[ipam.ttf]:mapping=tex-text" at 10pt \setmainfont{ipam.ttf}
- ☓ … フルパスが必要。
\font\x="[/usr/local/texlive/2017/texmf-dist/fonts/truetype/public/ipaex/ipam.ttf]:mapping=tex-text" at 10pt \setmainfont{/usr/local/texlive/2017/texmf-dist/fonts/truetype/public/ipaex/ipam.ttf}
シンボリックリンクを作れる OS なら、texmf-local からシンボリックリンクの作成すれば、ある程度負担を減らせるが、XeTeX と LuaTeX で指定方法が同じにならないのが悩み。
- ? … 不明。
ディレクトリ
「TEXMF*」 は、TEXMFDIST, TEXMFLOCAL, TEXMFSYSVAR, TEXMFSYSCONFIG, TEXMFVAR, TEXMFCONFIG, TEXMFHOME の各ディレクトリの中の、フォントが格納されるべき場所。TEXMF の場所の調べ方は、
$ kpsexpand '$TEXMFDIST' $ kpsewhich -var TEXMFDIST
どちらでも。フォントが格納される場所は、$TEXMF*/fonts
です。
もし、ここ以外にフォントがインストールされている場合の挙動は、XeTeX (kpsewhich で検索するのと等価?)と LuaTeX (luaotfload-tool で予めデータベースを作成)で異なる可能性があります。また、env
コマンドなどで、TEXMF の場所を一時的に変えている場合も同様。
「ソース」はタイプセットしようとしているソースと同じディレクトリ。
Windows
場所 | XeTeX (fontconfig) | LuaTeX (luaotfload) | 備考 |
---|---|---|---|
システム | ○ | ○ | %WINDIR%/Fonts |
TEXMF* | △ | ○ | |
ソース | △ | △ |
macOS
場所 | XeTeX (AAT) | LuaTeX (luaotfload) | 備考 |
---|---|---|---|
システム | ○ | ○ | /Library/Fonts , /System/Library/Fonts , /Network/Library/Fonts |
個人 | ○ | ○ | ~/Library/Fonts |
iOS追加・dfont変換 (?) | ○ | ☓ | 「Osaka」「クレー」「游教科書」「游明朝(+36pかな)」「凸版文久」「筑紫」他 |
TEXMF* | △ | ○ | |
ソース | △ | △ |
その他の OS
LuaTeX の場合は、/etc/fonts.conf
か /usr/local/etc/fonts.conf
で、システムフォントのインストール先を指定する必要があります(システムで fontconfig
をインストールしていれば、大抵はこのどちらかが存在し、適切に設定されています)。
XeTeX の場合は、未調査。
場所 | XeTeX (fontconfig) | LuaTeX (luaotfload) | 備考 |
---|---|---|---|
システム | ○ | ○ | |
個人 | ○ | ○ | |
TEXMF* | △ | ○ | |
ソース | △ | △ |