TeXの記憶(119)–dvipsで欧文フォントが表示されない

Optimaというフォントがあります。TeXLieveあたりからデフォルトで含まれていますが、それ以前のteTeXなどには含まれていませんでした。

その古いTeXの環境にOptimaを入れたいという依頼があったので、フォントとmapファイルを渡したところ文字化けして表示できないとのこと。

PSファイルを表示してみると四角い枠だけが表示されています。ファイルの中身を見るとフォントは埋め込まれているようです。

dviファイルを私の手元で処理すると、問題なくOptimaが埋め込まれて、もちろん表示もされます。ということはdvipsの処理に問題があるのかもしれません。ログファイルを送ってもらうと、

Warning: module writet1 of dvips (file 8r.enc): cannot open encoding file for reading

のようなワーニングが表示されています。8r.encのファイルは存在して読み込まれているので、8r.encファイル自身に問題があるのでしょうか。

試しに手元にある新旧のバージョンの8r.encを見るといろいろ異なっているようですが、新しいファイルを入れたら正常になるとも思えません。他のファイルとの整合性が崩れてしまうような気がします。もしかして相手先の担当者がコピーを取らないで上書きして、整合性がなくなってしまったら、手がつけられない状態になってしまいます。

相手先に出向いて直すのはゴメンなので、なるべく相手に合わずに解決する方法を考えました。で、思いついたのは、dvipsが利用しているpsfonts.mapの項目から「8r.enc」の項目を取り除いてしまうこでした。

項目は

popbi8r Optima-BoldItalic " TeXBase1Encoding ReEncodeFont " <8r.enc <popbi8a.pfb

となっていたので

popbi8r Optima-BoldItalic " TeXBase1Encoding ReEncodeFont " <popbi8a.pfb

としてしまいました。手元のTeX環境で試したところうまく表示されたので、相手先の環境でもうまくいくかもしれません。

結果は、うまく表示されたようです。必要なのはOptimaの数字だけなので、全部の文字がどうなのかまったく試していません。

今がよければ本質を先送りする見本のような結果になってしました。ほんとはTeXの環境を新しくすべきなんですが、相手先はいくらなんでもマズイと思ってはいるようです。

コメント