ピクシブ百科事典は2024年5月28日付でプライバシーポリシーを改定しました。改訂履歴
Unicodeの編集履歴2023/05/03 11:37:17 版
編集内容:難問オセロに関する情報を追加

概要

Unicode Consortiumにより策定される国際的な文字コードの規格であり、符号化文字集合と文字エンコーディングを定めている。

幅広い文字を扱っており、世界の主要言語の文字を網羅しているだけでなく、現在使用者が僅少、又は皆無な言語の文字、諸記号、絵文字、制御文字も収録されている。

Ver.15.0時点での収録文字数は149251文字(基本ラテン文字とラテン1補助にある制御符号(<control>)65文字を含まない場合は149186文字)。

Unicodeはインターネットやパソコンのオペレーティングシステム(OS)等のソフトウェア、プログラミング関連等、世界規模で広く扱われている。

ISO/IEC 10646と非常に密接な関係にある。元々はUnicodeで表現できない文字空間を表す事ができる(Unicodeは21ビットなのに対しISO/IEC 10646は有効31ビット)という点でUnicodeの上位互換であったが、2006年に0群17面~127群255面の領域は「永久に予約」と宣言され使用不可となり、2011年には群の概念が削除された。

これにより、文字集合としては実質的に同一となった。

文字エンコーディング

UTF-8

可変長式。Unicodeの文字エンコーディングとしては最もよく使われ、URLでも一般的にこの方式が用いられる。

ASCII文字の場合はコードポイントがそのまま文字コードで表せる(例:コードポイントがU+0041である「A」はUTF-8では41となる)。

それ以外の場合は以下の表を用いてUTF-8への変換を行う。

バイト数コードポイントUTF-8の2進数表現(※1)
1U+00000000 - U+0000007F0xxxxxxx7
2U+00000080 - U+000007FF110xxxxx (10xxxxxx)×111
3U+00000800 - U+0000FFFF1110xxxx (10xxxxxx)×216
4(※2)U+00010000 - U+001FFFFF11110xxx (10xxxxxx)×321
5(※2)U+00200000 - U+03FFFFFF111110xx (10xxxxxx)×426
6(※2)U+04000000 - U+7FFFFFFF1111110x (10xxxxxx)×531

※1…変換に必要なビット数

※2…初期の定義。現行の定義ではU+10FFFFまでしか扱わない。

このエンコーディングの性質上、ASCII文字は1バイトで表すことが出来るが、U+0800以降のスクリプトを扱うような言語の場合、UTF-16では2バイトだったものがUTF-8では3バイトで変換することとなり、データサイズが大きくなるといったデメリットも持つ。

変換例

文字:あ

コードポイント:U+3042

2進数変換:0011 0000 0100 0010 ※16ビットに変換する

UTF-8の2進数表現へ:1110 0011 1000 0001 1000 0010

UTF-8へ:E3 81 82

文字:𠮷

コードポイント:U+20BB7

2進数変換:0 0010 0000 1011 1011 0111 ※21ビットに変換する

UTF-8の2進数表現へ:1111 0000 1010 0000 1010 1110 1011 0111

UTF-8へ:F0 A0 AE B7

UTF-8の値をコードポイントに変換する場合は上記の逆の操作を行う。

UTF-16

可変長式。一番初めに制定されたエンコーディング方式。Unicodeは元々16ビット固定長の文字集合であり、扱える文字数は65536文字に限られていた。その後版が上がるごとに文字の追加希望が相次ぎ65536文字では不足することが判明した経緯から、予約していた領域(上位サロゲートと下位サロゲート各1024個)を使って追加の1048576文字を扱えるサロゲートペアという概念が登場した。

基本多言語面(BMP)では、コードポイントがそのまま文字コードで表せる。BMP以外の第1面~第16面の場合は、サロゲートペアを用いる必要がある。

【サロゲートペアの変換法1】

(1) コードポイント(U+10000~U+10FFFF)から U+10000 を減算する。これにより値は U+00000~U+FFFFF という20ビットの範囲になる。

(2) (1)で出した値を2進数に変換し20ビットにする。

(3) (2)より xxxxxxxxxxyyyyyyyyyy を2つに分け、110110xxxxxxxxxx 110111yyyyyyyyyy の32ビットで表す。

(4) 32ビットで表した値を16進数に変換する。すると、前半16ビットが上位サロゲートであるU+D800 - U+DBFFの範囲内に、後半16ビットが下位サロゲートであるU+DC00 - U+DFFFの範囲内に持つ値となる。

変換例

文字:🎼

コードポイント:U+1F3BC

(1)を計算:F3BC

2進数変換:0000 1111 0011 1011 1100→前半…0000 1111 00 後半…11 1011 1100

32ビットに変換:1101 1000 0011 1100 1101 1111 1011 1100

16進数へ変換:D83C DFBC

UTF-16サロゲートペアをコードポイントに変換する場合は上記の逆の操作を行う。

【サロゲートペアの変換法2】

コードポイントからUTF-16サロゲートペアに変換

前半:0xqqqq= ⌊(0xpppppp - 0x10000) / 0x400⌋ + 0xD800

後半:0xrrrr= (0xpppppp - 0x10000) % 0x400 + 0xDC00

※0x:16進数であることを示す為の表記

 ⌊x⌋:床関数

 %:左項を右項で割った剰余値を返す演算子

 0xpppppp:求めるコードポイント

 0xqqqq:上位サロゲートの値

 0xrrrr:下位サロゲートの値

変換例

文字:🎼

コードポイント:U+1F3BC

前半:⌊(0x1F3BC - 0x10000) / 0x400⌋ + 0xD800

   =⌊0xF3BC / 0x400⌋ + 0xD800

   =0x3C + 0xD800

   =0xD83C

