platex とかで encoding を読み間違えると,普通にコンパイル通ってしれっと文字化けすることがある.
例えば,
hoge.tex
\documentclass{jsarticle} \begin{document} 日本語通るかな? Hello, World! \end{document}というのを考えてみる.utf-8 で書いて utf-8 で読んでもらうと当然普通に通る.
一方これを,
$ platex --kanji=Shift_JIS hoge.tex $ dvipdfmx hoge.dviとすると,たとえばここでは
** WARNING ** No character mapping available. CMap name: H input str: <7c> ** WARNING ** No character mapping available. CMap name: H input str: <7e> ]と Warning が出るもののコンパイルは通って,
となる.もちろんというかなんと言うか,文字によっては Warning 無しで通ってしまうこともあって,たとえば
foo.tex
\documentclass{jsarticle} \begin{document} あ \end{document}で
$ platex --kanji=Shift_JIS foo.tex $ dvipdfmx foo.dvi特に Warning とかもなく一見普通にコンパイルされて
今回のは utf-8 のを shift_jis として読むというやや特殊な(?)状況.
エディタが utf-8 で扱ってたのを Windows 環境の platex でそのままコンパイル,という話だったのだが,
逆に shift_jis のファイルを utf-8 のつもりで読むとめったにうまく行かないっぽい.
もっと露骨に問題が発生する感じ.
なんとなく encoding ミスると大抵の場合はそうなるイメージだった.
No comments:
Post a Comment