10.08.2010

** ERROR ** Could not find encoding file "H".

Cygwin 上の日本語 LaTeX 環境で
** ERROR ** Could not find encoding file "H".
というエラーが出たときの対処についてのメモです.
おそらく Linux でも同様に対応可能だと思います.


状況
tex -> dvi -> pdf と生成するために platex, dvipdfmx を使って以下のようにしているのですが,
別件で ghostscript をアップデートしてから dvipdfmx 実行中に前述のエラーが出るようになりました.
% platex hoge.tex
% dvipdfmx hoge


対処
どうやら有名なエラーらしく,フォントの読み込みに失敗している模様.
ghostscript のアップデートにより,フォント関係のパスが変わったことが原因のようでした.
結論としては以下のコマンドで正常に動作するようになりました.
% ln -s /usr/share/ghostscript/8.50/Resource/ /usr/local/teTeX/share/texmf/dvipdfm/
% mktexlsr
このときフォントの位置は ghostscript のバージョンやインストール先によって異なります.また,リンクを配置すべき位置も tex をどこにインストールしたかによって異なりますが, mktexlsr 実行時に出力されるディレクトリがヒントになると思います.
当方の環境では以下のようになっていました.
% mktexlsr
mktexlsr: Updating /usr/local/teTeX/share/texmf/ls-R...
mktexlsr: Updating /usr/local/teTeX/share/texmf-config/ls-R...
mktexlsr: Updating /usr/local/teTeX/share/texmf-dist/ls-R...
mktexlsr: Updating /usr/local/teTeX/share/texmf-var/ls-R...
mktexlsr: Done.

以下の位置にシンボリックリンクを張っている例を多数見かけたので,そのまま同じようにしてまったく問題解決できなくてハマっていました.フォントへのリンクを張り直したのにうまくいかない方はリンクを置く位置をよく確認してみてください.
/usr/share/texmf/dvipdfm/

0 件のコメント:

コメントを投稿