後半:(0x1F3BC - 0x10000) % 0x400 + 0xDC00

   =0xF3BC % 0x400 + 0xDC00

   =0x3BC + 0xDC00

   =0xDFBC

従って求める値はD83C DFBCとなる。

UTF-16サロゲートペアからコードポイントに変換

0xpppppp = 0x10000 + (0xqqqq - 0xD800) × 0x400 + (0xrrrr - 0xDC00)

UTF-32

固定長式。コードポイントがそのまま4バイトで表せる単純なエンコーディング方式。この性質上データ処理の上では扱いやすくなるが、BMPでも4バイトで表す必要がありデータ量が増加する為使用されることが少ない。

有効31ビットの文字集合であるUCS-4とは異なりU+0000 - U+10FFFFまで使用することになっていることから、UTF-32⊆UCS-4ということが出来る。

比較表

比較内容UTF-8UTF-16UTF-32
U+0000 - U+007Fのバイト数124
U+0080 - U+07FFのバイト数224
U+0800 - U+FFFFのバイト数324
U+10000 - U+10FFFFのバイト数444
BEとLE(※)の有無

※BE…ビッグエンディアン(上位から下位へ数値を格納する方式) LE…リトルエンディアン(下位から上位へ数値を格納する方式)

コード順一覧

ブロック名について

  • 太字になっているブロックはVer.15.0までに文字の追加が行われた、又はサロゲート、私用領域、非文字として策定済
  • 【】で囲まれたブロックはUTC又はWG2によって正式に承認済
  • 括弧で囲まれたブロックはUTC又はWG2に提出済
  • 疑問符で囲まれたブロックは詳細な提案がまだ書かれていないことを示すもの
  • 「◎」で示されたブロックは新規追加ブロック、「●」で示されたブロックは文字の追加が行われた既存のブロック

を表す。

Ver.15.0で追加、又はグリフが更新された文字の詳細はこちらを参照。

2023年にアップデートが予定されているVer.16.0については、詳細が判明次第順次更新する(リンク先に今後の版で追加される予定の文字についての記載あり)。

第0面 - 基本多言語面

en:Basic Multilingual Plane(BMP)

割当済コードポイント数:65486、収録文字数:55634 (いずれも非文字は対象外、第1面以降も同様)

ロードマップ

Unicodeにおける最初の面で、使用頻度の高い多数の現代言語の文字と記号類などが収録されている。

