Unicode文字のマッピング
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2019/05/29 23:55 UTC 版)
私用文字
UCSは100,000を超える私的利用の符号位置を含む。つまり、これらの符号位置には、ISOやユニコードコンソーシアム外の個人、組織、ソフトウェアベンダが固有の特性を持った文字を割り当ててよい。私用領域 (Private Use Area, PUA) は私的利用のために予約されている領域のひとつである。Unicode標準は、この範囲にいかなる文字も規定しない。
基本多言語面はU+E000 から U+F8FF (57344–63743) の範囲にPUAを含む。第15面 (U+F0000 から U+FFFFD)、および第16面 (U+100000からU+10FFFD) も完全に私的利用のために予約されている。
私用領域の使用はアジアのある文字符号化体系から受け継いだ概念であった。これらの体系は日本語の外字をアプリケーション固有の方法で符号化するための私用領域を持っていた。また、ConScript Unicode Registry (非公式でありユニコードコンソーシアムとは関係ない) はUnicodeにまだ符号化されていないか、符号化を却下された用字の私用領域へのマッピングを調整することを目的としている。Medieval Unicode Font Initiativeは私用領域を使って中世の文章に見られる各種の合字、合成済文字、および記号類を符号化している。
私用領域使用の一例として、アップルはアップルロゴにU+F8FFを使用している。
特殊な符号位置
もっとも単純な水準では、UCSの各文字は符号位置と特定の意味的な役割を表現する。図形文字の場合、意味的な役割はしばしばその名前やその文字が含まれる用字系やブロックに暗示される。図形文字は文字の意味の定義を助ける推奨されるグリフを持つ場合もある。中国、日本、韓国、ベトナム、およびそれらの国々出身者の居留地で使われる漢字には、それ以外にも文字の意味的な役割の定義に関わる多数の豊富な特性 (英: property) がある。
しかし、UCSとUnicodeはその他の目的にその他の符号位置を指定している。それらの符号位置にはまったく、もしくはごく少数しか関連づけられた特性が存在しない。
代用符号位置
U+D800 ~ U+DBFF と U+DC00 ~ U+DFFF の2,048個の符号位置は文字ではなく、サロゲートペア(代用対)に使う代用符号位置(Surrogate Code Point)となっている。上位側の表現に使う U+D800 ~ U+DBFF をHigh-Surrogate Code Point、下位側の表現に使う U+DC00 ~ U+DFFF をLow-Surrogate Code Pointと言う。
これらは常にHighとLowを対(ペア)にして利用する。
サロゲートペアが表す符号位置は以下の通り。
- 1000016 + (H - D80016) × 40016 + (L - DC0016)
上記の H と L は、それぞれHigh-Surrogate Code PointとLow-Surrogate Code Pointの数値である。
U+D800 ~ U+DBFFのHigh-Surrogate Code Pointの内、U+DB80 ~ U+DBFF は私用面に含まれる符号位置を表現することになるため、そのことを区別してHigh Private Use Surrogatesとも言う。
非文字
Unicodeは数個の符号位置を非文字 (noncharacters) として予約している。これらの符号位置には決して文字を割り当てられないことが保証されている。それゆえソフトウェア実装はこれらの符号位置を自由に内部使用できる。しかし、これらの非文字は決して実装間で交換されるテキストに含まれるべきではない。本質的に有用な非文字の一例は、符号位置U+FFFEである。この符号位置はバイト順マーク (U+FEFF) とバイト順序が逆である。もしテキストのストリームがこの非文字を含んでいたら、これはテキストのエンディアンを間違えて解釈していることのよい目印となる。
UCS文字割り当ての集計表
バージョン | 図形文字 | 書式文字 | 制御文字 | 私用領域 | サロゲート | 非文字 | 未定義領域 |
---|---|---|---|---|---|---|---|
1.0.1 | 28,292 | 10 | 65 | 5,632 | 0 | 2 | 31,535 |
1.1 | 34,153 | 16 | 65 | 6,400 | 0 | 2 | 24,900 |
2.0 | 38,869 | 16 | 65 | 137,468 | 2,048 | 34 | 935,612 |
2.1 | 38,871 | 16 | 65 | 137,468 | 2,048 | 34 | 935,610 |
3.0 | 49,170 | 24 | 65 | 137,468 | 2,048 | 34 | 925,303 |
3.1 | 94,011 | 129 | 65 | 137,468 | 2,048 | 66 | 880,325 |
3.2 | 95,025 | 131 | 65 | 137,468 | 2,048 | 66 | 879,309 |
4.0[1] | 96,248 | 134 | 65 | 137,468 | 2,048 | 66 | 878,083 |
5.0[2] | 98,884 | 140 | 65 | 137,468 | 2,048 | 66 | 875,441 |
5.1[3] | 100,507 | 141 | 65 | 137,468 | 2,048 | 66 | 873,817 |
5.2[4] | 107,156 | 140 | 65 | 137,468 | 2,048 | 66 | 867,169 |
6.0[5] | 109,242 | 142 | 65 | 137,468 | 2,048 | 66 | 865,081 |
- Unicode文字のマッピングのページへのリンク