落穂拾い

Gleanings in my life

【Gentoo】ptex-3.1.10_p20090610 で日本語

2009年10月09日 00時37分24秒 | Linux
先日、Gentoo portage の TeX 環境である pTeX のバージョンが上がった。
ptex-3.1.10_p20090610 というバージョンだ。

すんなりインストールできるが、そのままでは日本語表示がからっきしできなかった(コンパイルは通る)。というわけで、設定メモ。

状況


  • pplatex は日本語が通る
  • xdvi で日本語が出ない(英数字のみ表示される)
  • dvipdfmx で日本語を含むファイルが処理できない(エラー終了でPDFが生成できない)。


インストール直後の設定



texmfの設定ファイルは /usr/share/texmf-config/web2c/updmap.cfg。
ここで漢字マップとして下記のように設定してある。
KanjiMap ptex-ipa.map

なお、この設定は以前に kpsetool で設定したような気がする。

ちなみに ptex-ipa.map は
/usr/share/texmf/fonts/map/dvipdfm/ptex-ipa.map


にある。従来はここで指定したフォントファイルを使って xdvi や dvipdfmx
が動作していた。この時点でフォントとしては ipam.ttf と ipag.ttf が指定
されていた。しかし IPA フォントが otf になった関係で、既にシステムには
ipam.ttf やipag.ttf はない。

対策1



ptex-ipa.map 内の設定を TTF ファイルから OTF ファイルに変更する。変更を
適用するため、ファイル編集後、
 
texmf-update 

を実行する。しかし、ipam.otf などが発見できないというエラーが表示される。
実際、
kpsewhich -format "opentype fonts" ipam.otf

としてもフォントが発見できない(上記コマンドで何も表示されない)。

この原因は otf ファイルの位置が悪いことにある。そこで、
cd /usr/share/fonts
ln -s /usr/share/fonts/ja-ipafonts .
texmf-update

とする。これで ipam.otf などが適切に kpsewhich で発見できるようになり、
pxdvi で日本語が表示できるようになった。

しかし、相変わらず dvipdfmx はエラーを吐く。

対策2



dvipdfmx のエラーメッセージは下記の通り
 ** WARNING ** Could not locate a virtual/physical font for TFM "rml".
 ** WARNING ** >> This font is mapped to a physical font "ipam.otf".
 ** WARNING ** >> Please check if kpathsea library can find this font: ipam.otf
 ** ERROR ** Cannot proceed without .vf or "physical" font for PDF output...

念のため下記を実行すると、
kpsewhich -format "opentype fonts" ipam.otf

適切にパスを返してくるので、ipam.otf が見つからないというのは当て嵌まらない。

とりあえずフォント埋め込みを止めてみる。それには漢字マップファイルとして
ptex-noembed.map を使えばよい。一時的にこのマップファイルを使うには、
dvipdfmx -f ptex-noembed.map hoge

とすればよい。

その結果、無事 hoge.pdf ができる。フォントが埋め込まれていないので、
PDFビューアごとに見栄えが変わるのが玉に瑕。

対策3



IPAのOTFフォントが怪しいような気がするので、別のフォントを指定してみる。

ptex-ipa.map を編集し、フォントを実在する ttf ファイルである
sazanami-mincho.ttf と sazanami-gothic.ttf に変更する。変更後、
texmf-updateすると、pxdvi も dvipdfmx でも無事日本語が扱えるようになっ
た。ただし、sazanami font で。

sazanami font は完成版の書類を作るには若干見栄えが物足りない。そこで、
別のフォントでも色々と試してみた。たとえば MS の TTC フォントや Adobe
Reader に附属しているフォントなどで。

結果として、IPA フォント以外では全て無事動作した。

IPAフォントに何らかの問題があるのかもしれない。

コメントを投稿