From: TAKAHASHI Masayoshi Date: 1998-08-27T19:29:38+09:00 Subject: [ruby-list:9307] Re: 1byte-kana (Kconv class) 高橋征義です。あわわ、すごく間違えてましたね(大汗)。 まつもと ゆきひろさん: > |Kconvクラスって、いわゆる1バイトカナ(JIS X 0201のカナ)は > |扱えないんでしたっけ? > > 扱えないっていうかなんていうか.半角カナのままでは扱えません. そうなんですか。それはちょっと悲しいです。 順番は前後しますが、 > 4. 添付のプログラムは確かに変な動きをするんですが,よく見る > とコードの指定が間違ってます.出力が先,入力が後です. ……これが一番の問題だったんですね(^^; # 道理で妙な挙動をするはずです<気づけよ > 1. EUCには「1バイト」のカナはないです.2バイトですね. (^^;;; その通りです。0x8e?? ですね。 # 途中までJIS X 0201カナと書いていたのを、やっぱりやめて書き # 直してしまったのが敗因でした。 > 2. 現状のkconvはいわゆる「半角かな」に出会うと全角に変換し > ようとします(この挙動を変更できません) ……そうだったんですか。 kconvって、元がnkfのようんですが、そのせいでそういう仕様なん でしょうか。 > kconvではSJISの1バイトカナを出力できません.機能はソースに入っ > てるんでオプション引数で指定できるようにすればよいんでしょう > が.どうしましょうねえ. Unicode(UCS-2とUTF-8) <-> Shift_JIS 変換の結果を調べるスクリプト がほしいと思っていたので、この辺りができないと使えません。 オプションで指定できるのであれば、その方がうれしいです。 > p.s. > いろいろあるんでkconvはいつか全面的に書き換えたいんですが. どうすればいいんでしょうね。 1.とりあえずEUCとSJISとISO-2022-JPが使えれば良いとする。 他のことは知らないふり(^^;;で、新JIS漢字が制定されたら使えなく なる(というか変更を加えるんでしょうけど)。エンコード方式の自動 検出は自由に作り込める。機種依存文字は全て無視。 2.ISO-8859-?やUnicodeもひっくるめた、広いクラスにする。 perlがUnicodeに対応するらしい(Unicodeの正規表現も作るらしい。 一体どんなんだ……)ので、その辺りも参考になったりするんでしょう か。エンコード方式の自動検出は、ちょっと苦しくなりそう。 3.いくらでも拡張可能な、すごいクラスにする(^^; MULE-UCSがそんな感じなんでしたっけ? ただ、そこまで来ると 自動検出は無理なんで、EUC/SJIS/ISO-2022-JPに限定して検出、 となりますか。 個人的には3を希望なんですが、そうなると標準附属させるような クラスにはならないですよね……。 高橋征義 (株式会社アイナック) Email:maki@inac.co.jp