なんだが、Mac OS X が、
変な文字コードがあると、Unicode + Base64
HTMLでは、iso-2022-jp + Q encode
って技を出すので、最近、mh では、まったくメールが読めません。
Unicode 対応はしたのに、multi part な base64 にすると、mhn じゃないと読めなくて、mhn の馬鹿さ加減は限界ないので、不可。
mh やめろって言う説はあるし、Gmail に転送して iPhone で読むって言うのはやってはいるんですけどね。
山田さんのメールが、iso-2022-jp + Q encode なので、さっぱり読めない。で、mhl を Perl で書けば良いんだよなと思って、Java Kuche の勉強会の間に書き始めたんだけど、これが、
楽勝
MIME::Base64, MIME::QuotedPrint とかあるし、NKF module があるので、さくさくだ。なので、日曜日に、pdf/word にも対応しました。
pdf は、xpdf に pdf2text があるのね。docx は、zip な xml なので、unzipでtagを除けば良い。doc は、antiword って言うのがある。ついでに、全角数字やアルファベットも半角に統一。
これで、数行の平文な PDF とか Word が来ても、全然平気で読めます。
意外に面倒なのが、HTML。
Q encode で tag の中で改行されている
Q encode では改行を削るのは許されない
HTML中の改行は削る
<br>は改行にする
<pre> の中だけは改行を保存する
いや、まぁ、良いんだけど。
1 while (s/(<[^>]*)[\r\n]+([^>]*>)//ig );
とかは考え付いたんだが、最後の <pre> の実装がわからん。
と言うわけなので、まだ、しばらく MH 使うらしい。
No comments:
Post a Comment