...ing logging 4.0

はてなブログに移行しました。D言語の話とかいろいろ。

DVIOUT: Cannot resolve Fonts

WindowsTeX を新しくインストールしたときに必ず発生する問題をようやく記録することにする.

詳細: http://akagi.ms.u-tokyo.ac.jp/dvioutQA.html

DVIOUT から印刷したときにフォントが見つからないというエラーが出たとき (Cannot resolve Fonts) ,TEXPK の設定が不足している.
このまま印刷すると,足りないフォントの文字だけ印刷されない.
よりによって,いつも半角英数字がすべて消える・・・なめとんのか!(`ω´)
例えば,エラー発生後に次のファイルが自動生成されたとする.

GEN_FONT.BAT:


C:\tex\bin\mktexpk.exe --dpi 600 --bdpi 600 --mag 600/600 cmr8
C:\tex\bin\mktexpk.exe --dpi 720 --bdpi 600 --mag 1+120/600 cmbx12
C:\tex\bin\mktexpk.exe --dpi 600 --bdpi 600 --mag 600/600 cmsy8
C:\tex\bin\mktexpk.exe --dpi 600 --bdpi 600 --mag 600/600 cmbx12
C:\tex\bin\mktexpk.exe --dpi 657 --bdpi 600 --mag 1+57/600 cmcsc10
C:\tex\bin\mktexpk.exe --dpi 600 --bdpi 600 --mag 600/600 cmsy5
C:\tex\bin\mktexpk.exe --dpi 657 --bdpi 600 --mag 1+57/600 cmr10
C:\tex\bin\mktexpk.exe --dpi 600 --bdpi 600 --mag 600/600 cmbx10
C:\tex\bin\mktexpk.exe --dpi 600 --bdpi 600 --mag 600/600 cmr9
C:\tex\bin\mktexpk.exe --dpi 600 --bdpi 600 --mag 600/600 cmr6
C:\tex\bin\mktexpk.exe --dpi 600 --bdpi 600 --mag 600/600 cmsy7
C:\tex\bin\mktexpk.exe --dpi 600 --bdpi 600 --mag 600/600 cmbx7
C:\tex\bin\mktexpk.exe --dpi 600 --bdpi 600 --mag 600/600 cmbx9
C:\tex\bin\mktexpk.exe --dpi 600 --bdpi 600 --mag 600/600 cmmi9
C:\tex\bin\mktexpk.exe --dpi 600 --bdpi 600 --mag 600/600 cmsy6
C:\tex\bin\mktexpk.exe --dpi 600 --bdpi 600 --mag 600/600 cmsy9
C:\tex\bin\mktexpk.exe --dpi 600 --bdpi 600 --mag 600/600 cmmi6

改行コードがうまく入っていない場合は自分で正しく改行してやる.
そしてコマンドプロンプトで実行する.


...
C:\> C:\tex\bin\mktexpk.exe --dpi 600 --bdpi 600 --mag 600/600 cmr8
c:/tex/share/texmf/fonts/pk/canonex/public/cm/cmr8.600pk exists.
c:/tex/share/texmf/fonts/pk/canonex/public/cm/cmr8.600pk

上のように表示されたら, TEXPK の設定の中でこのパスが検索対象に含まれているかどうかを確認する.恐らく含まれていない.

TEXPK:


^r\pk\cx\\^s.^dpk;^r\pk\bjtenex\\^s.^dpk;^r\pk\pk300\^s.^dpk;^r\tfm\ptex\^s.tfm;^r\pk\^s.^dpk;^r\pk\modeless\public\txr\^s.^dpk;^r\pk\modeless\\^s.^dpk;^r\vf\\^s.vf

今回は上のようになっていたので,とりあえず最初に検索パスを追加する.

TEXPK:


^r\pk\\cm\\^s.^dpk;^r\pk\cx\\^s.^dpk;^r\pk\bjtenex\\^s.^dpk;^r\pk\pk300\^s.^dpk;^r\tfm\ptex\^s.tfm;^r\pk\^s.^dpk;^r\pk\modeless\public\txr\^s.^dpk;^r\pk\modeless\\^s.^dpk;^r\vf\\^s.vf

なお, \\ とするとあらゆるディレクトリがマッチするワイルドカード指定ができる.
ちゃんと設定を保存する.
ここまで終えればちゃんと印刷できるようになっているはずだ.