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

add supported coding-system for emacs21 w/o Mule-UCS (Re: Re:w3m-ucs-e21)



今回の変更により GNU Emacs21 と素の w3m の組合せで、Mule-UCS を利用せ
ずに以下の coding-system で記述されたページが閲覧できるようになったこ
とをお報せします。

 ・utf-8, utf-16 (mule-unicode で表現できる文字のみ)
 ・iso-8859-* (*1)

現在 GNU にて開発中の Emacs21.3.50 を利用した場合には、加えて以下の 
coding-system で記述されたページが閲覧できます。(*2)

 ・utf-8, utf-16 (CJK を含む) 
 ・GB2312
 ・Big5
 ・EUC-KR, ISO-2022-KR

もちろん、今まで利用できていた coding-sysmte のページもそのまま閲覧で
きます。

(*1) iso-8859-1 と iso-8859-2 以外は確認してませんが、多分(^^;
(*2) `utf-translate-cjk-mode' を有効にする必要があります。


>>>>> In [emacs-w3m : No.05508] 
>>>>>	TSUCHIYA Masatoshi <tsuchiya@pine.kuee.kyoto-u.ac.jp> wrote:

土> 作業完了しました.確認をお願いします.

どうもおつかれさまでした。
問題無いと思います。

気になった点としては、Emacs21.3 以前と Emacs21.3.50 とで w3m-e21.elc 
を共有できないことがあります。
byte-compile 時に w3m-euc-japan-encoder が定義されちゃうので、
lookup-character の有無が実行時には反映されず、例えば Emacs21.3 で 
byte-compile したものを Emacs21.3.50 で利用した場合に、CJK を含む 
utf-8 なページを閲覧できません。

土> w3m-ucs-to-char() なんですが….これまた,一旦,w3m-ucs.el をロードす
土> るとその時点で Mule-UCS 由来の ucs-to-char() を使うことが決まってしま
土> うので,w3m-use-mule-ucs を動的に変更した場合に,Emacs21 本来の 
土> decode-char() を用いた実装に戻すことができません.

気にはなっていましたが、w3m-use-mule-ucs を t から nil にした時だけの
問題ですので、致命的では無いとは思います。

土> emacs character ←→ Unicode の変換を行う encode / decoder が,同じ変
土> 換テーブルを使っていないと,変換が不可逆になってしまうのが,気になって
土> います.

土> さて,どうしたものでしょうね.

容易な手としては、w3m-input-coding-system に応じて、decode 時に呼ぶ関
数を変えることですかね。

-- 
有沢 明宏