ものがたり(旧)

atsushieno.hatenablog.com に続く

Windowsでは、もうサポート対象の漢字を一生増やせません

少なくともバイナリ互換性を維持する限りは。

Windowsのsortkeyでは、CJK統合漢字のコードポイント4E00-9FA5にあたる膨大なマップを、sortkeyの9E 02 01 01 01 01からF0 B4 01 01 01 01に割り当て、続けてF900から始まるCJK互換漢字のマップをF0 B5 01 01 01 01から割り当てている。

ところで、Unicode 4.1のCJK統合漢字の範囲は、4E00-9FA5ではなく4E00-9FBBである。この9FA6-9FBBにあたる範囲の文字は、最新の仕様に至るまでの過程で追加された文字であろうと思われる。

これらの文字のコードを間に入れちゃえば良いじゃん、ということは出来ないだろう。なんにも考えずに間を隙間なく埋めてしまったので、このようなことになってしまったのだ。

Windows XPは2001年に出ているというのに、文字列比較のコードはWindows 95の頃の実装をそのまま引きずっているので、新しい文字が出てきたりUnicodeの仕様の問題が修正されるたびに、どんどん時代遅れのものになっているというわけだ。

追記: 何か一部にウソだと勘違いしている奴がいるみたいだけど、僕は事実しか書いていないんだよな、残念ながら。バイナリ互換性を破棄すればちゃんと正しくサポート対象の漢字を増やすことだってできる。Windowsにはもう未来がないんだ、って思いこむのは、文章をきちんと読めてない奴だけだ。

あ、でも、そういう文章理解能力のない奴が僕の文章を忌避するというのはとても理解できる(何で読んでいるのかは理解できないが)。ただ、評価する利用者の視点で言えば、重要なのはサポート担当がいるかどうかであって、国内に開発者がいるかどうかなんて実にどうでもいい要素だ。開発者として参加するという側面でも、僕はつるんで活動しているわけじゃない(もちろん連携とか協力とかを拒んでいるわけでもない)し、何かを犠牲にすることなく僕と一生関わらずにいることは十分可能だ。ていうか穴ぐらで愚痴ってないで自分なりに自分の思うところをちゃんと行動で示せよ、とか思う。何も出来ない負け犬など見苦しい。

まあ話はそんな一般的な事じゃないだろうね。僕には敵がたくさんいるし、そいつらがこそこそ動いているだけの話だろうな、と。つうか、堂々とおもての顔を使って書けよ。ホント情けねえ。