From: Martin Duerst Date: 2008-01-07T18:20:23+09:00 Subject: [ruby-dev:32953] Re: Shift_JIS variants and UTF-16 support 中村さん、こんにちは。 ご質問どうもありがとうございました。 At 10:25 08/01/07, U.Nakamura wrote: >こんにちは、なかむら(う)です。 > >transcodeとEncodingについて質問です。 > >(1) 現状のtranscodeがサポートしている「Shift_JIS」というのは、 > 数多あるvariantのうちのどれでしょうか? 変換テーブルには nkf の http://nkf.sourceforge.jp/ucm/SJIS-nkf.ucm を使っています。勿論こちらでバグが入ってしまった可能性もあります。 何か不都合なことがありましたら是非教えてください。 > 年末にWindows-31Jを入れたので、サポートしたいというかして > ほしいというかそう思っているのですが... こちらもそう思っています。既に CP932 のデータを色々いじっています (http://nkf.sourceforge.jp/ucm/cp932.ucm をベースにして)。 問題が、いじる間に、メーリングリストの議論とテーブルのデータ はどうも一致してないことに気がつきました。メーリングリストの 議論では Shift_JIS は JIS が定義している純粋なものだという 意見が強かったかと思いましたが、SJIS-nkf.ucm では少なくとも 一部のベンダー外字が含まれている。その辺りを相談したいところで 中村さんのメールがちょうどいいときに来ましたので是非意見を お聞かせください。 >(2) EncodingおよびtranscodeでUTF-16をサポートしたい/してほし > いのですが、何をどうすればいいでしょうか? > enc/unicode.cというのが既にあり、鬼車もUTF-16をサポートし > てたと思うのでEncodingの方はおそらくあまり苦労しないでで > きるんじゃないかとは想像しています。 ruby-core には先日にそれについての議論がありましたので、 是非参考にしてください。14729 から遡って見た方がいいかもしれません。 その話はここのメーリングリストに持ってきてもいいです。 transcode ではそのうち実装される予定なので、String#encoding から 'UTF-16' とか返ってくることにはなるだろうが、鬼車でサポート されても、Ruby の Encoding としてフルにさっポートされる予定が 無いのはまつもとさんの意見です。すなわち、 "中村".transcode('UTF-16').length 見たなものは 2 のではなく 4 を返す等、UTF-16 は内部 Encoding としては使えないということだと思います。 宜しくお願いします。 Martin. >それでは。 >-- >U.Nakamura #-#-# Martin J. Du"rst, Assoc. Professor, Aoyama Gakuin University #-#-# http://www.sw.it.aoyama.ac.jp mailto:duerst@it.aoyama.ac.jp