符号位置ブロック名収録/割当Ver.16.0の更新点
U+0000 - U+007F基本ラテン文字128/128
U+0080 - U+00FFラテン1補助128/128
U+0100 - U+017Fラテン文字拡張A128/128
U+0180 - U+024Fラテン文字拡張B208/208
U+0250 - U+02AFIPA拡張96/96
U+02B0 - U+02FF前進を伴う修飾文字80/80
U+0300 - U+036Fダイアクリティカル・マーク(合成可能)112/112
U+0370 - U+03FFギリシャ文字135/144
U+0400 - U+04FFキリル文字256/256
U+0500 - U+052Fキリル文字補助48/48
U+0530 - U+058Fアルメニア文字91/96
U+0590 - U+05FFヘブライ文字88/112
U+0600 - U+06FFアラビア文字256/256
U+0700 - U+074Fシリア文字77/80
U+0750 - U+077Fアラビア文字補助48/48
U+0780 - U+07BFターナ文字50/64
U+07C0 - U+07FFンコ文字62/64
U+0800 - U+083Fサマリア文字61/64
U+0840 - U+085Fマンダ文字29/32
U+0860 - U+086Fシリア文字補助11/16
U+0870 - U+089Fアラビア文字拡張B41/48
U+08A0 - U+08FFアラビア文字拡張A96/96
U+0900 - U+097Fデーヴァナーガリー文字128/128
U+0980 - U+09FFベンガル文字96/128
U+0A00 - U+0A7Fグルムキー文字80/128
U+0A80 - U+0AFFグジャラーティー文字91/128
U+0B00 - U+0B7Fオリヤー文字91/128
U+0B80 - U+0BFFタミル文字72/128
U+0C00 - U+0C7Fテルグ文字100/128
U+0C80 - U+0CFFカンナダ文字91/128
U+0D00 - U+0D7Fマラヤーラム文字118/128
U+0D80 - U+0DFFシンハラ文字91/128
U+0E00 - U+0E7Fタイ文字87/128
U+0E80 - U+0EFFラオス文字83/128
U+0F00 - U+0FFFチベット文字211/256
U+1000 - U+109Fミャンマー文字160/160
U+10A0 - U+10FFグルジア文字88/96
U+1100 - U+11FFハングル字母256/256
U+1200 - U+137Fエチオピア文字358/384
U+1380 - U+139Fエチオピア文字補助26/32
U+13A0 - U+13FFチェロキー文字92/96
U+1400 - U+167F統合カナダ先住民音節640/640
U+1680 - U+169Fオガム文字29/32
U+16A0 - U+16FFルーン文字89/96
U+1700 - U+171Fタガログ文字23/32
U+1720 - U+173Fハヌノオ文字23/32
U+1740 - U+175Fブヒッド文字20/32
U+1760 - U+177Fタグバヌア文字18/32
U+1780 - U+17FFクメール文字114/128
U+1800 - U+18AFモンゴル文字158/176
U+18B0 - U+18FF統合カナダ先住民音節拡張70/80
U+1900 - U+194Fリンブ文字68/80
U+1950 - U+197Fタイ・ロ文字35/48
U+1980 - U+19DF新タイ・ロ文字83/96
U+19E0 - U+19FFクメール文字用記号32/32
U+1A00 - U+1A1Fブギス文字30/32
U+1A20 - U+1AAFタイ・タム文字127/144
U+1AB0 - U+1AFFダイアクリティカル・マーク(合成可能)拡張31/80
U+1B00 - U+1B7Fバリ文字124/128
U+1B80 - U+1BBFスンダ文字64/64
U+1BC0 - U+1BFFバタク文字56/64
U+1C00 - U+1C4Fレプチャ文字74/80
U+1C50 - U+1C7Fオル・チキ文字48/48
U+1C80 - U+1C8Fキリル文字拡張C9/16
U+1C90 - U+1CBFグルジア文字拡張46/48
U+1CC0 - U+1CCFスンダ文字補助8/16
U+1CD0 - U+1CFFヴェーダ文字拡張43/48
U+1D00 - U+1D7F音声記号拡張128/128
U+1D80 - U+1DBF音声記号拡張補助64/64
U+1DC0 - U+1DFFダイアクリティカル・マーク(合成可能)補助64/64
U+1E00 - U+1EFFラテン文字拡張追加256/256
U+1F00 - U+1FFFギリシャ文字拡張233/256
U+2000 - U+206F一般句読点111/112
U+2070 - U+209F上付き・下付き42/48
U+20A0 - U+20CF通貨記号33/48
U+20D0 - U+20FF記号用ダイアクリティカル・マーク(合成可能)33/48
U+2100 - U+214F文字様記号80/80
U+2150 - U+218F数字に準じるもの60/64
U+2190 - U+21FF矢印112/112
U+2200 - U+22FF数学記号256/256
U+2300 - U+23FFその他の技術用記号256/256
U+2400 - U+243F制御機能用記号39/64
U+2440 - U+245F光学的文字認識11/32
U+2460 - U+24FF囲み英数字160/160
U+2500 - U+257F罫線素片128/128
U+2580 - U+259Fブロック要素32/32
U+25A0 - U+25FF幾何学模様96/96
U+2600 - U+26FFその他の記号256/256
U+2700 - U+27BF装飾記号192/192
U+27C0 - U+27EFその他の数学記号A48/48
U+27F0 - U+27FF補助矢印A16/16
U+2800 - U+28FF点字図形256/256
U+2900 - U+297F補助矢印B128/128
U+2980 - U+29FFその他の数学記号B128/128
U+2A00 - U+2AFF補助数学記号256/256
U+2B00 - U+2BFFその他の記号及び矢印253/256
U+2C00 - U+2C5Fグラゴル文字96/96
U+2C60 - U+2C7Fラテン文字拡張C32/32
U+2C80 - U+2CFFコプト文字123/128
U+2D00 - U+2D2Fグルジア文字補助40/48
U+2D30 - U+2D7Fティフナグ文字59/80
U+2D80 - U+2DDFエチオピア文字拡張79/96
U+2DE0 - U+2DFFキリル文字拡張A32/32
U+2E00 - U+2E7F補助句読点94/128
U+2E80 - U+2EFFCJK部首補助115/128
U+2F00 - U+2FDF康煕部首214/224
U+2FE0 - U+2FEF(未割当)
U+2FF0 - U+2FFF漢字構成記述文字12/16
U+3000 - U+303FCJKの記号及び句読点64/64
U+3040 - U+309F平仮名93/96
U+30A0 - U+30FF片仮名96/96
U+3100 - U+312F注音字母43/48
U+3130 - U+318Fハングル互換字母94/96
U+3190 - U+319F漢文用記号16/16
U+31A0 - U+31BF注音字母拡張32/32
U+31C0 - U+31EFCJKの筆画36/48
U+31F0 - U+31FF片仮名拡張16/16
U+3200 - U+32FF囲みCJK文字・月255/256
U+3300 - U+33FFCJK互換用文字256/256
U+3400 - U+4DBFCJK統合漢字拡張A6592/6592
U+4DC0 - U+4DFF易経記号64/64
U+4E00 - U+9FFFCJK統合漢字20992/20992
U+A000 - U+A48F彝文字1165/1168
U+A490 - U+A4CF彝文字部首55/64
U+A4D0 - U+A4FFリス文字48/48
U+A500 - U+A63Fヴァイ文字300/320
U+A640 - U+A69Fキリル文字拡張B96/96
U+A6A0 - U+A6FFバムン文字88/96
U+A700 - U+A71F声調修飾文字32/32
U+A720 - U+A7FFラテン文字拡張D193/224
U+A800 - U+A82Fシロティ・ナグリ文字45/48
U+A830 - U+A83F共通インド数字に準じるもの10/16
U+A840 - U+A87Fパスパ文字56/64
U+A880 - U+A8DFサウラーシュトラ文字82/96
U+A8E0 - U+A8FFデーヴァナーガリー文字拡張32/32
U+A900 - U+A92Fカヤー文字48/48
U+A930 - U+A95Fレジャン文字37/48
U+A960 - U+A97Fハングル字母拡張A29/32
U+A980 - U+A9DFジャワ文字91/96
U+A9E0 - U+A9FFミャンマー文字拡張B31/32
U+AA00 - U+AA5Fチャム文字83/96
U+AA60 - U+AA7Fミャンマー文字拡張A32/32
U+AA80 - U+AADFタイ・ヴェト文字72/96
U+AAE0 - U+AAFFマニプール文字拡張23/32
U+AB00 - U+AB2Fエチオピア文字拡張A32/48
U+AB30 - U+AB6Fラテン文字拡張E60/64
U+AB70 - U+ABBFチェロキー文字補助80/80
U+ABC0 - U+ABFFマニプール文字56/64
U+AC00 - U+D7AFハングル音節文字11172/11184
U+D7B0 - U+D7FFハングル字母拡張B72/80
U+D800 - U+DB7F上位サロゲート
U+DB80 - U+DBFF上位私用サロゲート
U+DC00 - U+DFFF下位サロゲート
U+E000 - U+F8FF私用領域(外字)
U+F900 - U+FAFFCJK互換漢字472/512
U+FB00 - U+FB4Fアルファベット表示形58/80
U+FB50 - U+FDFFアラビア表示形A(※)631/656
U+FE00 - U+FE0F異体字セレクタ16/16
U+FE10 - U+FE1F縦書き形10/16
U+FE20 - U+FE2F半記号(合成可能)16/16
U+FE30 - U+FE4FCJK互換形32/32
U+FE50 - U+FE6F小字形26/32
U+FE70 - U+FEFFアラビア表示形B141/144
U+FF00 - U+FFEF半角・全角形225/240
U+FFF0 - U+FFFD特殊記号5/14
U+FFFE - U+FFFF非文字

