Windows Vistaの登場で顕在化する問題

C#言語のJIS改訂作業の委員会に出ていて,もうすぐWindows Vistaがリリースされるために現在各社で懸命に検証作業をおこなっているが,その中で見つかったという興味深い問題の話を某氏に聞いた.なお,私自身はまだ使っていないので,伝聞の話として読んでほしいし,間違いがあれば指摘して欲しい.

Windows VistaJIS X 0213に対応することは,みなさん聞いているかもしれない.これは一体どういうことかというと,使う側から見たらより多くの文字を表示できるようになるだけでなく,仮名漢字変換の段階で,それらの文字を含んだ候補が提示されるということだ.また,開発者の側から見ると,プログラム内部でEUC符号化やシフトJIS符号化で扱うことができなくなるのでUnicodeとして扱えるように移行していくだろうこと,そしてUnicodeを採用したシステムであっても,仕様に忠実な文字の扱い…たとえば一部の文字は複数のUnicode符号位置で表したり,UTF-16の可変長符号単位…つまり16ビットの符号単位を2つ合わせて1文字を表現したりすることが必要になるのだ.現在主要なシステムは対応しているものの,ユーザの使っているプログラムが正しく実装されているとは限らないので注意して欲しい.

それで,今回指摘された問題は前者に関するものである.Microsoftは,JIS X 0213を意識しないで活用できるように設計した結果,逆にユーザはJIS X 0213で初めて導入された新しい文字かそうでないかを簡単には区別できないようになっている.つまり,知らないうちにどんどん使われてしまうようになるのだ.たとえば,丸数字を受け入れざるをえなかったと同様に,これらの新しい文字も早急に受け入れざるをえないだろう…しかも今回は独自拡張ではなくJIS規格なのだから.私がいろいろな場所でこの問題について発言してきたが,ついに顕在化しようとしているわけである.

ただし,現状ではまだJIS X 0213に対応しているシステムばかりではないわけなので,何らかの移行段階における暫定的な措置が必要である.某氏が指摘したのは,IMEの入力を従来のコードページ932に制限する方法がないことである.たとえば,IMEのJIS第一水準と第二水準に制限する機能があるらしいが(私自身は未確認),これでは(当然)丸数字などの独自文字が通らないらしい.さて,開発者はこの問題にどう対処するべきか?…この問題は,特にWindows Vistaが登場したらホットな話題になるかもしれない.