« 2005年12月25日 | メイン | 2005年12月27日 »
2005年12月26日
PDFと文字(12) – Unicode仕様の文字
さて、Unicodeについて、次のような観点から、少し詳しく検討してみたいと思います。
第1は、Unicode仕様で決めている文字の数について
第2は、その文字をどのようにコンピュータ同士で情報交換するかについて
第3に、その文字をアプリケーションでどのように処理するかについて
まず、Unicode仕様で決めている文字の数について、①Unicodeの文字の収容、すなわち、番号付けをどのように行っているかということ、ついで、②その番号位置にどのような文字を割り当てているかということ、を見てみます。
①Unicodeで決めているのは番号付けした文字です。Unicodeではこの番号のことをコードポイント(Code Point)と言い、番号の範囲をコードスペース(CodeSpace)と言います。コードスペースは0から10FFFF(16進表記、以下、コードポイントは全て16進表記します)で、1,114,112個のコードポイントを収容しています。
コードスペースを便宜上64Kずつのサイズの面に分けています。主な面には次のものがあります。
・基本多言語面(BMP、すなわちBasic Multilingual Plane):0000~FFFFまで。ここに大部分の通常使う文字が収容されます。
・第1面、または補助多言語面(Supplementary Multilingual Plane):10000~1FFFFまで。Lenear B(線状文字B)など歴史的な文字、音楽表記用の文字、数学表記用の文字(記号)のような特殊用途の文字用の面。
・第2面、または補助表意文字面(Supplementary Ideographic Plane):20000~2FFFFまで。BMP面に入りきらなかったCJK文字(漢字)を収容します。
②UnicodeのV1からV4までの各バージョンで収容されている文字数は次の通りです。
面 | 分類 | V1.0 | V2.0 | V3.0 | V4.0 |
---|---|---|---|---|---|
BMP | アルファベット・記号 | 4,748 | 6,509 | 10,236 | 11,649 |
漢字 | 20,902 | 20,902 | 20,902 | 20,902 | |
漢字拡張A | 6,582 | 6,582 | |||
互換漢字 | 302 | 302 | 302 | 361 | |
ハングル音節 | 2,350 | 11,172 | 11,172 | 11,172 | |
図形文字(小計) | 28,302 | 38,885 | 49,194 | 50,666 | |
補助面 | アルファベット・記号 | 2,465 | |||
漢字拡張B | 42,711 | ||||
互換補助漢字 | 542 | ||||
図形文字(小計) | 45,718 | ||||
合計 | 28,302 | 38,885 | 49,194 | 96,384 |
(注)仕様書Appendex D p.1356には、96,382文字と書いてありますが、合計は96,384文字になります。2文字の違いがどこから来るか分かりません。
さらに、Unicode 4.1 で、1,273文字追加したとあります。しかし、どこに追加したかはわかりません。
各文字の字形は、The Unicode Character Code Charts By Scriptで見ることができます。
たとえばLenear Bというのは考古学上の有名な文字らしいですが、Unicodeのコードチャート(次のURL)で見ることができるなんて、楽しいですね。
Linear B Syllabary (PDF)
Linear B Ideograms(PDF)