🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: fj.editor.xemacs
Article #113

Re: open-network-stream使用時の文字コードについて

#113
From: Katsumi Yamaoka
Date: Mon, 22 Oct 2001 23:57
52 lines
4264 bytes
>>>>> In <xl9vgh75rs4.wl@cal.infonets.hiroshima-u.ac.jp>
>>>>>	IMAI Hidetoshi <hidepin@infonets.hiroshima-u.ac.jp> wrote:

山岡>> 以下のコードで関数 decode-coding-region そのものを置き換えます。

実はこれ、自動コード判定すら満足にできなかった初期の XEmacs 20
のころに編み出した技なのですが、

今井さん> 早速ためしてみたのですが、結果はまだ文字化けするところがある。
今井さん> でした。

だめでしたか。繰り返しになりますが、いわゆる安定版をお望みの諸兄
には XEmacs 21.4 (*) をお勧めしましょう。

(*) ftp://ftp.xemacs.org/pub/xemacs/xemacs-21.4/xemacs-21.4.4.tar.gz
    (CVS の candidate-21-4 枝ではすでに 21.4.5 が待機しています
    が、現在は一時的に CVS サーバが使えないようです。)

今井さん> subsidiary-coding-systemなどよく分からない関数があるのですが、
今井さん> 関数をみたところ最初に全角文字をre-search-forwardで見つけ出
今井さん> しsjisにdecodeし、次に半角文字をみつけだし、sjisに変更した後
今井さん> 全角に変換しています。

ascii が混じっていなければ良いのではないかと思ったのですが、
2-byte の sjis だけでもある条件ではうまくいかないようですね。
あのコードに少し手を入れれば、その条件を抽出して、
decode-coding-region に頼らずにデコードする手法が見つかるかもし
れませんね。

今井さん> つまり、山岡さんのなさっていることは、半角文字が文字化けの原
今井さん> 因であると予想し、別々に処理することで文字化けを防ごうとして
今井さん> いるのだと思います。

いえ、順序に深い意味は無いです。

今井さん> しかし、これでうまくいかなかったので、文章に半角があるのが原
今井さん> 因ではなく、元々のdecode-coding-regionのバグが半角全角にかか
今井さん> わらず起きていると考えればいいのでしょうか?

特に多用される全角の方に問題がありそうですね。2-byte の一文字だ
けだとちゃんとデコードするのに、他の文字との組合せで起こるような
気がします。もしそうなら、

	      (while (re-search-forward "\
\\([\x81-\x84\x89-\xe9][\x40-\x7e\x80-\xfc]\
\\|\x88[\x9f-\xfc]\
\\|\xea[\x40-\x7e\x80-\xa2]\\)+" nil t)

の部分で使っている正規表現から "+" を消してやったらうまくいくか
しら。
-- 
Katsumi Yamaoka <yamaoka@jpl.org>
Technical Details
Message-ID: <yosur8rv6xf0.fsf@jpl.org>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!headwall.stanford.edu!newsfeed.media.kyoto-u.ac.jp!onodera-news!news.heimat.gr.jp!yamaoka
References: <xl9g08hsdaq.wl@cal.infonets.hiroshima-u.ac.jp> <87ofn5wkb6.fsf@boggy.acest.tutrp.tut.ac.jp> <xl9g08hwhle.wl@cal.infonets.hiroshima-u.ac.jp> <yosu4rowqynv.fsf_-_@jpl.org> <xl91yk0jbdh.wl@cal.infonets.hiroshima-u.ac.jp> <yosuzo6nkila.fsf@jpl.org> <yosuofn0e10k.fsf_-_@jpl.org> <xl9vgh8yvf1.wl@cal.infonets.hiroshima-u.ac.jp> <yosur8rw2g1o.fsf@jpl.org> <xl9vgh75rs4.wl@cal.infonets.hiroshima-u.ac.jp>

Show Full Headers
Complete Article Headers
X-Google-Language: Japanese,JIS
X-Google-Thread: 1107f7,e1d71c6971fdc530
X-Google-Attributes: gid1107f7,public
X-Google-ArrivalTime: 2001-10-22 16:57:47 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!headwall.stanford.edu!newsfeed.media.kyoto-u.ac.jp!onodera-news!news.heimat.gr.jp!yamaoka
From: Katsumi Yamaoka <yamaoka@jpl.org>
Newsgroups: fj.editor.xemacs
Subject: Re: open-network-stream使用時の文字コードについて
Date: Tue, 23 Oct 2001 08:57:05 +0900
Organization: Emacsen advocacy group
Lines: 52
Sender: yamaoka@groundpoundrecords.com
Message-ID: <yosur8rv6xf0.fsf@jpl.org>
References: <xl9g08hsdaq.wl@cal.infonets.hiroshima-u.ac.jp>
 <87ofn5wkb6.fsf@boggy.acest.tutrp.tut.ac.jp>
 <xl9g08hwhle.wl@cal.infonets.hiroshima-u.ac.jp>
 <yosu4rowqynv.fsf_-_@jpl.org>
 <xl91yk0jbdh.wl@cal.infonets.hiroshima-u.ac.jp>
 <yosuzo6nkila.fsf@jpl.org> <yosuofn0e10k.fsf_-_@jpl.org>
 <xl9vgh8yvf1.wl@cal.infonets.hiroshima-u.ac.jp>
 <yosur8rw2g1o.fsf@jpl.org>
 <xl9vgh75rs4.wl@cal.infonets.hiroshima-u.ac.jp>
NNTP-Posting-Host: groundpoundrecords.com
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-2022-JP
X-Trace: pcat.heimat.gr.jp 1003795066 75897 207.228.244.150 (22 Oct 2001 23:57:46 GMT)
X-Complaints-To: usenet@news.heimat.gr.jp
NNTP-Posting-Date: 22 Oct 2001 23:57:46 GMT
Cc: IMAI Hidetoshi <hidepin@infonets.hiroshima-u.ac.jp>
User-Agent: T-gnus/6.15.4 (based on Oort Gnus v0.04) (revision 08)
 XEmacs/21.5 (beta3) (asparagus) (sparc-sun-solaris2.6) WEMIKO/1.14.1
 (襟鞭毛虫) CLIME/1.14.3
 (寺井西口) APEL/10.3
X-Face: #kKnN,xUnmKia.'[pp`;Omh}odZK)?7wQSl"4o04=EixTF+V[""w~iNbM9ZL+.b*_CxUmFk
 B#Fu[*?MZZH@IkN:!"\w%I_zt>[$nm7nQosZ<3eu;B:$Q_:p!',P.c0-_Cy[dz4oIpw0ESA^D*1Lw=
 L&i*6&(