作者: 藤岡和夫
日時: 2008/6/29(12:38)
On Sun, 29 Jun 2008 12:01:41 +0900
"davi" <davi-1984@...> さんwrote:

> また、U+FF00〜定義されている「半角・全角」文字ブロックはUnicode
> のBMP領域の中では鬼っ子のような扱いをされていたようで、(今のバー
> ジョンはわかりませんが、)当時のPerl5.8ではCJK統合漢字の最後の部分
> 9FFFまで扱えればいいでしょ、みたいな実装だったのかもしれません。
> 
> まぁ、いずれにせよ、この辺りから、Perlはとにかくイヤなの!が
> 脳内で固定化しちゃったような気がします。

 なるほど、確かに5.6時代を含めて、非ascii文化圏のperlユーザーは不遇だった
かもしれませんね。そのためにRubyユーザーが増えたかもね^^;)

> ま、いずれにせよ、そろそろ色んな問題点の洗い出しも済んで、実装も
> 落ち着いてきた頃でしょうから(…と信じたい)、再入門するには
> 良い頃合いなのかもしれませんね。

 確かにそうかもしれません。ようやく行けそうな気がしてきましたね^^;)

> >  これまでは、僕はUTF-8フラグを一切立てずにスクリプトを書いてきて、HTML/XML/RDF
> > の処理だから問題なかったのですが、でびさんの問題のように本来の日本語の処
> > 理をしようとすると、やはりUTF-8フラグを無視できないねと
> 
> えーと、「本来の日本語の処理」というのは、ちょっとズレがあるような
> 気がするので、訂正しておきます。

 なるほど確かにそうですね。

> 「もうね、入力も内部処理も出力も、全部UnicodeのUTF-8でいいじゃん。」
> と思っています。

 この部分は、過去の資産の問題もあるので、OKというわけにはいかないですね。
ただ、UTF-8の処理がもっとも便利な仕様にして欲しいですね。

> 今の問題意識は「日本語」というよりも「漢字文化圏の言語処理」の問題
> という意識の方が強いです。
> 
> もうちょっと汎用化した表現をすれば、
> 
> A:文字文化圏毎に必要となる文字種ブロックを選択的に組み合わせて使いたい。
> B:各文字種ブロックでの標準的な配列意識を意識した処理をしたい。
> 
> になるのかなぁ、と思います。
> 
> まず、Aですが、日本人なら「漢字」ブロック+「かな/カナ」ブロック+
> 「アルファベット」ブロック+「数字」ブロック+…みたいな感じでしょうし、
> 韓国人なら「かな/カナ」ブロックの代わりに「ハングル」ブロックが必要でしょう。
> 
> これは、Unicodeではちゃんと実現できている。
> 
> しかし、Bになると、困ったことになっています。
> 
> 様々な文字種の各ブロックを組み合わせて各言語毎に文章表現が成立して
> いるわけですが、Unicodeという規格の性質上、増補作業によって
> 1つの文字種のブロックが2箇所以上に分かれてしまっている場合がある。
> 
> そうすると、特にソーティング処理でとても困る。
> 
> その最もわかりやすい部分が漢字文化圏で使用する「漢字」ブロックだ、と。

 これは、私も日本語をソートしていつも思うのですが、コード順にソートして
何の意味があるのかなということです。何か発音順のあいうえお順のようにも思
えるのですが・・・

 少なくとも、日本人だから、日本語のソートについてはこうあるべきという考
え方があってもよいと思います。それさえあれば、日本語文字列ソートプロジェ
クトみたいなものはできるかもしれない。それを拡げて、世界言語文字列ソート
プロジェクトに発展させることも可能かと(^^)

藤岡 和夫
kazuf@...
日曜プログラマのひとりごと http://homepage1.nifty.com/kazuf/renewal.html