備考

  • U+0590~U+U+08FFとアラビア表示形A・Bは、右横書き(右から左に書く、RTL)の文字を扱う領域を示す。残りは全て左横書き(左から右へ書く、LTR)である。
  • 上位サロゲート・上位私用サロゲートと下位サロゲートは、単独では意味を持たず、必ず2つを1対として第1面~第16面のコードポイントを指定する。
  • 私用領域は、利用者が独自に字形を設定して用いる文字(外字)のことで、Unicode側はいかなる文字も規定しない。これは私用面である第15面、第16面も同様。初期のISO/IEC10646では0群224面~255面及び96群~127群が私用領域として定義されていた。
  • (※)アラビア表示形AにあるU+FDD0~U+FDEFの32字は、アラビア文字とは関係ない非文字領域を示す。この関係上、アラビア表示形A全体のコードポイント数(688個)と上記の割当済み文字数が異なる。

第1面 - 追加多言語面

en:Supplementary Multilingual Plane(SMP)

割当済コードポイント数:26160、収録文字数:23276

ロードマップ

主に古代文字や使用頻度の低い文字(漢字以外)、絵文字とBMPでは入り切らなかった記号類などが追加される。Ver.3.1から文字の割当が始まった。

符号位置ブロック名収録/割当Ver.16.0の更新点
U+10000 - U+107FFアルファベットと音節LTR文字、記号集合
U+10000 - U+1007F線文字B音節文字88/128
U+10080 - U+100FF線文字B表意文字123/128
U+10100 - U+1013Fエーゲ数字57/64
U+10140 - U+1018F古代ギリシャ数字79/80
U+10190 - U+101CF古代記号14/64
U+101D0 - U+101FFファイストスの円盤の文字46/48
U+10200 - U+1023F(Northern Palaeohispanic)
U+10240 - U+1027F(Southern Palaeohispanic)
U+10280 - U+1029Fリュキア文字29/32
U+102A0 - U+102DFカリア文字49/64
U+102E0 - U+102FFコプト・エパクト数字28/32
U+10300 - U+1032F古代イタリア文字39/48
U+10330 - U+1034Fゴート文字27/32
U+10350 - U+1037F古ペルム文字43/48
U+10380 - U+1039Fウガリト文字31/32
U+103A0 - U+103DF古代ペルシャ文字50/64
U+103E0 - U+103FF¿シェイヴィアン文字クイックスクリプト?
U+10400 - U+1044Fデザレット文字80/80
U+10450 - U+1047Fシェイヴィアン文字48/48
U+10480 - U+104AFオスマニア文字40/48
U+104B0 - U+104FFオセージ文字72/80
U+10500 - U+1052Fエルバサン文字40/48
U+10530 - U+1056Fカフカース・アルバニア文字53/64
U+10570 - U+105BFVithkuqi70/80
U+105C0 - U+105FF【トズリ文字】
U+10600 - U+1077F線文字A341/384
U+10780 - U+107BFラテン文字拡張F57/64
U+107C0 - U+107FF(レジャン文字拡張)
U+10800 - U+10FFFアルファベットと音節RTL文字
U+10800 - U+1083Fキプロス音節文字55/64
U+10840 - U+1085Fアラム文字31/32
U+10860 - U+1087Fパルミラ文字32/32
U+10880 - U+108AFナバテア文字40/48
U+108B0 - U+108DF(原シナイ文字)
U+108E0 - U+108FFハトラ文字26/32
U+10900 - U+1091Fフェニキア文字29/32
U+10920 - U+1093Fリュディア文字27/32
U+10940 - U+1095F(シデ文字)
U+10960 - U+1097F¿ヌミディア文字?
U+10980 - U+1099Fメロエ記念碑文体32/32
U+109A0 - U+109FFメロエ文字草書体90/96
U+10A00 - U+10A5Fカローシュティー文字68/96
U+10A60 - U+10A7F古代南アラビア文字32/32
U+10A80 - U+10A9F古代北アラビア文字32/32
U+10AA0 - U+10ABF(バルティ文字)
U+10AC0 - U+10AFFマニ文字51/64
U+10B00 - U+10B3Fアヴェスター文字61/64
U+10B40 - U+10B5F碑文パルティア文字30/32
U+10B60 - U+10B7F碑文パフラヴィー文字27/32
U+10B80 - U+10BAF詩編用パフラヴィー文字29/48
U+10BB0 - U+10BDF(書物用パフラヴィー文字)
U+10BE0 - U+10BFF(Baburi)
U+10C00 - U+10C4F突厥文字73/80
U+10C50 - U+10C7F(未割当)
U+10C80 - U+10CFFロヴァーシュ文字108/128
U+10D00 - U+10D3Fロヒンギャ文字50/64
U+10D40 - U+10D8F【ウォロフ(Garay)文字】
U+10D90 - U+10DFF¿ビブロス文字?
U+10E00 - U+10E5F(未割当)
U+10E60 - U+10E7Fルーミー数字記号31/32
U+10E80 - U+10EBFヤズィーディー文字47/64
U+10EC0 - U+10EFFアラビア文字拡張C3/64
U+10F00 - U+10F2F古代ソグド文字40/48
U+10F30 - U+10F6Fソグド文字42/64
U+10F70 - U+10FAF古ウイグル文字26/64
U+10FB0 - U+10FDFホラズム文字28/48
U+10FE0 - U+10FFFエリマイス文字23/32
U+11000 - U+11FFFブラーフミー系文字
U+11000 - U+1107Fブラーフミー文字115/128
U+11080 - U+110CFカイティー文字68/80
U+110D0 - U+110FFソラ・ソンペン文字35/48
U+11100 - U+1114Fチャクマ文字71/80
U+11150 - U+1117Fマハージャニー文字39/48
U+11180 - U+111DFシャーラダー文字96/96
U+111E0 - U+111FF旧シンハラ数字20/32
U+11200 - U+1124Fホジャ文字65/80
U+11250 - U+1127F(ランダー文字)
U+11280 - U+112AFムルターニー文字38/48
U+112B0 - U+112FFフダーワーディー文字69/80
U+11300 - U+1137Fグランタ文字86/128
U+11380 - U+113FF【トゥル文字】
U+11400 - U+1147Fネワール文字97/128
U+11480 - U+114DFティルフータ文字82/96
U+114E0 - U+114FF(タニリピ文字)
U+11500 - U+1157F(ランジャナー文字 )
U+11580 - U+115FF悉曇文字梵字92/128
U+11600 - U+1165Fモーディー文字79/96
U+11660 - U+1167Fモンゴル文字補助13/32
U+11680 - U+116CFタークリー文字68/80
U+116D0 - U+116FF【ミャンマー文字拡張C】
U+11700 - U+1174Fアーホム文字65/80
U+11750 - U+117AF(ゾーライ文字)
U+117B0 - U+117FF(ピュー文字)
U+11800 - U+1184Fドグラ文字60/80
U+11850 - U+1188F(スルマウリ文字 )
U+11890 - U+1189F(未割当)
U+118A0 - U+118FFワラング・クシティ文字84/96
U+11900 - U+1195Fディヴェ・アクル文字72/96
U+11960 - U+1199F(ヴァッテルットゥ文字 )
U+119A0 - U+119FFナンディナーガリー文字65/96
U+11A00 - U+11A4Fザナバザル方形文字72/80
U+11A50 - U+11AAFソヨンボ文字83/96
U+11AB0 - U+11ABF統合カナダ先住民音節拡張A16/16
U+11AC0 - U+11AFFパウ・チン・ハウ文字57/64
U+11B00 - U+11B5Fデーヴァナーガリー文字拡張A10/96
U+11B60 - U+11B7F¿シャーラダー文字拡張?
U+11B80 - U+11BBF(トロン・シキ文字)
U+11BC0 - U+11BFF【スヌワール文字】
U+11C00 - U+11C6Fバイクシュキー文字97/112
U+11C70 - U+11CBFマルチェン文字68/80
U+11CC0 - U+11CFF(バルティ文字B)
U+11D00 - U+11D5Fマサラム・ゴーンディー文字75/96
U+11D60 - U+11DAFグンジャラ・ゴーンディー文字63/80
U+11DB0 - U+11DEF(レーケー文字)
U+11DF0 - U+11DFF(未割当)
U+11E00 - U+11E6F(トカラ文字)
U+11E70 - U+11ECF(コータン文字 )
U+11ED0 - U+11EDF(未割当)
U+11EE0 - U+11EFFマカッサル文字25/32
U+11F00 - U+11F5Fカウィ文字86/96
U+11F60 - U+11FAF(パッラヴァ文字)
U+11FB0 - U+11FBFリス文字補助1/16
U+11FC0 - U+11FFFタミル文字補助51/64
U+12000 - U+12FFF楔形文字と古代文字
U+12000 - U+123FF楔形文字922/1024
U+12400 - U+1247F楔形文字の数字及び句読点116/128
U+12480 - U+1254F初期王朝楔形文字196/208
U+12550 - U+1257F(未割当)
U+12580 - U+12DFF(原楔形文字)
U+12E00 - U+12F8F(インダス文字)
U+12F90 - U+12FFFキュプロ・ミノア文字99/112
U+13000 - U+151FFヒエログリフ
U+13000 - U+1342Fエジプト聖刻文字1072/1072
U+13430 - U+1345Fエジプト聖刻文字書式制御記号38/48
U+13460 - U+143FF(エジプト聖刻文字拡張A)
U+14400 - U+1467Fアナトリア象形文字583/640
U+14680 - U+151FF(エジプト聖刻文字拡張B)
U+15200 - U+15FFF大規模文字
U+15200 - U+154FF(未割当)
U+15500 - U+15AFF(マヤ文字)
U+15B00 - U+15B3F(ランプン文字)
U+15B40 - U+15B6F(クリンチ文字)
U+15B70 - U+15B7F(未割当)
U+15B80 - U+15FFF(マンドンベ文字)
U+16000 - U+16FFF最近考案された文字
U+16000 - U+1607F(キアス)
U+16080 - U+160FF(テングワール)
U+16100 - U+1613F【ケーマ文字】
U+16140 - U+1619F(未割当)
U+161A0 - U+161FF(ムーン文字)
U+16200 - U+167FF(ブリスシンボル)
U+16800 - U+16A3Fバムン文字補助569/576
U+16A40 - U+16A6Fムロ文字43/48
U+16A70 - U+16ACFTangsa89/96
U+16AD0 - U+16AFFバサ文字36/48
U+16B00 - U+16B8Fパハウ・フモン文字127/144
U+16B90 - U+16BFF(ウォレアイ文字)
U+16C00 - U+16C7F(クペレ文字)
U+16C80 - U+16CCF(アファカ文字)
U+16CD0 - U+16CFF(Tangsa(Khimhun))
U+16D00 - U+16D3F(ティカムーリー文字)
U+16D40 - U+16D7F【キラット・ライ文字】
U+16D80 - U+16DBF¿Lontara bilang-bilang?
U+16DC0 - U+16DCF(未割当)
U+16DD0 - U+16DFF(クリタン文字)
U+16E00 - U+16E3F(ムァングェゴ文字)
U+16E40 - U+16E9Fメデファイドリン文字91/96
U+16EA0 - U+16EFF(ブギス文字補助)
U+16F00 - U+16F9Fポラード文字149/160
U+16FA0 - U+16FAF¿注音字母拡張A?
U+16FB0 - U+16FDF(漢文用記号拡張A)
U+16FE0 - U+16FFF表意文字の記号と句読点7/32
U+17000 - U+1BBFF東アジアの文字
U+17000 - U+187FF西夏文字6136/6144
U+18800 - U+18AFF西夏文字構成要素768/768
U+18B00 - U+18CFF契丹小字470/512
U+18D00 - U+18D7F西夏文字補助9/128
U+18D80 - U+195FF(契丹大字)
U+19600 - U+19B9F(女真文字)
U+19BA0 - U+19DFF(未割当)
U+19E00 - U+1A2FF(パウ・チン・ハウ音節文字)
U+1A300 - U+1A75F(エスカヤ文字)
U+1A760 - U+1A77F(未割当)
U+1A780 - U+1A7FF¿カイダー文字?
U+1A800 - U+1ACFF(ナシ・トンパ文字)
U+1AD00 - U+1AFCF¿ナシ・ゴバ文字?
U+1AFD0 - U+1AFEF¿仮名拡張C?
U+1AFF0 - U+1AFFF仮名拡張B13/16
U+1B000 - U+1B0FF仮名補助256/256
U+1B100 - U+1B12F仮名拡張A35/48
U+1B130 - U+1B16F小書き仮名拡張9/64
U+1B170 - U+1B2FF女書396/400
U+1B300 - U+1B5FF(水書表語文字)
U+1B600 - U+1B9FF(リス音節文字)
U+1BA00 - U+1BBFF(未割当)
U+1BC00 - U+1BCFF速記文字
U+1BC00 - U+1BC9Fデュプロワエ式速記143/160
U+1BCA0 - U+1BCAF速記書式制御記号4/16
U+1BCB0 - U+1BCFF(ピットマン式速記)
U+1BD00 - U+1CFFF大規模文字
U+1BD00 - U+1C37F(原エラム文字)
U+1C380 - U+1C4FF(エラム線文字)
U+1C500 - U+1CBFF(未割当)
U+1CC00 - U+1CEBF¿旧式コンピュータ用記号補助?
U+1CDC0 - U+1CEFF(未割当)
U+1CF00 - U+1CFCFズナメニ音楽記号185/208
U+1CFD0 - U+1CFFF(未割当)
U+1D000 - U+1DFFF表記システム
U+1D000 - U+1D0FFビザンチン音楽記号246/256
U+1D100 - U+1D1FF音楽記号233/256
U+1D200 - U+1D24F古代ギリシャ音符記号70/80
U+1D250 - U+1D26F(Flute)
U+1D270 - U+1D27F(未割当)
U+1D280 - U+1D2AF(Pipa)
U+1D2B0 - U+1D2BF(未割当)
U+1D2C0 - U+1D2DFカㇰトヸㇰ数字20/32
U+1D2E0 - U+1D2FFマヤ数字20/32
U+1D300 - U+1D35F太玄経記号87/96
U+1D360 - U+1D37F算木用数字25/32
U+1D380 - U+1D3FF¿数学用英数字記号補助?
U+1D400 - U+1D7FF数学用英数字記号996/1024
U+1D800 - U+1DAAFサットン手話表記法672/688
U+1DAB0 - U+1DADF(未割当)
U+1DAE0 - U+1DAFF(减字書式制御記号)
U+1DB00 - U+1DC8F(古琴减字譜)
U+1DC90 - U+1DEFF(未割当)
U+1DF00 - U+1DFFFラテン文字拡張G37/256
U+1E000 - U+1E7FFアルファベットと音節LTR文字
U+1E000 - U+1E02Fグラゴル文字補助38/48
U+1E030 - U+1E08Fキリル文字拡張D63/96
U+1E090 - U+1E0FF(未割当)
U+1E100 - U+1E14Fニアケン・プアチェ・フモン71/80
U+1E150 - U+1E1FF(Eebee Hmong)
U+1E200 - U+1E26F(西チャム文字)
U+1E270 - U+1E28F(未割当)
U+1E290 - U+1E2BFトト文字31/48
U+1E2C0 - U+1E2FFワンチョ文字59/64
U+1E300 - U+1E41F(ロマ文字)
U+1E420 - U+1E4CF(バガム文字)
U+1E4D0 - U+1E4FFNag Mundari42/48
U+1E500 - U+1E52F(Pungchen)
U+1E530 - U+1E55F¿Pungchung?
U+1E560 - U+1E59F¿Marchung?
U+1E5A0 - U+1E5CF(Brusha)
U+1E5D0 - U+1E5FF(Ol Onal)
U+1E600 - U+1E65F¿チョーラ文字?
U+1E660 - U+1E6BF¿ボクスヘッド文字?
U+1E6C0 - U+1E6FF(Yo Lai Tay)
U+1E700 - U+1E72F¿Beria?
U+1E730 - U+1E7DF(未割当)
U+1E7E0 - U+1E7FFエチオピア文字拡張B28/32
U+1E800 - U+1EFFFRTL文字
U+1E800 - U+1E8DFメンデ文字213/224
U+1E8E0 - U+1E8FF(未割当)
U+1E900 - U+1E95Fアドラム文字88/96
U+1E960 - U+1EBFF(未割当)
U+1EC00 - U+1EC6F(ペルシア・シヤク数字)
U+1EC70 - U+1ECBFインド・シヤク数字68/80
U+1ECC0 - U+1ECFF(ディーワーニー・シヤク数字)
U+1ED00 - U+1ED4Fオスマン・シヤク数字61/80
U+1ED50 - U+1EDFF(未割当)
U+1EE00 - U+1EEFFアラビア数学用英数字記号143/256
U+1EF00 - U+1EF3F¿アラビア文字補助記号?
U+1EF40 - U+1EFFF(未割当)
U+1F000 - U+1F0FFゲームのシンボル
U+1F000 - U+1F02F麻雀牌44/48
U+1F030 - U+1F09Fドミノ牌100/112
U+1F0A0 - U+1F0FFトランプ82/96
U+1F100 - U+1F2FF英数字と表意文字集合
U+1F100 - U+1F1FF囲み英数字補助200/256
U+1F200 - U+1F2FF囲み表意文字補助64/256
U+1F300 - U+1FFFFシンボルと絵文字集合
U+1F300 - U+1F5FFその他の記号と絵文字768/768
U+1F600 - U+1F64F顔文字80/80
U+1F650 - U+1F67F装飾用絵記号48/48
U+1F680 - U+1F6FF交通と地図の記号118/128
U+1F700 - U+1F77F錬金術記号124/128
U+1F780 - U+1F7FF幾何学模様拡張103/128
U+1F800 - U+1F8FF補助矢印C150/256
U+1F900 - U+1F9FF記号と絵文字補助256/256
U+1FA00 - U+1FA6Fチェス記号98/112
U+1FA70 - U+1FAFF記号と絵文字拡張A107/144
U+1FB00 - U+1FBFF旧式コンピュータ用記号212/256
U+1FC00 - U+1FFFD¿絵文字拡張?
U+1FFFE - U+1FFFF非文字

