Unicode

提供: testwiki
ナビゲーションに移動 検索に移動

テンプレート:Redirectlist テンプレート:JIS2004

テンプレート:Table Unicode Unicode(ユニコード)は、符号化文字集合文字符号化方式などを定めた、文字コードの業界標準規格文字集合(文字セット)が単一の大規模文字セットであること(「Uni」という名はそれに由来する)などが特徴である。

従来、各国の標準化団体あるいは各コンピュータメーカーによって独自に開発されていた個々の文字コードの間には互換性がなかった[1]ISO/IEC 2022のように複数の文字コードを共存させる方法も考案されたが、例えば日本語の漢字と中国語の漢字のように、文字が重複する短所がある。一方Unicodeは、微細な差異はあっても本質的に同じ文字であれば一つの番号を当てる方針で各国・各社の文字コードの統合を図った規格である[1]1980年代に、Starワークステーションの日本語化(J-Star)などを行ったゼロックスが提唱し、マイクロソフトAppleIBMサン・マイクロシステムズヒューレット・パッカードジャストシステムなどが参加するユニコードコンソーシアムにより作られた。国際規格のISO/IEC 10646とUnicode規格は同じ文字コード表になるように協調して策定されている[2]

概要

Unicodeは世界で使われる全ての文字を共通の文字集合にて利用できるようにしようという考えで作られ、UnixWindowsmacOSPlan 9テンプレート:Efnなどの様々なオペレーティングシステムでサポートされている。Java.NETのようなプログラミング環境でも標準的にサポートされている。現代の文字だけでなく古代の文字や歴史的な文字、数学記号、絵文字なども含む[3]

Unicode以前の文字コードとの相互運用性もある程度考慮されており、歴史上・実用上の識別が求められる場合には互換領域がとられ、元のコード→Unicode→元のコードというような変換(ラウンドトリップ変換)において、元通りに戻るよう配慮されている文字もある。しかし、正規のJIS X 0208の範囲内であればトラブルは少ないが、複数の文字集合が混在していたり、文字集合の亜種ごとにマッピング(対応づけ)が異なる文字(機種依存文字)を含んでいたりする場合テンプレート:Efn、変換テーブルによるマッピングが不可逆変換となり文字化けを起こすことがある。

Unicode文字符号化モデル

文字コードは、Unicode文字符号化モデル[4]によると以下の4段階に分けられる:

テンプレート:Visible anchor (テンプレート:Abbr)
符号化の対象とする順序のない文字の集合。
テンプレート:Visible anchor (テンプレート:Abbr)
抽象文字集合を非負整数に対応させたもの。この非負整数の範囲を符号空間、各値を符号位置 (コードポイント) といい、抽象文字は対応後、符号化文字となる[5]。抽象文字は複数の符号化文字に対応されることもある[6]
テンプレート:Visible anchor (テンプレート:Abbr)
符号化文字集合の非負整数を符号単位列に変換する方法。文字符号化形式はコンピュータ中に実際にデータとして文字を表現することを可能にする。
テンプレート:Visible anchor (テンプレート:Abbr)
符号単位列をバイト列に直列化する方法。符号単位が8ビットより大きい場合はエンディアンが関係する。

その後、バイト列を、gzipなどで圧縮したり、7ビット伝送路に通すためにBase64Quoted-printableなどで変換したりすることがあるが、これらは文字コードの管轄範囲外である。

文字集合

テンプレート:下付き文字 Unicodeの文字集合の符号空間は0 - 10FFFF16で111万4,112の符号位置がある[7]。Unicode 16.0(2024年9月10日公表)では15万4,998個1 (13.9%) の文字テンプレート:Efnが割り当てられ、65個を制御文字に使い、15万4,537符号位置 (13.8%) を私用文字として確保している。また、2,048文字分をUTF-16のための代用符号位置に使用しており、加えて66の特別な符号位置は使われない。残りの80万2,463符号位置 (72%) は未使用である[8]

文字を特定する場合にはUnicode符号位置や一意につけられた名前が使われる。例えば、アルファベット小文字の「a」はU+0061 (LATIN SMALL LETTER A)、八分音符「♪」はU+266A (EIGHTH NOTE) である。Unicode符号位置を文章中などに記す場合は "U+" の後に十六進法で符号位置を4桁から6桁続けることで表す。また、符号空間のうち代用符号位置を除く符号位置をUnicodeスカラ値という[9]

収録されている文字は、各国で標準として規定されている文字集合や実際に使用されている文字を持ち寄り、委員会により取捨選択されている。日本の文字については当初よりJIS X 0201JIS X 0208JIS X 0212を、Unicode 3.1からはJIS X 0213の内容も収録している。

また収録において、元の各文字集合内で分離されている文字は尊重するが、異なる文字集合に同一の文字が収録されているとみなされるものは、同じ符号位置に割り当てる方針を取っている。この際に集合が膨大であるという理由で、漢字について、中国日本韓国の各規格の漢字を統合CJK統合漢字としたことは大きな議論となった。

現在では独自創作の絵文字の追加等、当初の目的である「各国・各社の文字コードの統合」から外れた動きも進んでいる。

Unicodeに収録されている文字については、「ブロックの一覧」を参照。

文字符号化形式

テンプレート:特殊文字 Unicodeでは文字符号化形式としてUTF-8UTF-16UTF-32の3種類が定められている。

UTF-8は1符号化文字を1〜4符号単位で表す可変幅文字符号化形式で、1符号単位は8ビットである。

UTF-16は1符号化文字を1〜2符号単位で表す可変幅文字符号化形式で、1符号単位は16ビットである。基本多言語面の文字を符号単位一つで、その他の文字をサロゲートペア(代用対)という仕組みを使い符号単位二つで表現する。

UTF-32は1符号化文字を1符号単位で表す固定幅文字符号化形式で、1符号単位は32ビットである。ただし、Unicodeの符号空間がU+10FFFFまでであるため、実際に使われるのは21ビットまでである。

各文字符号化形式の符号化例
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
UTF-8 A Ω 😊
41 CE A9 E8 AA 9E F0 9F 98 8A
UTF-16 A Ω 😊
0041 03A9 8A9E D83D DE0A
UTF-32 A Ω 😊
00000041 000003A9 00008A9E 0001F60A

文字符号化方式

文字符号化形式
(CEF)
文字符号化方式
(CES)
UTF-8 UTF-8
UTF-16 UTF-16
UTF-16BE
UTF-16LE
UTF-32 UTF-32
UTF-32BE
UTF-32LE

Unicodeでは文字符号化方式としてUTF-8UTF-16UTF-16BEUTF-16LEUTF-32UTF-32BEUTF-32LEの7種類が定められている。それぞれの符号化形式に対応する符号化方式は表の通り。

文字符号化形式との違いは、文字符号化形式がプログラム内部で文字を扱う場合に符号なし整数として文字を表現する方法なのに対し、文字符号化方式は入出力時にバイト列として表現する方法である。UTF-8は符号単位が8ビットであるため区別する意味はない。

文字符号化方式
(CES)
エンディアン BOMの付与
UTF-8 テンプレート:N/a テンプレート:Yes2
UTF-16 ビッグ/リトル テンプレート:Yes2
UTF-16BE ビッグエンディアン テンプレート:No2
UTF-16LE リトルエンディアン テンプレート:No2
UTF-32 ビッグ/リトル テンプレート:Yes2
UTF-32BE ビッグエンディアン テンプレート:No2
UTF-32LE リトルエンディアン テンプレート:No2
UTF-8

