pLaTeX のフォント設定

Ubuntu 9.04 (Jaunty) において、pLaTeX + dvips + ps2pdf を使って LaTeX ファイルから PDF を生成する際のフォント設定に関するメモです。 ろくに知識もないのにネットで調べながらなんとかフォントの変更をした人間が書いたメモなのでおかしいところがあるかもしれません。

環境

OS は上記のとおり ubuntu 9.04 (Jaunty) です。 LaTeX およびそれに関連するコマンドは、すべて apt-get コマンドにてインストールしたものです。 下記パッケージが TeX 関連でインストールしたものです。

  • texlive
  • texlive-latex-extra
  • ptex-bin
  • dvipsk-ja
  • cmap-adobe-japan1
  • cmap-adobe-japan2
  • gs-cjk-resource

日本語対応の dvips コマンドが使用するフォントの設定

まず、pLaTeX コマンドによって LaTeX ファイルを DVI ファイルに変換しますが、この時はまだフォントの指定はされていないらしいです。 日本語対応の dvips コマンドによって DVI ファイルを PS ファイルに変換する際にフォントの指定が行われるようです。

その際に指定されるフォントですが、これは

  • /etc/texmf/dvipsj/psfonts-jp.map

に書かれています。 中身を見てみると以下のようなことが書かれていると思いますが、この rml がローマン体に対応する日本語フォント (明朝体) で、gbm がゴシック体に対応する日本語フォントのようです。

% (略)
rml Ryumin-Light-H
rmlv Ryumin-Light-V
gbm GothicBBB-Medium-H
gbmv GothicBBB-Medium-V
% (略)

とりあえずこのファイルは特に変更をおこないません。 問題となるのは、rml や gbm の右側に書かれている Ryumin-Light-H や GothicBBB-Medium-H というのがどこで定義されているのかです。

Ryumin-Light や GothicBBB-Medium の定義の変更

これらの定義は /var/lib/defoma/gs.d/dirs/fonts/cidfmap に書かれています。

...
/GothicBBB-Medium /SazanamiGothic-Regular ;
...
/Ryumin-Light /SazanamiMincho-Regular ;
...

こんな行があると思いますが、この右側の SazanamiMincho-Regular などの部分を書き換えれば良いことになります。 下記のように書くことで、フォントファイルを指定できます。 (フォントファイル自体 (下記の例では IPA モナーフォント) は別途インストールしてください。)

...
/GothicBBB-Medium << /FileType /TrueType /Path (/usr/share/fonts/truetype/ttf-ipamonafont/ipag-mona.ttf) /SubfontID 0 /CSI [(Japan1) 0] >> ;
...
/Ryumin-Light << /FileType /TrueType /Path (/usr/share/fonts/truetype/ttf-ipamonafont/ipam-mona.ttf) /SubfontID 0 /CSI [(Japan1) 0] >> ;
...

また、以下のように書くこともできます。 後から設定を変えることを考えると、以下のように書いた方が良いでしょう。

...
/IPAMonaGothic-Regular << /FileType /TrueType /Path (/usr/share/fonts/truetype/ttf-ipamonafont/ipag-mona.ttf) /SubfontID 0 /CSI [(Japan1) 0] >> ;
/GothicBBB-Medium /IPAMonaGothic-Regular ;
...
/IPAMonaMincho-Regular << /FileType /TrueType /Path (/usr/share/fonts/truetype/ttf-ipamonafont/ipam-mona.ttf) /SubfontID 0 /CSI [(Japan1) 0] >> ;
/Ryumin-Light /IPAMonaMincho-Regular ;
...