わさっきhb

大学(教育研究)とか ,親馬鹿とか,和歌山とか,とか,とか.

dvioutで英字の太字が出ない…解決!

だいぶ前から,仕事場のVista環境でTeXコンパイルして,dvioutで見ると,英字の非標準のフォント(太字,小さなサイズなど)が表示されず,困っていました.
その都度エラーメッセージが出るのですが,Retryを選んでも効果なしなので,Ignoreを選び,プレビュは,dvipdfmxで作られるPDFファイルを見てきました.とはいえ,今後は頻繁にファイル修正することになるので,本腰を入れて原因を調べることにしました.
エラーというのは,

フォントの自動作成の失敗(Cannot resolve Fonts)

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

でした.しかし,http://akagi.ms.u-tokyo.ac.jp/dvioutQA.htmlのあちこちを見て試したり,dvioutレジストリ設定を消してから再設定しても,マシンを再起動しても,変わりません.

Ver.3.12.1 から Help → System Info. → [Copy] で、dviout の基本動作環境の(基本的な環境変数を含む) 情報がクリップボードにコピーできるようになりました。

とあるので,やってみて,基本動作環境の情報の出力例と比較して,重要なことに気がつきました.
TeXの実行ファイルはc:\tex\binに置いていて,環境変数PATHにこのパスが含まれていましたが,このパス名より前に,Cygwinの実行ファイルがあるc:\cygwin\binが書かれていたのでした.
Cygwinのシェルを起動して,which mktexpkを実行すると,/usr/bin/mktexpkと出てきました.ついでに,/usr/bin (c:\cygwin\bin)には,mktexから始まる実行ファイルがいくつかありました.
「gen="`c:\tex\bin\mktexpk.exe --dpi ^d --bdpi ^D --mag ^M ^s"」の設定でmktexpk.exeは期待するパスのものを使用していますが,どうやら,このプログラムの内部で,mktexなにがしを呼び出すときには,Cygwinのものになっていて,エラーになっていたようです.
対策は簡単です.環境変数PATHの値を変更して,c:\tex\binをc:\cygwin\binより前に持っていけばいいのです.
Vista環境変数の変更方法は…2/4 VistaでJavaを使うには? [Javaプログラミング] All Aboutを参考にして,コントロールパネル/システムとメンテナンス/システム/システムの詳細設定/詳細設定/環境変数,ですね.
そうしてPATHの値を変更してから,PCは再起動せずに,dviファイルをダブルクリック…ふう.英字の太字も,問題なく表示するようになりました.