LaTeXでの和文フォント指定はHTML/CSSやWord等にくらべてすこぶる難解。
- 前提
- フォントの指定 (埋め込み)
- 利用できるフォントマップ
- フォントマップファイルはどこに存在するか?
- フォントマップファイルの書式
- フォントマップが参照するフォントファイルのパス
- 他のフォントマップファイル
フォントの指定 (埋め込み)
和文フォントは「フォントマップ」という複数のフォントの対応付けで指定する。
たとえばIPAexフォント(IPAex明朝・IPAexゴシック)なら ipaex と指定。
デフォルトのフォント指定
kanji-config-updmap-sysを実行して設定する。
$ sudo kanji-config-updmap-sys ipaex # IPAexフォントを指定 $ kanji-config-updmap-sys status # 現在のフォント指定を確認 CURRENT family for ja: ipaex Standby family : ipa $ sudo kanji-config-updmap-sys nofont # フォント指定の解除
文書ごとのフォント指定
pxchfonパッケージを用いて指定する。
Re:VIEWの場合、sty/review-custom.sty で下記のように設定する。
\usepackage[ipaex]{pxchfon}
利用できるフォントマップ
kanji-config-updmap-sysで確認できる。
デフォルトで利用できるのはIPAフォントとIPAexフォントのみのようだ。
$ kanji-config-updmap-sys status CURRENT family for ja: ipa Standby family : ipaex
フォントマップファイルはどこに存在するか?
IPAexフォントのフォントマップファイルはptex-ipaex.map等のファイル名である。
これがどこに存在するか、下記のコマンドで検索する。
(私の環境では/mntにドライブがマウントされているので検索から除外している。)
$ sudo find / -type d -name mnt -prune -o -type f -name ptex-ipaex.map /usr/share/texlive/texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/ipaex/ptex-ipaex.map
このようにUbuntu環境ではTeX Live関連のファイルは /usr/share/texlive/ に置かれるようだ。
フォントマップファイルの書式
rml H ipam.ttf %!PS IPAMincho rmlv V ipam.ttf %!PS IPAMincho gbm H ipag.ttf %!PS IPAGothic gbmv V ipag.ttf %!PS IPAGothic
見ての通り、横書きと縦書き用の明朝体およびゴシック体のフォントが指定されている。
フォントマップが参照するフォントファイルのパス
フォントマップが参照しているフォントは形式別に次の場所にある。
/usr/share/texlive/texmf-dist/fonts/truetype/ | TrueTypeフォント |
/usr/share/texlive/texmf-dist/fonts/opentype/ | OpenTypeフォント |
ただしここにあるのはシンボリックリンクであり、実体は別の場所にある。
たとえばIPAexフォントの場合、下記のように実体は/usr/share/fonts/opentype/にある。
$ ls -l /usr/share/texlive/texmf-dist/fonts/truetype/public/ipaex/ ipaexg.ttf -> ../../../../../../fonts/opentype/ipaexfont-gothic/ipaexg.ttf ipaexm.ttf -> ../../../../../../fonts/opentype/ipaexfont-mincho/ipaexm.ttf ipag.ttf -> ../../../../../../fonts/opentype/ipafont-gothic/ipag.ttf ipagp.ttf -> ../../../../../../fonts/opentype/ipafont-gothic/ipagp.ttf ipam.ttf -> ../../../../../../fonts/opentype/ipafont-mincho/ipam.ttf ipamp.ttf -> ../../../../../../fonts/opentype/ipafont-mincho/ipamp.ttf
他のフォントマップファイル
では、IPAフォントとIPAexフォント以外にどのようなフォントマップファイルがあるか調べてみる。
$ ls -l /usr/share/texlive/texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/ drwxr-xr-x 1 root root 512 Jan 8 21:24 adobe drwxr-xr-x 1 root root 512 Jan 8 21:24 apple drwxr-xr-x 1 root root 512 Jan 8 21:24 arphic drwxr-xr-x 1 root root 512 Jan 8 21:24 baekmuk drwxr-xr-x 1 root root 512 Jan 8 21:24 canon drwxr-xr-x 1 root root 512 Jan 8 21:24 cjkunifonts drwxr-xr-x 1 root root 512 Jan 8 21:24 cjkunifonts-ttf drwxr-xr-x 1 root root 512 Jan 8 21:24 dynacomware drwxr-xr-x 1 root root 512 Jan 8 21:24 fandol drwxr-xr-x 1 root root 512 Jan 8 21:24 founder drwxr-xr-x 1 root root 512 Jan 8 21:24 hiragino drwxr-xr-x 1 root root 512 Jan 8 21:24 hiragino-elcapitan drwxr-xr-x 1 root root 512 Jan 8 21:24 hiragino-elcapitan-pron drwxr-xr-x 1 root root 512 Jan 8 21:24 hiragino-pron drwxr-xr-x 1 root root 512 Jan 8 21:24 ipa drwxr-xr-x 1 root root 512 Jan 8 21:24 ipaex drwxr-xr-x 1 root root 512 Jan 8 21:24 kozuka drwxr-xr-x 1 root root 512 Jan 8 21:24 kozuka-pr6 drwxr-xr-x 1 root root 512 Jan 8 21:24 kozuka-pr6n drwxr-xr-x 1 root root 512 Jan 8 21:24 moga-mobo drwxr-xr-x 1 root root 512 Jan 8 21:24 moga-mobo-ex drwxr-xr-x 1 root root 512 Jan 8 21:24 morisawa drwxr-xr-x 1 root root 512 Jan 8 21:24 morisawa-pr6n drwxr-xr-x 1 root root 512 Jan 8 21:24 ms drwxr-xr-x 1 root root 512 Jan 8 21:24 ms-osx drwxr-xr-x 1 root root 512 Jan 8 21:24 ms-win10 drwxr-xr-x 1 root root 512 Jan 8 21:24 noEmbed drwxr-xr-x 1 root root 512 Jan 8 21:24 solaris drwxr-xr-x 1 root root 512 Jan 8 21:24 toppanbunkyu-sierra drwxr-xr-x 1 root root 512 Jan 8 21:24 ume drwxr-xr-x 1 root root 512 Jan 8 21:24 unfonts drwxr-xr-x 1 root root 512 Jan 8 21:24 yu-osx drwxr-xr-x 1 root root 512 Jan 8 21:24 yu-win drwxr-xr-x 1 root root 512 Jan 8 21:24 yu-win10
このように多数のフォントマップファイルが存在する。たとえば、
- hiragino-pron = ヒラギノフォント (ヒラギノ明朝 ProN・ヒラギノ角ゴ ProN)
- kozuka-pr6n = 小塚フォント (小塚明朝 Pr6N・小塚ゴシック Pr6N)
- morisawa-pr6n = モリサワフォント (リュウミン Pr6N・中ゴシックBBB Pr6N)
ではなぜ利用できないかというと、かんじんのフォントファイル本体が存在しないからである。モリサワフォント持ってないのに使えるわけはない。
IPAexフォントの例と同様に、フォントファイルを用意してシンボリックリンクを作成すれば他のフォントマップも利用できる。ただし、当然のことながらフォントのライセンス条件は順守すること。ファイルを配置した後で、おまじないとして次のコマンドを実行する。
sudo mktexlsr