第2面 - 追加漢字面

en:Supplementary Ideograph Plane(SIP)

割当済コードポイント数:60912、収録文字数:60873

ロードマップ

SMP同様Ver.3.1から文字の割当が始まった面で、使用頻度の低い漢字が追加される。

符号位置ブロック名収録/割当Ver.16.0の更新点
U+20000 - U+2A6DFCJK統合漢字拡張B42720/42720
U+2A6E0 - U+2A6FF(未割当)
U+2A700 - U+2B73FCJK統合漢字拡張C4154/4160
U+2B740 - U+2B81FCJK統合漢字拡張D222/224
U+2B820 - U+2CEAFCJK統合漢字拡張E5762/5776
U+2CEB0 - U+2EBEFCJK統合漢字拡張F7473/7488
U+2EBF0 - U+2F7FF(未割当)
U+2F800 - U+2FA1FCJK互換漢字補助542/544
U+2FA20 - U+2FFFD(未割当)
U+2FFFE - U+2FFFF非文字

第3面 - 第三漢字面

en:Tertiary Ideographic Plane(TIP)

割当済コードポイント数:9136、収録文字数:9131

ロードマップ

SIPでは入り切らなかった漢字や、小篆、甲骨文字、金文、戦国時代の7つの国(秦、楚、齊、燕、韓、趙、魏)で用いられた文字(簡牘、帛書、陶文、玉石文字、漆器、璽印、錢幣、鳥蟲書)が追加される予定の面。

