TeX Live で和文フォントの埋込の設定は updnap の kanjiEmbed(と kanjiVariant)オプションで行える。そして、この設定をより簡単に行うために TeX Live では updmap-setup-kanji(-sys) というコマンドが用意されている。例えば、IPAex フォントを埋め込む設定にしたい場合、次のコマンドだけで済んでしまう。(システムレベルの設定(updmap-sys での設定)を行いたい場合は updmap-setup-kanji-sys コマンドを代わりに使う。)((普通に updmap を使う場合、--setoption
付きで実行した後に何故かもう一度 updmap を実行する必要があったが、updmap-setup-kanji は一度だけ実行すればよい。))
> updmap-setup-kanji ipaex Setting up ... otf-ipaex.map (……この後 updmap が何回か走る)
引数に指定するのは kanjiEmbed オプションの値である。(非埋込は noEmbed。)また updmap-setup-kanji は必要なフォントがインストールされているかの検査を行うので、例えば次のように実物のフォントが無いのに morisawa を指定しようとしても失敗する。(後述の auto の動作にフォールバックする。)
> updmap-setup-kanji morisawa morisawa not available, falling back to auto! CURRENT family : ipaex Standby family : ipa Setting up ... otf-ipaex.map (……略)
引数を auto
にすると、「実際に使える設定の中のどれか」が自動的に選ばれる。無論そんな設定方法はアレである。*1
> updmap-setup-kanji auto CURRENT family : noEmbed Standby family : ipa Standby family : ipaex Setting up ... otf-ipaex.map
-jis2004 オプションがアレ
updmap-setup-kanji には -jis2004
というオプションがあって、これは丁度 updmap で kanjiVariant を -04
にする設定に相当する。そして、現状ではこの設定は「Pr6N/ProN 版のフォントを使う」ことを意味している(はずである)。つまり -jis2004
を付けると、使用されることになる実フォントファイルが変わる。ところが、現状の実装では、インストールされているかを検査するのに使う実フォントファイル名を -jis2004
を付けた時に変えるのを忘れているため、使用可能の判定を誤るという不具合がある。
例えばヒラギノの ProN 版(HiraMinProN-W3.otf 等)だけがインストールされていると仮定する。この状況で、-jis2004
付きの hiragino は使えるはずである。ところが実際にこの状況で
> updmap-setup-kanji -jis2004 hiragino
を実行すると設定は失敗してフォールバック動作になってしまう。
もっとも、昨日の記事にあるように「kanjiVariant を字形切替のオプションとする」という改修を行うと、-jis2004
オプションで使用するフォントは変化しないことになるので、この話はもはや問題でないのかも知れない。
それよりアレをなんとかしてください
これはコマンド名を変える以外に対処しようがないと思う……。
[2013-04-13 追記] コマンド名については、来る TeX Live 2013 から、「kanji-config-updmap」に変更されることになった。新しい版の updmap では kanjiVariant が「字形の変更」を意味しているので、本記事の「-jis2004 オプションがアレ」に書いた不具合は解消されている。