テンプレート:Main

可変長(1-4バイト)の8ビット符号単位で表現する文字符号化方式。ASCIIに対して上位互換となっており、文字の境界が明確である、UTF-16符号化方式やUTF-32符号化方式との変換・逆変換に際して乗除算などの高負荷処理が必要ない、などの特長を持ち、インターネットではもっとも一般的に利用されている。
なお、UTF-8はもともと8ビットを符号単位とするためバイト順マーク(BOM;後述)は必要ないが、UTF-8であることが識別できるよう、データストリームの先頭に EF BB BF(U+FEFFのUTF-8での表現)の3バイトが付与されることがある。UTF-8のBOMはバイト順を表すものではなく、UTF-16符号化方式等における「真の意味でのBOM」と同じコードポイントを利用しているがゆえに慣用的にこう呼ばれているに過ぎない。UTF-8でのBOMの使用は非推奨[10]
UTF-16

テンプレート:Main

UTF-16符号化方式では、通常はファイルの先頭にバイト順マーク (BOM) が付与される。BOMとは、通信やファイルの読み書き等、8ビット単位の処理でバイト順を識別するための印であり、データストリームの先頭に付与される。値はU+FEFF。システムが読み込んだ先頭2バイトが FF FEならリトルエンディアン、FE FFならビッグエンディアンとして後に続く文書を処理する。
テンプレート:IETF RFC ではBOMが付いていないUTF-16文書はビッグエンディアンとして解釈することになっている。Microsoft Windowsのメモ帳で作成した「Unicodeテキスト」はBOMが付与されるようになっている。ビッグエンディアンの符号化方式をUTF-16BE、リトルエンディアンの符号化方式をUTF-16LEとして区別することもある。プロトコルもしくはアプリケーションの設定などの手段で符号化方式にUTF-16BEUTF-16LEを指定している場合にはBOMを付与することは許容されない。Windows上の文書における「Unicodeテキスト」は特に明記のない場合、リトルエンディアンのUTF-16符号化方式のことを指す。TCP/IPネットワークでは、プロトコルヘッダやMIME等の手段で符号化方式が指定されずBOMも付与されない場合、ビッグエンディアンとして扱うと決められている。
UTF-32

テンプレート:Main

UTF-32符号化方式でもUTF-16符号化方式と同じく、ビッグエンディアンとリトルエンディアンが存在し、それぞれUTF-32BEUTF-32LEと呼ばれる。プロトコルもしくはアプリケーションの設定などの手段で符号化方式にUTF-32BEUTF-32LEを指定している場合にはBOMを付与することは許容されない。
単純な符号化方式であるが、テキストファイルなどではファイルのサイズが大きくなる(すべてBMPの文字からなる文章の場合はUTF-16符号化方式の2倍、すべてASCII文字の場合はASCII/UTF-8の4倍のサイズとなる)ため、ストレージ用として使われることは稀である。そのためか、Microsoft Officeでの「エンコードされたテキストファイル」の読み書きでは、Office 2016 でもいまだに符号化方式には対応していない。フリーウェアシェアウェアテキストエディタのうち多数の符号化方式に対応しているものでも、この符号化方式には対応していないものが存在する。
ただし、すべてのUnicode文字を処理する場合には、すべての文字を単一の符号単位で表現したほうが処理に適するため、内部の処理ではUTF-32符号化形式(あるいはUCS-4)で扱うこともある。実例として、Linux 上のC言語環境では wchar_t は32ビット整数型である。
UTF-16符号化方式などと同様にUTF-32符号化方式にもBOMがあり、データストリームの先頭に付される。先頭の4バイトがFF FE 00 00ならリトルエンディアン、00 00 FE FFならビッグエンディアンになる。UTF-16のリトルエンディアンとUTF-32のリトルエンディアンは最初の2バイトが等しいため、4バイトまで読んで判断する必要がある。
各文字符号化方式の符号化例
UTF-8 A Ω 😊
41 CE A9 E8 AA 9E F0 9F 98 8A
UTF-16BE A Ω 😊
00 41 03 A9 8A 9E D8 3D DE 0A
UTF-16LE A Ω 😊
41 00 A9 03 9E 8A 3D D8 0A DE
UTF-32BE A Ω 😊
00 00 00 41 00 00 03 A9 00 00 8A 9E 00 01 F6 0A
UTF-32LE A Ω 😊
41 00 00 00 A9 03 00 00 9E 8A 00 00 0A F6 01 00

その他

UTF-7

テンプレート:Main

UTF-16で表したUnicodeをBase64で変換して表す符号化方式。ただし、ASCIIのアルファベット範囲等についてはBase64に変換しない等、特殊な符号化方式を行う。テンプレート:IETF RFCで定められており、Unicode規格及びUnicodeの関連規格には含まれない。かつてのSMTP等のように、7ビット単位でしかデータを扱えない通信方式を利用する場合を想定して作られている。ステートフルエンコーディングであり、運用上問題が多いため、現在ではこの方式は推奨されていない。Unicode文字を7ビット単位伝送通信にどうしても通さなければならない場合は、替わりにUTF-8をQuoted-printableあるいはBase64で変換するなどの方式が好ましい。


以下はエイプリルフールに公開されたジョークRFCである (テンプレート:IETF RFC)。UTF-9に関しては同名の規格が実際に検討されていた(ただし、内容は大きく異なる)が、ドラフト段階で破棄されているため重複にはならない。

UTF-9
可変長の9ビット符号単位で表現する符号化方式。1バイト8ビットオクテット)ではなく9ビット(ノネット)であるような環境での利用を想定している。UTF-8と比較した場合、Latin-1領域が1バイト、CJK統合漢字領域が2バイトで表現できる特長があり、データ量が少なくなる。ワード長が9の倍数のコンピュータ(PDP-10ACOS-6など)であれば計算コストも低い。
UTF-18
Unicode符号位置を単一の18ビット符号単位で表現する符号化方式。UTF-8に対するUTF-16のようなものだが、RFC公開時点のUnicodeで文字が定義されていた4つの(BMP、U+1xxxx、U+2xxxx、U+Exxxx)を余った2ビットで識別するため、代用符号位置は使わない。

以下はドラフト段階で破棄された規格案。

UTF-5
国際化ドメイン名での利用を想定し、0-9、A-Vの32文字で表現する文字符号化方式。国際化ドメイン名にはPunycodeが採用されたため、利用されていない。
UTF-9
可変長(1-5バイト)の8ビット符号単位で表現する文字符号化形式または文字符号化方式。ISO-8859-1に対して一部互換である。しかし、UTF-8が普及しつつあり、それと比べて欠点がいくつかあったため、破棄された。

拡張領域

1980年代の当初の構想では、Unicodeは16ビット固定長で、216 = 6万5,536 個の符号位置に必要な全ての文字を収録する、というもくろみであった。しかし、Unicode 1.0公表後、拡張可能な空き領域2万字分を巡り、各国から文字追加要求が起こった。その内容は中国、日本、台湾、ベトナム、シンガポールの追加漢字約1万5千字、古ハングル約5千字、未登録言語の文字などである。このようにしてUnicodeの、16ビットの枠内に全世界の文字を収録するという計画は早々に破綻し、1996年のUnicode 2.0の時点で既に、文字集合の空間を16ビットから広げることが決まった。この時、それまでの16ビットを前提としてすでに設計されていたシステム(たとえばJavachar型や、Windows NTWindows 95のAPI)をなるべくそのままにしたまま、広げられた空間にある符号位置を表現する方法として、サロゲートペアが定義された。