Ver.13.0のCJK統合漢字拡張Gの追加により文字の割当が始まった。

ただしクイズ番組の中で屈指の鬼畜さを誇る難問オセロ難読漢字あいうえお順サバイバルでは、このUnicodeにすら収録されない未知の漢字が出題されるため、この文字を全部網羅しようが焼け石に水である。

符号位置ブロック名収録/割当Ver.16.0の更新点
U+30000 - U+3134FCJK統合漢字拡張G4939/4944
U+31350 - U+323AFCJK統合漢字拡張H4192/4192
U+323B0 - U+323FF(未割当)
U+32400 - U+352FF(篆書体)
U+35300 - U+353FF(未割当)
U+35400 - U+36BFF(甲骨文字)
U+36C00 - U+3FFFD(未割当)
U+3FFFE - U+3FFFF非文字

第4面~第13面

いずれの面も用途が定まっておらず、将来の標準化のために予約されている。

第14面 - 補助特殊用途面

en:Supplementary Special-purpose Plane(SSP)

割当済コードポイント数:368、収録文字数:337

ロードマップ

特殊な用途に使われる記号や文字等を格納する為の領域。

追加されているのは以下の2種類のみで、Ver.4.0以降大きな動きはない。

符号位置ブロック名収録/割当
U+E0000 - U+E007Fタグ97/128
U+E0100 - U+E01EF異体字セレクタ補助240/240

