「Vistaの新文字セットが引き起こすトラブル」特集

IT Proに特集ページができている.

http://itpro.nikkeibp.co.jp/99/vista/index.html

私は,次の3つの段階で問題が発生すると予想している.

  1. 文字の表示(フォント変更に伴う字体変更)
  2. 内部でレガシーエンコーディングを用いたシステムの入・出力(新しく追加された文字)
  3. 内部でUnicodeを用いたシステムのテキスト処理のバグの顕在化(文字列操作,文字列長取得,未正規化文字列との比較,文字列合成など)

この特集をざっと見て思うのは,最初の字体変更の問題に偏りすぎているようなこと.開発者にとっては,それ以降の問題の方が,まさに自分自身の責任になるので深刻かもしれない.

二番目に関しては将来的なシステムのUnicode化はもう避けられないと思っているので,その移行までをどううまく凌ぐかという問題に置き換えられるかもしれない.

また,三番目は補助文字の登場,UTF-16の可変幅符号化が必要な文字の登場,文字列合成機能の要求,そしてUnicode入力のデフォルト化がもたらす問題である.Unicodeに対応したと言うプログラムを調べると,実は単なる「なんちゃってUnicode化」にすぎず,ただ問題が顕在化してこなかっただけということが多いのだが,ついにそれが白日の下にさらされることになる.これで一番問題なのは,この種のノウハウはMicrosoftApple Computerに代表される北米企業(及びその日本支社など)に集中していて,日本企業側にはまだほとんどないことかもしれない.

Javaにおいては,少なくとも最後の問題に対処できるようにJSR-204などを通じて整備してきたし,その時に日本の関連する会社に声を掛けて仕様策定作業に参加してもらったことで,多少はノウハウが移転していると思う.もちろん,適合できていないプログラムは非常に多いだろうし,未だにJSR-204が何をやったのか気が付いていない人も日本のJava開発者の80%ぐらいいたりするかもしれない.ただ少なくとも,この状況を睨んで,数年前から素地は作ってきたつもりなので,それを再発見して欲しいと思う.