From: TAKAHASHI Masayoshi Date: 2000-11-04T23:34:21+09:00 Subject: [ruby-dev:11374] Re: Ruby I18N 高橋征義です。 matz@zetabits.com (Yukihiro Matsumoto)さん: > UTR#17はまだちゃんと読んでないんですが、なんとなくうまく説明 > できないような気がします。文字集合から独立したエンコーディン > グと言う概念がないようなので。 確かにそうですね。 用語も気にはなるのですが、まだあまり重要ではないと思うので置いておいて。 > んでもって、以下のことを考えてるわけです。 > > * スクリプト言語における文字列処理に必要な情報のほとんどは > エンコーディングに関する情報のみである。わずかな例外は文 > 字種の判定である。 (略) > ような気がしてるんですが、気のせいかなあ。 気になる点としては、以下のようなことがあります。 a) 「似たグリフを持つ字」の問題(Unicodeには「〜」に似た文字や「−」に 似た字が死ぬほどある。これをJIS X 0208などの文字集合と合わせて扱お うとすると、文字集合のレベルで異なっていると考えられるので、エン コーディングの問題には帰着できない)。それともちろん包摂の問題。 b) 整列の問題(整列をまじめにやろうとすると、Localeに関する情報が 必要になる) c) 結合文字の問題(Unicodeではアクサンつき文字を1code pointで表す 場合と2code pointsで表す場合がある。この場合の「長さ」は どうする?) まあ、この辺りは、 a') エンコーディング変換についてはプラットフォーム依存 b') 整列はあきらめる or エンコーディング依存 c') compose/decomposeは別ライブラリに任せて、文字列クラスとしては 単純に「length = code point数」とする と、あっさり逃げるのが無難なのでしょうね。 高橋征義 (TAKAHASHI Masayoshi) Email:maki@inac.co.jp