[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: emacs-w3m, w3m-m17n and mule
白井です。とりあえず、w3m-m17n だけ。
From: Kiyokazu SUTO <suto@ks-and-ks.ne.jp> さん曰く
Subject: [emacs-w3m:03695] Re: emacs-w3m, w3m-m17n and mule
Message-ID: <20020720-003828-5a442.suto@ks-and-ks.ne.jp>
Date: 20 Jul 2002 00:38:28 +0900
SUTO> > pok> http://www.mypsion.ru ? It is okay for me when called outside emacs as
SUTO> >
SUTO> > は koi8-r で書かれていて、なおかつ、charset が指定されていないよ
SUTO>
SUTO> ヘッダで
SUTO>
SUTO> Content-Type: text/html; charset=windows-1251
SUTO>
SUTO> と指定されていますよ。
あぁ、本当だ。ごめんなさい。ということは、ちゃんと、
windows-1251 (cp1251) を
From: ari@mbf.sphere.ne.jp (ARISAWA Akihiro) さん曰く
Subject: [emacs-w3m:03696] Re: emacs-w3m, w3m-m17n and mule
Message-ID: <m3eldzvhfr.wl@ari.mbf.sphere.ne.jp>
Date: Sat, 20 Jul 2002 00:57:44 +0900
ari> ● w3m-m17n を使用している場合に化ける。
ari>
ari> 私の元では http://www.nijino.com/ari/tmp/emacs-w3m-m17n-ru.png のように
ari> 激しく化けました。Cc で koi8 を指定すると問題ないけど、
ari> cyrillic-koi8 では http://www.nijino.com/ari/tmp/emacs-w3m-m17n-ru2.png
ari> のようにやはり化けました。
ari>
ari> w3m-m17n に -I を指定しなかったり、w3m-m17n の知らない coding-sysmte を
ari> 指定した時に、w3m-m17n 側で正しく判定できないのでしょうね。
w3m-m17n に -I で渡さないといけないのですね。(w3mee もかな)
ちょっと時間がないので、あまり確認はしていないのですが、付属のパッ
チをあてて、~/.emacs で
(codepage-setup 1251)
するという作戦はどうでしょう。(Emacs20/21 限定かしら? XEmacs は
わからない)
本来、w3m-m17n で "-I charset" を使うなら、"-O charset" もつけ
て、w3m-input-coding-system, w3m-output-coding-system もその
charset に対応する coding-system にした方が良いかもしれないです。
mew-w3m.el で w3m-m17n を使うときは、かずさんのリクエストでこう
なっています。
# お昼休みが終わってしまって、commit もちょっとできない。
--
白井秀行 (mailto:shirai@rdmg.mgcs.mei.co.jp)
--- w3m.el.orig Mon Jul 22 12:39:36 2002
+++ w3m.el Mon Jul 22 12:55:03 2002
@@ -839,6 +839,15 @@
(x-ctext . ctext)
(unknown . undecided)
(x-unknown . undecided)
+ (windows-1250 . cp1250)
+ (windows-1251 . cp1251)
+ (windows-1252 . cp1252)
+ (windows-1253 . cp1253)
+ (windows-1254 . cp1254)
+ (windows-1255 . cp1255)
+ (windows-1256 . cp1256)
+ (windows-1257 . cp1257)
+ (windows-1258 . cp1258)
(euc-jp . euc-japan)
(shift-jis . shift_jis)
(shift_jis . shift_jis)
@@ -1195,6 +1204,7 @@
(defvar w3m-current-base-url nil "Base URL of this buffer.")
(defvar w3m-current-forms nil "Forms of this buffer.")
(defvar w3m-current-coding-system nil "Current coding-system of this buffer.")
+(defvar w3m-current-content-charset nil "Current content-charset of this buffer.")
(defvar w3m-icon-data nil
"Cons cell of icon URL and its IMAGE-TYPE of this buffer.")
(defvar w3m-next-url nil "Next URL of this buffer.")
@@ -1211,6 +1221,7 @@
(make-variable-buffer-local 'w3m-current-title)
(make-variable-buffer-local 'w3m-current-forms)
(make-variable-buffer-local 'w3m-current-coding-system)
+(make-variable-buffer-local 'w3m-current-content-charset)
(make-variable-buffer-local 'w3m-icon-data)
(make-variable-buffer-local 'w3m-next-url)
(make-variable-buffer-local 'w3m-previous-url)
@@ -1226,6 +1237,7 @@
w3m-current-base-url nil
w3m-current-title nil
w3m-current-coding-system nil
+ w3m-current-content-charset nil
w3m-icon-data nil
w3m-next-url nil
w3m-previous-url nil
@@ -1237,13 +1249,14 @@
w3m-current-redirect nil))
(defsubst w3m-copy-local-variables (from-buffer)
- (let (url base title forms cs icon next prev
+ (let (url base title forms cs char icon next prev
start toc hseq refresh ssl redirect)
(with-current-buffer from-buffer
(setq url w3m-current-url
base w3m-current-base-url
title w3m-current-title
cs w3m-current-coding-system
+ char w3m-current-content-charset
icon w3m-icon-data
next w3m-next-url
prev w3m-previous-url
@@ -1257,6 +1270,7 @@
w3m-current-base-url base
w3m-current-title title
w3m-current-coding-system cs
+ w3m-current-content-charset char
w3m-icon-data icon
w3m-next-url next
w3m-previous-url prev
@@ -2738,6 +2752,7 @@
(string= "x-moe-internal" (downcase content-charset)))
(eq content-charset 'x-moe-internal)))
(setq cs (w3m-x-moe-decode-buffer)))
+ (setq w3m-current-content-charset content-charset)
(decode-coding-region
(point-min) (point-max)
(setq w3m-current-coding-system
@@ -3632,6 +3647,8 @@
(coding-system-for-write w3m-input-coding-system)
(default-process-coding-system
(cons w3m-output-coding-system w3m-input-coding-system)))
+ (when (and (memq w3m-type '(w3mmee w3m-m17n)) (not charset))
+ (setq charset w3m-current-content-charset))
(w3m-process-with-environment w3m-command-environment
(apply 'call-process-region
(point-min)
@@ -3672,10 +3689,11 @@
(w3m-check-header-tags)
(w3m-remove-meta-charset-tags)
(if binary-buffer
- (progn
+ (let ((cbuf (current-buffer)))
(delete-region (point-min) (point-max))
(insert-buffer
(with-current-buffer binary-buffer
+ (w3m-copy-local-variables cbuf)
(w3m-rendering-half-dump content-charset)
(current-buffer)))
(w3m-kill-buffer binary-buffer))