« Windows Vista と日本語文字コード問題(1) | メイン | Windows Vista と日本語文字コード問題(3) »

2007年01月05日

Windows Vista と日本語文字コード問題(2)

JIS X0213:2004の文字でUnicodeでは4バイトで1文字を表す文字がいくつあるかを調べてみました。

これを調べていて、気が付いたことは、JIS X0213:2000(制定時)は、当初はJIS X0213の文字は全てUnicodeのBMP(基本多言語面:2バイト領域)に割り当てる予定だったらしいことです。

2000年の時点ではUnicode3.0でしたが、そこには、JIS X0213:2000で追加した文字の中に、Unicode3.0にはなかったものがあったのでしょう。JIS X0213:2000の付属書11には、UnicodeとJISの文字コードの対応表がありますが、それらの文字は()付きで示されています。

2003年にUnicode4.0が制定されたのですが、その時点で、恐らく日本側の思惑とは裏腹に、一部の文字が、BMPに割り当てられずに、補助面に割り当てられてしまったんですね。

このため、補助面に割り当てられた文字は1文字を4バイトで処理しなければならなくなったという事情がありそうです。

では、実際に、どんな文字がそれに相当するかは、JIS X0213:2004の付属書6の表で、UCSの番号が2xxxxに対応されているものがそれに相当します。

数えますと、32項に302文字、33項(2004年版で追加した文字)に1文字の合計303文字です。文字の字形の一覧は次のページで確認できます。

Vistaで化ける字,化けない字の図6に示されている26文字
Vistaで化ける字,化けない字(続報)の図9に示されている277文字

これらの文字は、Unicodeを1文字2バイト固定で扱うプログラムでは正しく処理できません。

【参考】Unicode(UCS)の制定時と文字の追加について
2005年12月25日 PDFと文字(11) – UnicodeとISO 10646
2005年12月26日 PDFと文字(12) – Unicode仕様の文字

さて、JIS X0213:2004の文字をすべて完全に扱おうとしますと、Unicode文字列の処理でもう一つの問題があります。これについては明日取り上げたいと思います。

投稿者 koba : 2007年01月05日 08:00

トラックバック

このエントリーのトラックバックURL:
http://blog.antenna.co.jp/PDFTool/mt-tbng2.cgi/556

このリストは、次のエントリーを参照しています: Windows Vista と日本語文字コード問題(2):

» JIS2004 関連 from かるあ のメモ
1/30日 の codeseek の勉強会で 亀川さん の文字コードのお話を聞いて、気になったので少し調べてみた。 今回検索してみて、検索し始めるときりがない... [続きを読む]

トラックバック時刻: 2007年02月01日 22:12

コメント

UnicodeにJIS X 0213の漢字が追加されたのはUnicode 3.1ですね。BMPに入らなかったのは残念。

投稿者 やの : 2007年01月06日 18:16

コメントしてください




保存しますか?