サロゲートペア

サロゲートペア(代用対)は16ビットUnicodeの領域1,024文字分を2つ使い(前半 U+D800 〜 U+DBFF、後半 U+DC00 〜 U+DFFF)、各々1個ずつからなるペアで1,024 × 1,024 = 1,048,576文字を表す。これはちょうど16面分であり、第1面〜第16面(U+010000 〜 U+10FFFF)の文字をこれで表すこととした。加えて第0面(基本多言語面)も使用可能なので、Unicodeには合計で 1,048,576 + 65,536 - 2,048 = 111万2,064文字分の空間が確保されたことになる。Unicodeの符号空間が10FFFF16まで(サロゲート領域を除いて111万2,064文字)とされているのはUTF-16が表現可能な限界だからである。

サロゲートはUnicodeの符号位置の U+010000 〜 U+10FFFF の範囲を16ビットユニットのペア(2つ)で表現する集合で、最初の16ビットユニットを前半サロゲートもしくはハイサロゲート、二番目を後半サロゲートもしくはローサロゲートと称する。ハイサロゲートは U+D800 〜 U+DBFF の範囲、ローサロゲートは U+DC00 〜 U+DFFF の範囲である。

サロゲートペアはUTF-16でのみ使われ[11]、UTF-8、UTF-32ではすべての符号位置を符号化できるためこのような特別な処理は必要ない。

コーディング

サロゲートのエンコーディングは、符号位置を CP、ハイサロゲートを HSG、ローサロゲートを LSG とすると次の通りに計算する。

HSG=floor(CP100001640016)+D80016
LSG=(CP1000016)mod40016+DC0016

デコーディングは、

CP=1000016+(HSGD80016)×40016+(LSGDC0016)

である。

コード変換例
𠮷テンプレート:Efn」U+20BB7 のエンコードを考えてみる。
0010 0000 1011 1011 01112 (20BB716) から
0001 0000 0000 0000 00002 (1000016) を引くと、結果は
0001 0000 1011 1011 01112 (10BB716) となる。
これを上位10ビット値と下位10ビット値に分割する。
0001 0000 102 (004216),  11 1011 01112 (03B716)
ハイ(上位)サロゲートを形成するために上位ビットに D80016を加える。
00 0100 00102 (004216)+1101 1000 0000 00002 (D80016)=1101 1000 0100 00102(D84216)
ロー(下位)サロゲートを形成するために下位ビットに DC0016 を加える。
11 1011 01112 (03B716)+1101 1100 0000 00002 (DC0016)=1101 1111 1011 01112(DFB716)
結果
D84216, DFB716 (UTF-16 符号単位列)
D816, 4216, DF16, B716(UTF-16BEでの符号化バイト列)
4216, D816, B716, DF16(UTF-16LEでの符号化バイト列)

次の表は、この文字変換と他をまとめたものである。 色は、コードポイントからのビットがUTF-16バイトにどのように分配されるかを示した。 なお、UTF-16エンコーディングプロセスによって追加された追加ビットは黒で示されている。

文字
(符号位置)
符号位置(2進数) UTF-16
符号単位列(2進数)
UTF-16
符号単位列
UTF-16BE
符号化バイト列
UTF-16LE
符号化バイト列
$ U+0024 テンプレート:Font color テンプレート:Font color テンプレート:Font color テンプレート:Font color テンプレート:Font color
テンプレート:Efn U+20AC テンプレート:Font color テンプレート:Font color テンプレート:Font color テンプレート:Font color テンプレート:Font color
𠮷テンプレート:Efn U+20BB7 テンプレート:Font colorテンプレート:Font color 1101 10テンプレート:Font color 1101 11テンプレート:Font color テンプレート:Font color テンプレート:Font color テンプレート:Font color テンプレート:Font color テンプレート:Font color テンプレート:Font color
最大値 U+10FFFF テンプレート:Font colorテンプレート:Font color 1101 10テンプレート:Font color 1101 11テンプレート:Font color テンプレート:Font color テンプレート:Font color テンプレート:Font color テンプレート:Font color テンプレート:Font color テンプレート:Font color

一つの面は6万5536個の符号位置がある。

符号位置 英語での名称 略称 日本語での名称 収録されている主な文字
第0面 U+0000 - U+FFFF Basic Multilingual Plane BMP 基本多言語面 基本的な文字。
第1面 U+10000 - U+1FFFF Supplementary Multilingual Plane SMP 追加多言語面 古代文字や記号・絵文字類など。
第2面 U+20000 - U+2FFFF Supplementary Ideographic Plane SIP 追加漢字面 漢字専用領域。
第3面 U+30000 - U+3FFFF Tertiary Ideographic Plane TIP 第三漢字面 追加漢字面に入りきらなかった漢字。また、将来的には古代漢字や甲骨文字などが収録される予定テンプレート:Efn
第4面 U+40000 - U+4FFFF 未使用(将来どのような目的で使用するのかすら決まっていない)。
第5面 U+50000 - U+5FFFF
第6面 U+60000 - U+6FFFF
第7面 U+70000 - U+7FFFF
第8面 U+80000 - U+8FFFF
第9面 U+90000 - U+9FFFF
第10面 U+A0000 - U+AFFFF
第11面 U+B0000 - U+BFFFF
第12面 U+C0000 - U+CFFFF
第13面 U+D0000 - U+DFFFF
第14面 U+E0000 - U+EFFFF Supplementary Special-purpose Plane SSP 追加特殊用途面 制御コード専用領域。
第15面 U+F0000 - U+FFFFF Private Use Plane PUP 私用面 BMPの U+E000 - U+F8FF の領域の拡張。
第16面 U+100000 - U+10FFFF

日本では2000年にJIS X 0208を拡張する目的でJIS X 0213(いわゆるJIS第3・第4水準)が制定されたが、この際、新たに採用された文字でUnicodeになかったものの一部は、BMPに収録できず、第2面への収録となった(Unicodeが最終的にJIS X 0213への対応を完了したのは2002年である)。このため、JIS X 0213収録文字をUnicodeで完全にサポートするには、追加漢字面をサポートしたOSフォントアプリケーションが必要となる。Shift_JISなど、Unicodeにて規定されるもの以外のエンコーディングを利用する場合であっても、JIS X 0213に対応するフォントやアプリケーションが必要である。

常用漢字2010年改定で追加された字のうちテンプレート:JIS2004フォントはU+20B9Fで、追加漢字面に含まれる。そのため、改定後の常用漢字完全サポートを謳う場合、Unicodeに対応していて更にこの拡張領域にも対応している必要があると言える。ただ、現状ではこの字は、JIS X 0208に含まれる(=当然、Unicode策定当初からBMPに収録されている)異体字の「叱」(U+53F1) で代用されることが多い。

歴史

