[Date Prev][Date Next][Thread Prev][][Date Index][Thread Index]

Re: wrong html bpart coding



>>>>> In [emacs-w3m : No.06958] 木下さん wrote:

>> charset=windows-1251 なる text/html パートを含むメールが読めない

> w3m.elで、coding systemとしてwindows-1251ではなくcp1251を使うよう
> になっているからだと思います。

うーん、windows-1251 の存在は正しく認識しているんですよ。その証
拠に w3m-charset-coding-system-alist のデフォルト値からそれは外
されていて

(w3m-charset-to-coding-system "Windows-1251")
 => windows-1251

かつ、w3m に渡す前の html コンテンツは正しくデコードされています。
それを w3m-rendering-half-dump を介して w3m とやり取りするときの
coding-system-for-read と coding-system-for-write の束縛値は両方
とも iso-2022-7bit-ss2 で、これはくだんのキリル文字を正しく扱う
ことができます。そして w3m に渡す引数は以下の通り。

  "-halfdump" "-o" "ext_halfdump=1" "-o" "strict_iso2022=0"
  "-o" "ucs_conv=1" "-I" "ISO-2022-JP-2" "-O" "ISO-2022-JP-2"
  "-T" "text/html" "-t" "8" "-cols" "79" "-o" "display_image=on"
  "-ppl" "64" "-ppc" "8"

これらの条件は XEmacs 21.4.15 と Emacs 21.3.50 で違いは無いのに、

(defun w3m-rendering-buffer (&optional charset)
[...]
  (w3m-rendering-half-dump charset)

この後で、Emacs だけが化け化けになります。

;; Emacs 21.3 以下での動作はよくわかりません。^^;;
-- 
Katsumi Yamaoka <yamaoka@jpl.org>