« 2007年01月03日 | メイン | 2007年01月05日 »
2007年01月04日
Windows Vista と日本語文字コード問題(1)
Windows Vistaの発売に伴い、日本語文字コードの話題が盛り上がっています。この話題は、文字コードに関心をもつ人の間では、とりたてて新しいものではないのですが、実際の製品が発売されることで、多くの人にとって身近な問題になってきたものです。印刷・DTP関係者には気をもんでいる方も多いことと思います。
日経BP IT Proでは特番ページまで用意しました:Windows Vistaの新文字セットが引き起こすトラブル
マイクロソフトが、Vista用にJIS X0213:2004をサポートする新しいフォント「メイリオ」を標準搭載したこと、および、従来よりWindowsに標準搭載されていたMS明朝が、バージョンアップされX0213:2004対応となるということが、Windows Vistaでの変更点です。
それで、なぜ、印刷・DTP業界が気をもまねばならない問題が起きてしまうかということを、私なりに説明したいと思います。
第一.Uncodeの取り扱いを変更することが必要なケースがあること
JIS X0213:2004では、文字の種類が11,233文字と非常に多くなっています。最近のパソコンのアプリケーションは、内部的にはUnicodeを使うものが多いと思いますが、UnicodeでJIS X0213:2004の全文字を正しく扱うには、一部の文字については1文字4バイトを使って表現することが必須になります。
例えば、アンテナハウスの主なアプリケーションは内部では、文字をUnicodeで取り扱っていますが、現状では、1文字を2バイトで表しています。PDF生成エンジンなども、現在のバージョンは1文字2バイトです。
※Antenna House XML Editorだけは、1文字4バイトのUnicodeで処理しています。
そこで、JIS X0213:2004を完全に取り扱うには、アプリケーションの内部で1文字を4バイトで表現するように改造するか、2バイトと4バイトを混在させることを可能にするように改造するか、どちらかの対策が必要です。
プログラム的には、1文字を4バイトで扱うようにしてしまうのが簡単ですが、そうしますと、ラテン・アルファベットのように、本来1バイトで良いものまでも、4バイトで表すことになってしまうため、あまりメモリ使用効率が良くないと思います。そこで、弊社の場合、原則として、1文字を2バイト表現と4バイト表現を混在させても問題ないようにプログラム内部を修正することを選択しています。
そんなわけで、Vistaの登場に伴ってプログラムの改造が必要になります。これは、Vista対応というよりも、Vistaに標準搭載されるフォント(従って、使用頻度も多くなるであろうもの)で表せる文字を全部正しく扱おうとすると、上の対策が必要になるということで、Vistaは単なるきっかけに過ぎません。長期的に、Unicode対応を完全に進めていく上では、避けられないことだと思います。
他の会社がどのような対応を取るかは、各社それぞれと思いますが、JIS X0213:2004が普及してくれば、どこの会社も同じような対応策をとることが必要になるでしょう。
この対応策が完了するまでは、そのアプリケーションではJIS X0213:2004の一部の文字を、正しく取り扱えないということになります。
投票をお願いいたします