1984年、ISOの文字コード規格委員会 (ISO/TC 97/SC2) は文字セットの切り替えを行わずに世界中の文字を単一の文字集合として扱える文字コード規格 (ISO 10646) を作成することを決定し、専門の作業グループ (ISO/TC 97/SC 2/WG 2) を設置し、作業を始めていた。1980年代後半にはこの作業グループにおいてさまざまな提案が検討されている。1990年になって出来あがったISO/TC 97/SC 2/WG 2作成のISO 10646の初版ドラフト(DIS 10646#DIS 10646第1版)では、漢字コードは32ビットで表現され、各国の漢字コードはそのまま入れることになった。しかし中国は漢字を各国でばらばらに符号化するのではなく、あくまで統一して扱うことを求めてこのドラフトには当初から反対しており、今後の漢字コードの方針を決めるため、WG 2は CJK-JRG (Joint Research Group) と呼ばれるグループを別途設置し、そこで引き続き検討することにした。

このような公的機関の動きとは別に、1987年頃からXeroxのJoe BeckerとLee Collinsは、後にUnicodeと呼ばれるようになる、世界中の文字を統一して扱える文字コードを開発していた。1989年9月には「Unicode Draft 1」が発表された。ここではその基本方針として、2オクテット(16ビット)固定長で全ての文字を扱えることを目指しており、そのために日本・中国・韓国の漢字を統一することで2万弱の漢字コードを入れ、さらに将来の拡張用に、3万程度の漢字の空き領域が別に用意されていた。このドラフトは少しずつ改良を加えられながら1990年4月にUnicode Draft 2、同年12月Unicode Final Draftとなった。さらに1991年1月にはこのUnicode Final Draftに賛同する企業によって、ユニコードコンソーシアムが設立された。

1991年6月、ISO/IEC 10646による4オクテット固定長コードを主体としたドラフト「DIS 10646第1版」は、2オクテット固定長コードであるUnicodeとの一本化を求める各国により否決され、ISO 10646とUnicodeの一本化が図られることになった。また中国およびユニコードコンソーシアムの要請により、CJK-JRGにおいて、ISO 10646とUnicodeの一本化が図られることになった。CJK-JRGは各国の漢字コードに基づき独自の統合規準を定め、ISO 10646 / Unicode用の統合漢字コード表を作成することになった。CJK-JRGの会合は第1回が7月22日から24日にかけて東京で、第2回の会合が9月17日から19日にかけて北京で、第3回が11月25日から29日にかけて香港で開催された。これらの討議の結果、1991年末になって「ISO 10646=Unicode」用の統合漢字コード表が Unified Repertoire and Ordering (URO) の第1版として完成した。

Unicodeの最初に印刷されたドキュメントであるUnicode 1.0は、統合漢字表の完成に先行して漢字部分を除いたUnicode 1.0, Vol.1が1991年10月に出版され、後に1992年になって漢字部分だけのUnicode 1.0, Vol.2が出版された。

1992年、CJK統合漢字URO第二版が完成し、これを取り込んだ(ただし、UROには若干の間違いが発見されており、それらの修正が行われている。)DIS 10646第2版が、5月30日の国際投票で可決された。

1993年5月1日 「ISO/IEC 10646-1: 1993 Universal Multiple-Octet Coded Character Set (UCS) -- Part 1: Architecture and basic Multilingual Plane」が制定される。同年翌6月にUnicode 1.0は ISO/IEC 10646-1:1993にあわせた変更を行いUnicode 1.1となり、以後UnicodeとISO/IEC 10646とは歩調を合わせて改訂されていくことになる。

Unicodeのバージョン

Unicodeのバージョンは、メジャーバージョン (the major version)、マイナーバージョン (the minor version)、アップデートバージョン (the update version) の3つの部分から構成され、ピリオドでつなげて表示される[12]。ただし、マイナーバージョン及びアップデートバージョンについては0の場合には省略して表示されることもある。メジャーバージョンはレパートリーの追加のような重要な変更が行われたときに改定される。Unicodeのドキュメントは書籍形態と電子版ドキュメント形態の両方で公表され、どちらもUnicodeについての正式なドキュメントであるとされている。新たなバージョンがリリースされたときは新たなドキュメントが公表されるが、書籍として刊行されるのはメジャーバージョンが改定された場合および重要なマイナーバージョンの改定があった場合のみである。書籍版のバージョン1.0は、2巻に分けて刊行され、統合漢字部分を除いた第1巻は1991年10月に、統合漢字部分の第2巻は1992年6月に刊行された。そのため第1巻のみのものをUnicode 1.0.0、第2巻を含めたものをUnicode 1.0.1と呼ぶことがある。

各バージョンとその特徴

Unicodeのそれぞれのバージョン番号とその制定年月日、収録文字数他の特徴は以下の通りである。

制定年月日 バージョン番号 収録文字数 概要 日本語における主要な追加文字
1991年10月 Unicode 1.0.0

[13]

7,161 初期バージョン、16ビットの文字コード JIS X 0201
1992年6月 Unicode 1.0.1

[14]

28,359 CJK統合漢字を導入 JIS X 0208JIS X 0212
1993年6月 Unicode 1.1.0

[15]

34,233 ISO/IEC 10646-1:1993にあわせ変更
1993年7月 Unicode 1.1.5

[16]

1996年7月 Unicode 2.0.0

[17]

38,950 ISO/IEC 10646-1:1993の追補Amd.1からAmd.7に対応。ハングルの大移動を行いUnicode1.xとの互換性を失う (Amd.5)、サロゲートペア(代用対)を導入し追加面を可能にして収容可能な文字を大幅に増やす、21ビット領域に拡張 (Amd.1)
1998年5月 Unicode 2.1.0

[18]

38,952 ユーロ記号と正誤表を追加
1998年5月 Unicode 2.1.2

[19]

1998年8月 Unicode 2.1.5

[20]

1998年10月 Unicode 2.1.8

[21]

1999年4月 Unicode 2.1.9

[22]

1999年9月 Unicode 3.0.0

[23]

49,259 ISO/IEC 10646-1:2000が発行されるまでの追補Amd.8からAmd.31の文字すべてに対応。CJK統合漢字拡張Aで漢字6582字を追加 (Amd.17) JIS X 0213の一部(地名や人名などに用いられる漢字)
2000年8月 Unicode 3.0.1

[24]

2001年3月 Unicode 3.1.0

[25]

94,205 ISO/IEC 10646-2:2001に対応。BMP以外の拡張。CJK統合漢字拡張Bで漢字42711字を追加 JIS X 0213の一部(地名や人名などに用いられる漢字)
2001年8月 Unicode 3.1.1

[26]

2002年3月 Unicode 3.2.0

[27]

95,221 ISO/IEC 10646-1:2000の追補Amd.1に対応 JIS X 0213(正式対応)
2003年4月 Unicode 4.0.0

[28]

96,447 ISO/IEC 10646:2003に対応
2004年5月 Unicode 4.0.1

[29]

2005年3月31日 Unicode 4.1.0

[30]

97,720 ISO/IEC 10646:2003の追補Amd.1に対応
2006年7月14日 Unicode 5.0.0

[31]

99,089 ISO/IEC 10646:2003の追補Amd.2とシンド語(Amd.3に含まれる)に対応
2008年4月4日

[32]

Unicode 5.1.0 100,713 ISO/IEC 10646:2003の追補Amd.3とAmd.4に対応。異体字セレクタを漢字に対して使い始める

[33]

麻雀牌、割り算の筆算(長除法)の記号、電話機の星印Adobe-Japan1-6の漢字字形

[34]

2009年10月1日 Unicode 5.2.0

[35]

107,361 ISO/IEC 10646:2003の追補Amd.6までに対応 ARIB外字
テンプレート:Nowrap Unicode 6.0.0

[36]

109,449 ISO/IEC 10646:2010 携帯電話の絵文字
2012年1月31日 Unicode 6.1.0

[37]

110,181 ISO/IEC 10646:2012
2012年9月26日 Unicode 6.2.0

[38]

110,182 新トルコリラの通貨記号の追加など
2013年9月30日 Unicode 6.3.0

[39]

110,187
2014年6月16日 Unicode 7.0.0

[40]

113,021 ISO/IEC 10646:2012の追補Amd.1とAmd.2に対応。ルーブルアゼルバイジャン・マナトの通貨記号、北米・中国・インド・アフリカの言語のための歴史的なスクリプトの追加。 約250字の絵文字の追加。
2015年6月17日 Unicode 8.0.0

[41]

120,737 ISO/IEC 10646:2014の追補Amd.1に対応。 U+301C WAVE DASHの修正(後述)
2016年6月21日 Unicode 9.0.0

[42]

128,172 ISO/IEC 10646:2014の追補Amd.2に対応。 91個の絵文字の追加、4KTV放送用シンボル19個の追加
2017年6月20日 テンプレート:Anchorsテンプレート:Nowrap

[43]

136,690 ISO/IEC 10646:2017 変体仮名285文字追加
2018年6月5日 テンプレート:Nowrap 137,374 ISO/IEC 10646:2017の追補Amd.1に対応
2019年3月5日 Unicode 12.0.0 [44] 137,928 ISO/IEC 10646:2017の追補Amd.1とAmd.2に対応 小文字の「ゐ」「ゑ」「を」「ヰ」「ヱ」「ヲ」「ン」追加
2019年5月7日 Unicode 12.1.0 [45] 137,929 「㋿」(日本の元号「令和」の合字)追加
2020年3月10日 Unicode 13.0.0 [46] 143,859 ISO/IEC 10646:2020
2021年9月22日 Unicode 14.0.0 [47] 144,697 ISO/IEC 10646:2021 わ行う、ワ行うヤ行イヤ行エを追加
2022年9月13日 Unicode 15.0.0 [48] 149,186 ISO/IEC 10646:2022
2023年9月12日 Unicode 15.1.0 [49] 149,813 ISO/IEC 10646:2023
2024年9月10日 Unicode 16.0.0 [50] 154,998 ISO/IEC 10646:2024

構成要素のバージョン

テンプレート:更新

Unicodeのバージョンには、上記のような「Unicodeの規格全体に付けられたバージョン」の他に「Unicodeを構成する個々の要素の規格に付けられたバージョン」が存在する。これに該当するものとしては、Unicodeを構成する各面ごとに付けられたバージョンや、Unicodeに収録されないこととされたスクリプトのリスト (NOR = Not The Roadmap) に付けられたバージョン、規格の一部を構成するUnicode Technical Note(Unicode技術ノート)、Unicode Technical Report(Unicode技術報告)、Unicode Technical Standard(Unicode技術標準)のバージョンなどが存在する。

日付 全体[51] BMP[52] SMP[53] SIP[54] TIP[55] SSP[56] NOR[57]
1991年10月 1.0.0[13]
1992年6月 1.0.1[14]
1993年6月 1.1.0[15]
1993年7月 1.1.5[16]
1996年7月 2.0.0[17]
1998年5月 2.1.0[18]
1998年5月 2.1.2[19]
1998年8月 2.1.5[20]
1998年10月 2.1.8[21]
1999年4月 2.1.9[22]
1999年9月 3.0.0[23]
2000年8月 3.0.1[24]
2001年3月 3.1.0[25]
2001年8月 3.1.1[26]
2001年10月10日 3.0[58] 3.0[59] 3.0[60] 1.0[61]
2001年10月12日 3.1[62]
2001年10月27日 3.1[63]
2001年11月27日 3.0[64]
2002年1月22日 3.2[65] 3.1[66]
2002年1月29日 3.3[67]
2002年2月5日 3.4[68]
2002年3月 3.2.0[27]
2002年4月3日 3.2[69]
2002年4月4日 3.5[70]
2002年6月7日 3.6[71] 3.3[72]
2002年6月23日 3.7[73]
2002年10月2日 3.8[74]
2002年10月28日 3.9[75]
2002年11月11日 3.1[76]
2002年12月3日 3.10[77] 3.4[78]


3.5[79]

2002年12月11日 3.11[80]
2003年3月12日 3.12[81] 3.6[82]
2003年3月15日 3.7[83]
2003年4月 4.0.0[28]
2003年4月16日 4.0[84] 4.0[85] 4.0[86] 4.0[87] 4.0[88]
2003年5月4日 4.1[89]
2003年5月16日 4.1[90]
2003年6月18日 4.2[91] 4.1[92]
2003年7月15日 4.1[93]
2003年8月19日 4.3[94]
2003年9月11日 4.4[95] 4.2[96]
2003年9月20日 4.5[97]
2003年10月22日 4.6[98]
2003年10月31日 4.3[99]
2003年12月23日 4.7[100] 4.4[101]
2004年5月 4.0.1[29]
2004年5月27日 4.5[102]
2004年6月24日 4.8[103] 4.6[104]
2004年7月3日 4.7[105]
2004年12月1日 4.1[106]
2005年1月27日 4.2[107]
2005年1月28日 4.9[108] 4.8[109]
2005年3月31日 4.1.0[30] 4.10[110] 4.9[111]
2005年5月27日 4.10[112] 4.2[113]
2005年6月10日 4.11[114] 4.11[115]
2005年6月27日 4.12[116] 4.12[117] 4.3[118] 4.2[119] 4.3[120]
2005年8月1日 4.13[121] 4.13[122]
2005年9月6日 4.14[123]
2005年9月14日 4.15[124]
2005年9月17日 4.14[125]
2005年9月19日 4.16[126]
2005年12月8日 4.15[127]
2006年1月11日 4.17[128] 4.16[129]
2006年4月17日 4.18[130] 4.17[131] 4.4[132]
2006年4月28日 4.4[133]
2006年7月14日 5.0.0[31]
2006年9月21日 5.0[134] 5.0[135] 5.0[136] 5.0[137] 5.0[138]
2006年9月29日 5.0.1[139] 5.0.1[140]
2007年3月14日 5.0.1[141]
2007年4月11日 5.0.2[142] 5.0.2[143]
2007年5月5日 5.0.3[144] 5.0.3[145]
2007年7月24日 5.0.4[146] 5.0.4[147] 5.0.1[148]
2007年8月22日 5.0.5[149]
2007年8月29日 5.0.5[150]
2008年1月15日 5.0.6[151]
2008年1月31日 5.0.6[152]
2008年2月14日 5.0.7[153] 5.0.7[154]
2008年4月4日 5.1.0[32] 5.1.0[155] 5.1.0[156] 5.1.0[157] 5.1.0[158] 5.1.0[159]
2008年4月25日 5.1.1[160] 5.1.1[161] 5.1.0[162] 5.1.1[163]
2008年8月12日 5.1.2[164] 5.1.2[165]
2008年8月19日 5.1.3[166]
2008年10月17日 5.1.4[167] 5.1.3[168] 5.1.1[169]
2009年2月4日 5.1.5[170] 5.1.4[171]
2009年2月26日 5.1.1[172]
2009年4月22日 5.1.2[173]
2009年4月24日 5.1.5[174]
2009年10月1日 5.2.0[35] 5.2.0[175] 5.2.0[176] 5.2.0[177] 5.2.0[178] 5.2.0[179] 5.2.0[180]
2009年11月18日 5.2.1[181]
2010年2月5日 5.2.1[182]
2010年2月10日 5.2.2[183]
2010年2月23日 5.2.3[184]
2010年4月23日 5.2.2[185] 5.2.4[186]
2010年5月12日 5.2.5[187]
2010年6月24日 5.2.6[188]
2010年7月27日 5.2.7[189]
2010年10月11日 6.0.0[36] 6.0.0[190] 6.0.0[191] 6.0.0[192] 6.0.0[193] 6.0.0[194] 6.0.0[195]
2010年12月6日 6.0.1[196]
2011年1月9日 6.0.2[197]
2011年1月14日 6.0.1[198]
2011年1月27日 6.0.2[199] 6.0.3[200] 6.0.1[201] 6.0.1[202] 6.0.1[203] 6.0.1[204]
2011年3月18日 6.0.4[205]
2011年5月24日 6.0.5[206]
2011年6月23日 6.0.3[207] 6.0.6[208]
2011年8月1日 6.0.7[209]
2011年8月15日 6.0.8[210]
2011年8月24日 6.0.9[211]
2011年11月15日 6.0.10[212]
2011年11月29日 6.0.11[213]
2011年12月19日 6.0.2[214]
2012年1月6日 6.0.12[215]
2012年1月31日 6.1.0[37]
2012年2月1日 6.1.0[216] 6.1.0[217] 6.1.0[218] 6.1.0[219] 6.1.0[220] 6.1.0[221]
2012年2月15日 6.1.1[222]
2012年5月4日 6.1.2[223]
2012年7月30日 6.1.3[224]
2012年8月27日 6.1.4[225]
2012年9月13日 6.1.1[226] 6.1.5[227]
2012年9月26日 6.2.0[38]
2012年9月27日 6.2.0[228] 6.2.0[229] 6.2.0[230] 6.2.0[231] 6.2.0[232] 6.2.0[233]
2012年10月16日 6.2.1[234] 6.2.1[235]
2012年12月2日 6.2.2[236] 6.2.2[237]
2013年3月19日 6.2.3[238]
2013年5月4日 6.2.4[239]
2013年5月23日 6.2.5[240]
2013年7月24日 6.2.6[241]
2013年9月30日 6.3.0[39]
2013年10月28日 6.3.0[242] 6.3.0[243] 6.3.0[244] 6.3.0[245] 6.3.0[246] 6.3.0[247]
2014年2月19日 6.3.1[248] 6.3.1[249]
2014年6月16日 7.0.0[40]
2014年8月7日 7.0.0[250] 7.0.0[251] 7.0.0[252] 7.0.0[253] 7.0.0[254] 7.0.0[255]
2014年9月18日 7.0.1[256] 7.0.1[257] 7.0.1[258]
2014年10月24日 7.0.2[259] 7.0.2[260] 7.0.1[261]
2015年3月26日 7.0.2[262] 7.0.3[263]
2015年6月3日 7.0.3[264] 7.0.4[265]
2015年6月17日 8.0.0[41]
2015年6月26日 8.0.0[266] 8.0.0[267] 8.0.0[268] 8.0.0[269] 8.0.0[270] 8.0.0[271]
2015年8月17日 8.0.1[272]
2016年1月21日 8.0.1[273] 8.0.2[274] 8.0.1[275]
2016年2月3日 8.0.3[276] 8.0.1[277]
2016年5月3日 8.0.2[278]
2016年6月10日 8.0.4[279]
2016年6月21日 9.0.0[42]
2016年6月23日 9.0.0[280] 9.0.0[281] 9.0.0[282] 9.0.0[283] 9.0.0[284] 9.0.0[285]
2017年1月12日 9.0.1[286]
2017年5月24日 9.0.1[287]
2017年6月6日 9.0.2[288]
2017年6月20日 10.0.0[43]
2017年6月21日 10.0.0[289] 10.0.0[290] 10.0.0[291] 10.0.0[292] 10.0.0[293]
2017年6月29日 10.0.0[294]
2017年12月27日 10.0.1[295]
2018年1月10日 10.0.1[296] -

Unicodeの諸問題

バージョンごとの非互換性

Unicodeは同一のコードでもバージョンが変わったとき完全に異なった文字を定義し直したことがある。

そのうち最大のものがUnicode 2.0での「ハングルの大移動」である。これはUnicode 1.1までで定義されていたハングルの領域を破棄し、新しいハングルの領域を別の位置に設定し、破棄された領域には別の文字の領域を割り当てることとなった。その後、Unicode 3.0では、従来ハングルが割り当てられていた領域にCJK統合漢字拡張A、ついでUnicode 4.0で六十四卦が割り当てられた。このように、Unicode 1.1以前でハングルを記述した文書とUnicode 2.0以降でCJK統合漢字拡張Aを記述した文書には互換性がないテンプレート:Efn。JCS委員長の芝野耕司はUnicodeに日本語の漢字を収録させる議論の中で、ハングル大移動について「韓国のとった滅茶苦茶な行動」と述べている[297]

日本語環境でのUnicodeの諸問題

YEN SIGN 問題

テンプレート:未検証

Shift JIS では JIS X 0201 における(日本中国通貨の)円記号 "¥" が 0x5C に置かれている。これを Unicode のマッピングに合わせると YEN SIGN (U+00A5) にマップされる。しかし、0x5C は ASCII ではバックスラッシュ "テンプレート:Backslash" に相当し、C言語などでエスケープ文字として使われる事から、この文字のコードを変更すると問題が起きる。極端な例として、0x5C が円記号とエスケープ文字の両方の目的で使われているケース(たとえばC言語printf関数で printf("¥¥%d¥n", price); など)も考えられる。

そのため、Unicode を利用するアプリケーションでは、U+007F 以下のコードに関しては移動させないという暗黙のルールができている。

そうなると、Unicode 環境では円記号がバックスラッシュの表示に変わってしまうように思われるが、これは日本語用のフォントデータの 0x5C の位置には円記号の字形を当ててしまうことで対処している。これによって、日本語環境での表示上は 0x5C の位置で円記号を用いることができる。

この問題は日本語環境に限ったことではない。もともと ISO 646 上では、0x5C を含む数種の文字は自由領域(バリアント)として各国での定義を認めていた。そのため、日本語以外でも ASCII でバックスラッシュに相当するコードに異なる記号を当てているケースが多い。例えば、韓国では通貨のウォン記号 (WON SIGN, U+20A9, "テンプレート:Unicode")、デンマークノルウェーではストローク付きO (LATIN CAPITAL LETTER O WITH STROKE, U+00D8, "テンプレート:Unicode") などである。(後者は後の時代には、0x5C はバックスラッシュのままとし、ISO 8859 シリーズを用いることが一般化した。)

波ダッシュ・全角チルダ問題

JIS X 0221 規定の JIS X 0208 と JIS X 0221 の対応表では、波ダッシュは WAVE DASH (U+301C, "テンプレート:JIS2004フォント") に対応させている。

しかし、マイクロソフトは Windows の Shift_JIS と Unicode の変換テーブルを作成する際に、JIS X 0208 において 1 区 33 点に割り当てられている波ダッシュ "テンプレート:JIS2004フォント" を、Unicode における全角チルダ (FULLWIDTH TILDE, U+FF5E, "~") に割り当てたため不整合が生じた。

この結果、macOS 等の JIS X 0221 準拠の Shift_JIS ⇔ Unicode 変換テーブルをもつ処理系と Windows との間で Unicode データをやり取りする場合、文字化けを起こすことになる。そこで Windows 以外の OS 上で動くアプリケーションの中には、CP932 という名前でマイクロソフト仕様の Shift_JIS コード体系を別途用意して対応しているケースが多い。この原因とされている Unicode 仕様書の例示字形の問題に関しては、波ダッシュ#Unicodeに関連する問題を参照すること。

マイクロソフト仕様に起因する問題

上記に加え、マイクロソフト仕様は変換時にも問題が起こる文字を以下に示す。

JIS X 0208
区点
Shift JIS JIS X 0208
日本語通用名称
SJISでデコード MS932でデコード
(マイクロソフト仕様)
関連記事
1-29 0x815c ダッシュ(全角) テンプレート:Font (U+2014) EM DASH テンプレート:Font (U+2015) HORIZONTAL BAR ダッシュ (記号)
1-33 0x8160 波ダッシュ テンプレート:Font (U+301C) WAVE DASH テンプレート:Font (U+FF5E) FULLWIDTH TILDE 波ダッシュ全角チルダ
1-34 0x8161 双柱 テンプレート:Font (U+2016) DOUBLE VERTICAL LINE テンプレート:Font (U+2225) PARALLEL TO 双柱平行記号
1-61 0x817c 負符号、減算記号 テンプレート:Font (U+2212) MINUS SIGN テンプレート:Font (U+FF0D) FULLWIDTH HYPHEN-MINUS マイナス記号ハイフンマイナス
1-81 0x8191 セント記号 テンプレート:Font (U+00A2) CENT SIGN テンプレート:Font (U+FFE0) FULLWIDTH CENT SIGN セント (通貨)
1-82 0x8192 ポンド記号 テンプレート:Font (U+00A3) POUND SIGN テンプレート:Font (U+FFE1) FULLWIDTH POUND SIGN £
2-44 0x81ca 否定 テンプレート:Font (U+00AC) NOT SIGN テンプレート:Font (U+FFE2) FULLWIDTH NOT SIGN 否定記号

このうちセント・ポンド・否定については、IBMのメインフレームではShift_JISを拡張してこれらの半角版をコードポイント 0xFD-0xFF に割り当て、別途JIS X 0208からマップされた位置に全角版を収録していたため、WindowsをIBMメインフレームの端末として用いるケースを想定したといわれているテンプレート:要出典

なお、Windows Vista や Microsoft Office 2007 に付属する IME パッドの文字一覧における JIS X 0213 の面区点の表示は、上記の文字についても JIS で規定されているものと同じマッピングを使用しているテンプレート:要出典

ブロックの一覧

テンプレート:Main

索引

0000-0FFF
1000-1FFF
2000-2FFF
3000-3FFF
4000-4FFF
5000-5FFF
6000-6FFF
7000-7FFF
8000-8FFF
9000-9FFF
A000-AFFF
B000-BFFF
C000-CFFF
D000-DFFF
E000-EFFF
F000-FFFF

10000-10FFF
11000-11FFF
12000-12FFF
13000-13FFF
14000-14FFF
15000-15FFF
16000-16FFF
17000-17FFF
18000-18FFF
19000-19FFF
1A000-1AFFF
1B000-1BFFF
1C000-1CFFF
1D000-1DFFF
1E000-1EFFF
1F000-1FFFF

20000-20FFF
21000-21FFF
22000-22FFF
23000-23FFF
24000-24FFF
25000-25FFF
26000-26FFF
27000-27FFF
28000-28FFF
29000-29FFF
2A000-2AFFF
2B000-2BFFF
2C000-2CFFF
2D000-2DFFF
2E000-2EFFF
2F000-2FFFF

30000-30FFF
31000-31FFF
32000-32FFF
33000-33FFF
34000-34FFF
35000-35FFF
36000-36FFF
37000-37FFF
38000-38FFF
39000-39FFF
3A000-3AFFF
3B000-3BFFF
3C000-3CFFF
3D000-3DFFF
3E000-3EFFF
3F000-3FFFF

E0000-E0FFF

テンプレート:Unicode blocks

脚注

テンプレート:脚注ヘルプ

注釈

テンプレート:Notelist

出典

テンプレート:Reflist

参考文献

関連項目

外部リンク

テンプレート:文字コード テンプレート:Normdaten

  1. 1.0 1.1 テンプレート:Cite Journal
  2. テンプレート:Cite web
  3. テンプレート:Cite web
  4. テンプレート:Cite web
  5. テンプレート:Cite web
  6. テンプレート:Cite web
  7. テンプレート:Cite web
  8. テンプレート:Cite web
  9. テンプレート:Cite web
  10. テンプレート:Cite web
  11. テンプレート:Cite web
  12. テンプレート:Cite web
  13. 13.0 13.1 テンプレート:Cite web
  14. 14.0 14.1 テンプレート:Cite web
  15. 15.0 15.1 テンプレート:Cite web
  16. 16.0 16.1 テンプレート:Cite web
  17. 17.0 17.1 テンプレート:Cite web
  18. 18.0 18.1 テンプレート:Cite web
  19. 19.0 19.1 テンプレート:Cite web
  20. 20.0 20.1 テンプレート:Cite web
  21. 21.0 21.1 テンプレート:Cite web
  22. 22.0 22.1 テンプレート:Cite web
  23. 23.0 23.1 テンプレート:Cite web
  24. 24.0 24.1 テンプレート:Cite web
  25. 25.0 25.1 テンプレート:Cite web
  26. 26.0 26.1 テンプレート:Cite web
  27. 27.0 27.1 テンプレート:Cite web
  28. 28.0 28.1 テンプレート:Cite web
  29. 29.0 29.1 テンプレート:Cite web
  30. 30.0 30.1 テンプレート:Cite web
  31. 31.0 31.1 テンプレート:Cite web
  32. 32.0 32.1 テンプレート:Cite web
  33. テンプレート:Cite web
  34. テンプレート:Cite web
  35. 35.0 35.1 テンプレート:Cite web
  36. 36.0 36.1 テンプレート:Cite web
  37. 37.0 37.1 テンプレート:Cite web
  38. 38.0 38.1 テンプレート:Cite web
  39. 39.0 39.1 テンプレート:Cite web
  40. 40.0 40.1 テンプレート:Cite web
  41. 41.0 41.1 テンプレート:Cite web
  42. 42.0 42.1 テンプレート:Cite web
  43. 43.0 43.1 テンプレート:Cite web
  44. テンプレート:Cite web
  45. テンプレート:Cite web
  46. テンプレート:Cite web
  47. テンプレート:Cite web
  48. テンプレート:Cite web
  49. テンプレート:Cite web
  50. テンプレート:Cite web
  51. テンプレート:Cite web
  52. テンプレート:Cite web
  53. テンプレート:Cite web
  54. テンプレート:Cite web
  55. テンプレート:Cite web
  56. テンプレート:Cite web
  57. テンプレート:Cite web
  58. テンプレート:Cite web
  59. テンプレート:Cite web
  60. テンプレート:Cite web
  61. テンプレート:Cite web
  62. テンプレート:Cite web
  63. テンプレート:Cite web
  64. テンプレート:Cite web
  65. テンプレート:Cite web
  66. テンプレート:Cite web
  67. テンプレート:Cite web
  68. テンプレート:Cite web
  69. テンプレート:Cite web
  70. テンプレート:Cite web
  71. テンプレート:Cite web
  72. テンプレート:Cite web
  73. テンプレート:Cite web
  74. テンプレート:Cite web
  75. テンプレート:Cite web
  76. テンプレート:Cite web
  77. テンプレート:Cite web
  78. テンプレート:Cite web
  79. テンプレート:Cite web
  80. テンプレート:Cite web
  81. テンプレート:Cite web
  82. テンプレート:Cite web
  83. テンプレート:Cite web
  84. テンプレート:Cite web
  85. テンプレート:Cite web
  86. テンプレート:Cite web
  87. テンプレート:Cite web
  88. テンプレート:Cite web
  89. テンプレート:Cite web
  90. テンプレート:Cite web
  91. テンプレート:Cite web
  92. テンプレート:Cite web
  93. テンプレート:Cite web
  94. テンプレート:Cite web
  95. テンプレート:Cite web
  96. テンプレート:Cite web
  97. テンプレート:Cite web
  98. テンプレート:Cite web
  99. テンプレート:Cite web
  100. テンプレート:Cite web
  101. テンプレート:Cite web
  102. テンプレート:Cite web
  103. テンプレート:Cite web
  104. テンプレート:Cite web
  105. テンプレート:Cite web
  106. テンプレート:Cite web
  107. テンプレート:Cite web
  108. テンプレート:Cite web
  109. テンプレート:Cite web
  110. テンプレート:Cite web
  111. テンプレート:Cite web
  112. [[[:テンプレート:Cite web]]
  113. テンプレート:Cite web
  114. テンプレート:Cite web
  115. テンプレート:Cite web
  116. テンプレート:Cite web
  117. テンプレート:Cite web
  118. テンプレート:Cite web
  119. テンプレート:Cite web
  120. テンプレート:Cite web
  121. テンプレート:Cite web
  122. テンプレート:Cite web
  123. テンプレート:Cite web
  124. テンプレート:Cite web
  125. テンプレート:Cite web
  126. テンプレート:Cite web
  127. テンプレート:Cite web
  128. テンプレート:Cite web
  129. テンプレート:Cite web
  130. テンプレート:Cite web
  131. テンプレート:Cite web
  132. テンプレート:Cite web
  133. テンプレート:Cite web
  134. テンプレート:Cite web
  135. テンプレート:Cite web
  136. テンプレート:Cite web
  137. テンプレート:Cite web
  138. テンプレート:Cite web
  139. テンプレート:Cite web
  140. テンプレート:Cite web
  141. テンプレート:Cite web
  142. テンプレート:Cite web
  143. テンプレート:Cite web
  144. テンプレート:Cite web
  145. テンプレート:Cite web
  146. テンプレート:Cite web
  147. テンプレート:Cite web
  148. テンプレート:Cite web
  149. テンプレート:Cite web
  150. テンプレート:Cite web
  151. テンプレート:Cite web
  152. テンプレート:Cite web
  153. テンプレート:Cite web
  154. テンプレート:Cite web
  155. テンプレート:Cite web
  156. テンプレート:Cite web
  157. テンプレート:Cite web
  158. テンプレート:Cite web
  159. テンプレート:Cite web
  160. テンプレート:Cite web
  161. テンプレート:Cite web
  162. テンプレート:Cite web
  163. テンプレート:Cite web
  164. テンプレート:Cite web
  165. テンプレート:Cite web
  166. テンプレート:Cite web
  167. テンプレート:Cite web
  168. テンプレート:Cite web
  169. テンプレート:Cite web
  170. テンプレート:Cite web
  171. テンプレート:Cite web
  172. テンプレート:Cite web
  173. テンプレート:Cite web
  174. テンプレート:Cite web
  175. テンプレート:Cite web
  176. テンプレート:Cite web
  177. テンプレート:Cite web
  178. テンプレート:Cite web
  179. テンプレート:Cite web
  180. テンプレート:Cite web
  181. テンプレート:Cite web
  182. テンプレート:Cite web
  183. テンプレート:Cite web
  184. テンプレート:Cite web
  185. テンプレート:Cite web
  186. テンプレート:Cite web
  187. テンプレート:Cite web
  188. テンプレート:Cite web
  189. テンプレート:Cite web
  190. テンプレート:Cite web
  191. テンプレート:Cite web
  192. テンプレート:Cite web
  193. テンプレート:Cite web
  194. テンプレート:Cite web
  195. テンプレート:Cite web
  196. テンプレート:Cite web
  197. テンプレート:Cite web
  198. テンプレート:Cite web
  199. テンプレート:Cite web
  200. テンプレート:Cite web
  201. テンプレート:Cite web
  202. テンプレート:Cite web
  203. テンプレート:Cite web
  204. テンプレート:Cite web
  205. テンプレート:Cite web
  206. テンプレート:Cite web
  207. テンプレート:Cite web
  208. テンプレート:Cite web
  209. テンプレート:Cite web
  210. テンプレート:Cite web
  211. テンプレート:Cite web
  212. テンプレート:Cite web
  213. テンプレート:Cite web
  214. テンプレート:Cite web
  215. テンプレート:Cite web
  216. テンプレート:Cite web
  217. テンプレート:Cite web
  218. テンプレート:Cite web
  219. テンプレート:Cite web
  220. テンプレート:Cite web
  221. テンプレート:Cite web
  222. テンプレート:Cite web
  223. テンプレート:Cite web
  224. テンプレート:Cite web
  225. テンプレート:Cite web
  226. テンプレート:Cite web
  227. テンプレート:Cite web
  228. テンプレート:Cite web
  229. テンプレート:Cite web
  230. テンプレート:Cite web
  231. テンプレート:Cite web
  232. テンプレート:Cite web
  233. テンプレート:Cite web
  234. テンプレート:Cite web
  235. テンプレート:Cite web
  236. テンプレート:Cite web
  237. テンプレート:Cite web
  238. テンプレート:Cite web
  239. テンプレート:Cite web
  240. テンプレート:Cite web
  241. テンプレート:Cite web
  242. テンプレート:Cite web
  243. テンプレート:Cite web
  244. テンプレート:Cite web
  245. テンプレート:Cite web
  246. テンプレート:Cite web
  247. テンプレート:Cite web
  248. テンプレート:Cite web
  249. テンプレート:Cite web
  250. テンプレート:Cite web
  251. テンプレート:Cite web
  252. テンプレート:Cite web
  253. テンプレート:Cite web
  254. テンプレート:Cite web
  255. テンプレート:Cite web
  256. テンプレート:Cite web
  257. テンプレート:Cite web
  258. テンプレート:Cite web
  259. テンプレート:Cite web
  260. テンプレート:Cite web
  261. テンプレート:Cite web
  262. テンプレート:Cite web
  263. テンプレート:Cite web
  264. テンプレート:Cite web
  265. テンプレート:Cite web
  266. テンプレート:Cite web
  267. テンプレート:Cite web
  268. テンプレート:Cite web
  269. テンプレート:Cite web
  270. テンプレート:Cite web
  271. テンプレート:Cite web
  272. テンプレート:Cite web
  273. テンプレート:Cite web
  274. テンプレート:Cite web
  275. テンプレート:Cite web
  276. テンプレート:Cite web
  277. テンプレート:Cite web
  278. テンプレート:Cite web
  279. テンプレート:Cite web
  280. テンプレート:Cite web
  281. テンプレート:Cite web
  282. テンプレート:Cite web
  283. テンプレート:Cite web
  284. テンプレート:Cite web
  285. テンプレート:Cite web
  286. テンプレート:Cite web
  287. テンプレート:Cite web
  288. テンプレート:Cite web
  289. テンプレート:Cite web
  290. テンプレート:Cite web
  291. テンプレート:Cite web
  292. テンプレート:Cite web
  293. テンプレート:Cite web
  294. テンプレート:Cite web
  295. テンプレート:Cite web
  296. テンプレート:Cite web
  297. テンプレート:Cite web