第15面・第16面 - 私用面

外字領域で、第15面が補助私用領域A、第16面が補助私用領域Bとして割り当てられている。

各版の詳細

変遷

Ver.1.0

初版から以下の文字とある程度の種類の記号が利用出来る。尚、この頃は漢字が利用できなかった。

ラテン文字(基本、1補助、拡張)、ギリシャ文字キリル文字、アルメニア文字、ヘブライ文字アラビア文字デーヴァナーガリー文字、ベンガル文字、グルムキー文字、グジャラーティー文字、オリヤー文字、タミル文字、テルグ文字、カンナダ文字、マラヤーラム文字、タイ文字、ラオス文字、チベット文字、グルジア文字、平仮名片仮名、注音字母、ハングル、返り点(漢文用記号)、私用領域(この版に限りU+E800~U+FDFF)

Ver.1.0.1

CJK統合漢字(U+4E00~U+9FA5)とCJK互換漢字(U+F900~U+FA2D)が追加された。

尚、タイ文字やラオス文字など計16字や全てのチベット文字が削除された他、私用領域含む一部の文字の符号位置変更、統廃合などの仕様変更が行われている。

詳しくは上にある当該記事を参照(以降の版も同様)。

Ver.1.1

拡張アルファベットを使う言語の新規対応に伴う文字や、4000文字以上のハングル音節文字、記号類などが追加された。

