[#42835] RubyインストールしたがTKがインストール出来ない — "Kazutomi Ueda" <kazuto@...>

初めまして上田と申します。

16 messages 2006/09/28
[#42837] macosxでRubyインストール 塰 でエラー — 上間 つよし <mugenkai15@...> 2006/09/28

はじめまして

[ruby-list:42809] Re: KconvはBMP外の文字を扱えない?

From: NARUSE Yui <naruse@...>
Date: 2006-09-15 06:50:04 UTC
List: ruby-list #42809
成瀬です。

Masahiro Sakai wrote:
> もし難しくないのであれば対応して欲しい、と個人的には思います。
> 
> UTF-8とUTF-16のの変換で情報が落ちるとは普通考えないため、
> 現在の仕様だと、知らない間にデータを失ってしまいそうで怖いです。
> また、JIS X 0213 対応はともかく、UTF-8とUTF-16の変換は、
> (Uconv等ではなく)標準ライブラリだけで出来て欲しいですし。

nkf 2.0.8 2006-09-15 で BMP 外と UTF-32 に対応しました。
また、1.9 にはこれを取り込みました。

なので、現在の 1.9 では、
Kconv.kconv([0x1D516].pack("U"), Kconv::UTF16, Kconv::UTF8)
=> "\3305\335\026"
Kconv.kconv("\xd8\x35\xdd\x16", Kconv::UTF8, Kconv::UTF16)
=> "\360\235\224\226"
Kconv.kconv("\xfe\xff\xd8\x35\xdd\x16", Kconv::UTF8, Kconv::UTF16)
=> "\360\235\224\226"
という意図したとおりの結果になります。

これで U+D800-U+DFFF, U+FEFF, U+FFFE を除いた多くの BMP にある文字、
及び BMP 外の文字は UTF-* to UTF-* の変換では素通しされるはずです。

例外が以下のオプションに絡む文字ですが、
これも NKF モジュールを使って指定すれば素通しできます。
* -m0
* -x
* --no-best-fit-chars

既知のバグは
* UTF-32 を --ic で指定できない
* UTF-16 と UTF-32 の guess ができない
ですが、これらはすぐに直します。

-- 
NARUSE, Yui  <naruse@airemix.com>
DBDB A476 FDBD 9450 02CD 0EFC BCE3 C388 472E C1EA

In This Thread

Prev Next