From: matz@... (Yukihiro Matsumoto) Date: 1998-08-28T11:54:15+09:00 Subject: [ruby-list:9319] Re: 1byte-kana (Kconv class) まつもと ゆきひろです In message "[ruby-list:9307] Re: 1byte-kana (Kconv class)" on 98/08/27, TAKAHASHI Masayoshi writes: |高橋征義です。 |> 2. 現状のkconvはいわゆる「半角かな」に出会うと全角に変換し |> ようとします(この挙動を変更できません) | |……そうだったんですか。 |kconvって、元がnkfのようんですが、そのせいでそういう仕様なん |でしょうか。 まあ,普通の場合にはJIS-X0201カナはいらないだろうと思ってこ うなっているわけです.確かnkfのデフォルトの仕様でもあります し.ただ,nkfの方はオプションでカナをそのまま通すように指定 できるのに,kconvの方にはそれを指定する方法がないというワケ です. |> p.s. |> いろいろあるんでkconvはいつか全面的に書き換えたいんですが. | |どうすればいいんでしょうね。 先にも言ったようにいろいろあるんで,kconvに大きく手を入れた い気持ちがあるので,ワタシ的にはその時にまとめて対応したいで す.んで,とりあえずということであれば,高橋さんにお勧めなの は「半角カナを理解するkconvを作る」ことです. kconv.cの602行辺りのx0201_f = TRUEをFALSEに,624行付近の x0201_f = TRUE; を削除すると半角カナをそのまま通すように出来 ると思います. あとはこの新しいkconv.soをkkconv.soとかいうような別の名前で インストールすれば出来上がりです.安易ですが. 将来的には * nkfでないものをベースにして(あるいはスクラッチから) JIS/SJIS/EUC-JPの相互変換を行うnew kconvを作る.この時に カナの扱いを指定できる仕様を考える * それとは別にtcsかなにかをベースにもっとたくさんのコード を相互変換できるモジュールを用意する.あるいはnew kconv はこのモジュールをベースにして作る. とかいうようなことを考えています.が,それがいつかと聞かれる と困るんですね.Ruby本の原稿が仕上らないと(あと本文は9章だけ なんですが…),なんか落ち着いてプログラムできないってことに しておいてください. もっともコード変換や正規表現などは鬼門なので逃げてるってのも 本音なのですが. まつもと ゆきひろ /:|)