前版に続き、削除や統廃合、符号位置変更などの仕様変更が発生している文字がある。

Ver.2.0

チベット文字の再登録や、ハングルの符号位置変更などの大きな仕様変更がなされた他、サロゲートペアの枠組みが定められた。

これに伴い、これより前版までとの互換性を失った。これ以降は原則として文字の追加のみ行われる。

Ver.2.1

U+20ACのユーロ記号とU+FFFCが追加された。

Ver.3.0以降

Ver.3.1からは更に多くの種類の文字に対応する為追加面(第1面以降)にも文字割り当てが行われるようになった。

版一覧

Ver.3.0以降の追加された文字は以下の表の各リンク先を参照。Indexの項にあるCCはCodeChartsのことで、その版の全文字がPDFで掲載されている(一部CodeChartsのPDFが無い版あり。代わりにUnicodeData.txt(略:UD)をリンクで記載)。したがって、データ容量が大きい為アクセスする場合は注意。

バージョンリリース日スクリプト数文字数Index
1.0.01991年10月247161CCUD
1.0.11992年6月2528359画数UD
1.11993年6月2434233UD
2.01996年7月2538950CC1CC2CC3画数UD
2.11998年5月2538952UD
3.01999年9月3849259UD
3.12001年3月4194205UD
3.22002年3月4595221UD
4.02003年4月5296447CC
4.12005年3月5997720CC
5.02006年7月14日6499089CC
5.12008年4月4日75100713CC
5.22009年10月1日90107361非漢画数
6.02010年10月11日93109449CC画数
6.12012年1月31日100110181CC画数
6.22012年9月26日100110182CC
6.32013年9月30日100110187CC
7.02014年6月16日123113021CC
8.02015年6月17日129120737CC画数
9.02016年6月21日135128237CC
10.02017年6月20日139136755CC画数
11.02018年6月5日146137439CC画数
12.02019年3月5日150137993CC
12.12019年5月7日150137994CC
13.02020年3月10日154143924CC画数
14.02021年9月14日159144762CC画数
15.02022年9月13日161149251CC画数
16.02023年

※リリース日は太平洋標準時による。リリースが反映されるのは日本時間の翌日朝頃となる事が多い。

その他

ピクシブ百科事典に関する仕様について

2022年9月現在、U+FFFDと追加面の単独の文字を記事名に使おうとした場合🎼と同一視され、記事を立てることが出来ない(pixivのタグでは区別する)。尚、他の基本面の文字と併用する形で記事の名前をつけることは出来る(例:GOTH🔪)。この場合、追加面の文字を含む記事において実際に当該タグが付けられた作品が投稿されているにもかかわらず記事右の「pixivに投稿された作品数」が0のまま表示される不具合がある。

また、U+FFFEやU+FFFFといった非文字ではアクセスした場合エラーとなる(ブラウザなどの環境によってはリンクにカーソルを当てただけでフリーズする場合あり)。

因みにニコニコ大百科ではいつからか追加面の文字を記事名に使うことが出来るようになっている()。確認できた範囲では一部の絵文字のみで、漢字の場合でも可能かどうかは現在未確認(現時点では例としての記事でコードポイントを記事名にしたり、平仮名表記にすることで代替している)。

Apple Inc.のロゴマークを表すU+F8FFの記事自体は閲覧可能だが、pixivでは2020年2月頃からU+F8FFを含む私用領域がタグとして実質使えなくなり、検索不能になってしまった。

現状事前割り当てが与えられていないスクリプト

架空文字である等の理由により採用が難しいもの

神代文字クリンゴン文字アイハ文字

既知のスクリプトであるかどうかさえ証明されていないもの

アイマラ文字、パウカルタンボ文字、タルタリア(古代ルーマニアの表意文字)

その他

キリスト教ソグド文字 ※シリア文字と統一

サラティ ※事前割り当てを行う理由が不十分

上記は一例であり、具体例のように実際にある文字でも既存のスクリプトと統合されたり、未採用又は採用不可能となった事例が数多くあったりする。

余談

当初のUnicodeはBMPのみで、以下の4領域に分かれていた。

  • U+0000~U+4DFF ‐ A(Alphabet)領域…アルファベットや音節文字などの表音文字を格納する領域
  • U+4E00~U+9FFF ‐ I(Ideograph)領域…CJK統合漢字などの表意文字を格納する領域
  • U+A000~U+DFFF ‐ O(Open)領域…将来の拡張のための予備領域。この内U+D800~U+DFFFはサロゲート領域を示す
  • U+E000~U+FFFD ‐ R(Restricted)領域…PUA(外字領域)などの限定使用領域

尚この枠組みは後の拡張により崩壊している。この図を見るといかに枠組みが崩れているかが解りやすいだろう…。

(A領域にあるピンクで示された漢字やO領域にある赤で示された11172字も占めるハングル音節文字などがいい例。というか、ハングル字母だけで全ての現代ハングルが作れるんだからハングル音節文字自体要らないだろなどと言ってはいけない(まぁ日常的に使われるハングルの文字は精々3000字程度で、残りの大部分は使いもしないのだが…)。)

関連項目

アスキーアート…Unicodeは、JIS X 0208(日本で主に使われている文字集合)よりも遥かに多くの文字を含むので、Unicode対応環境でないと入力及び表示不能な文字を使って数々のアスキーアートや顔文字を生み出すことが出来る。

Unicodeの編集履歴2023/05/03 11:37:17 版
編集内容:難問オセロに関する情報を追加
Unicodeの編集履歴2023/05/03 11:37:17 版