H な TeX のエラーに出会った時の対処

dvipdfmx を使って TeX 文書を PDF に変換していると、ghostscript がアップデートされるたびに高確率で H なエラーに遭遇する。TeX エロい。*1

世間でも同様の目にあっている方は多数おられるようで、Free Dynamic DNS(DDNS) by POP3,IMAP4,FTP,HTTP-BASIC for Home Server, VPS | MyDNS.JPといった記録をありがたく参考にさせてもらうのだけど。

ただ、他のディストリならともかく、debian で /usr 配下のファイルを手編集とか邪道すぎてありえない、絶対他の場所で override できるはずだ、と思って探してみた。

まぁ予想通り /etc/texmf/ というディレクトリがあって、内容はこんな感じになっている。

% ls /etc/texmf
dvi2ps    dvips   hyphen.d    tex       texmf.cnf          updmap.d    xdvi
dvipdfm   dvipsj  language.d  texdoc    texmf.cnf.ucf-old  vfontmap.d
dvipdfmx  fmt.d   metafont    texdoctk  texmf.d            web2c

よしよし texmf.cnf だな、と思いかけたものの、texmf.d があるので、「あぁ、texmf.cnf は自動生成か、あぶないあぶない変更したはずの設定を上書きされて発狂するところだった」と気付く。

% grep CMAPFONTS /etc/texmf/texmf.d/*
85Misc.cnf:CMAPFONTS = .;$TEXMF/fonts/cmap//
% sudo update-texmf[TAB連打]
update-texmf         update-texmf-config

なるほど。

というわけで、85Misc.cnf に ghostscript の font パスを追記してから、

sudo update-texmf-config

して、無事解決することができた。TeX に愛があれば /usr/share/doc や man も確認しとくべきなんだろうけど……まぁない袖はふれないよね。

*1:これくらい自動で追従してくんねーのかなっつーか TeX 滅べ