ア | イ | ウ | エ | オ |
カ | キ | ク | ケ | コ |
サ | シ | ス | セ | ソ |
タ | チ | ツ | テ | ト |
ナ | ニ | ヌ | ネ | ノ |
ハ | ヒ | フ | ヘ | ホ |
マ | ミ | ム | メ | モ |
ヤ | ユ | ヨ | ||
ラ | リ | ル | レ | ロ |
ワ | ヰ | ヴ | ヱ | ヲ |
ン |
A | B | C | D | E |
F | G | H | I | J |
K | L | M | N | O |
P | Q | R | S | T |
U | V | W | X | Y |
Z | 数字 | 記号 |
ASCIIなどの英数文字や日本語を始め、支那語、朝鮮語などの漢字文字、梵字やキリル文字等も含め、全ての国語文字のコード化を目標とする文字コード仕様のこと。
Unicodeは米国の「Unicodeコンソーシアム」という団体により策定されている。
このUnicodeコンソーシアムとISOは直接無関係だが、しかしISOと連携を取り合って規格が作られている。こうして作られたISO/IEC 10646が公的規格となっている。
Unicodeコンソーシアムは、Unicodeについて、次を標榜している。
延々と更新が続くが、版(Edition)と称されるものは次の通りである。
規格融合後は、版が1に戻った。
バージョンごとの差異については後述する。
Unicodeは、ISO/IEC 10646の部分集合として文字集合が規定される。
32ビットあるISO/IEC 10646の文字番号の上位から8ビットごとに、群、面、区、点、と呼ばれる。
つまり文字コードの0x10000ごとの区切りとして面(プレイン=Plane)があり、現在は各面について次のように使われている。
Unicodeでは、16進数で書かれる文字番号は、頭に「U+」をつけるルールとなっている。
従来の電子計算機で使われていた符号に含まれる文字は、BMPを中心として広く対応され、またラウンドトリップ(往復変換)にも配慮している。日本の場合、JIS X 0208とJIS X 0212の全文字はBMPにあり、JIS X 0213の拡張漢字はBMPとSIPにある。
また、当初はBMPのみが想定されていたため、00群01面以上の領域は特殊な方法で用いられることから「サロゲート領域」と呼ばれている。
Unicodeは16ビット固定長を前提として誕生し発展したため、大きくBMPとそれ以外に分けられている。
BMPは当初、次の4領域に分けられていた。
この枠組みについては後の拡張によって崩壊しており、現在においては名残りとして残るのみである。
Unicode 7.0.0までで、利用可能(および可能予定)な文字の種類は次のとおりである。
文字番号の割り当てについては、各面の項目を参照のこと。
各文字に対応するISO 639の言語コードも併記する(文字のコードではない)。
基本多言語面(BMP=Basic Multilingual Plane)。
Unicode 7.0.0までで、利用可能な文字の種類は次のとおりである(文字番号順)。
補助多言語面(SMP=Supplementary Multilingual Plane)。
古代文字や記号類など、日常滅多に使わないような文字がここに格納されている。
Unicode 7.0.0までで、利用可能な文字の種類は次のとおりである(文字番号順)。
補助漢字面(SIP=Supplementary Ideograph Plane)。
CJK統合漢字拡張B、CJK統合漢字拡張C、CJK統合漢字拡張D、CJK統合漢字拡張Eがここにあり、00面と合わせて康熙字典の全ての字が揃うことになっている。
第三漢字面(TIP=Tertiary Ideographic Plane)。
現在は使われていない、古代の漢字がここに符号化される予定。
外字領域。
Unicode 1.0とUnicode 1.1は、ISO/IEC 10646(当時のISO/IEC 10646-1)によって定められる31ビット長文字コード規格のうち、00群00面(上位16ビットがすべて0となる領域)のこと、と説明できる。
これは基本多言語面(BMP)と呼ばれ、最大で65,536文字が表現可能だった。
多国語が必要な環境で歓迎され、HTMLなどの文書やWindows NTなどのOSで採用された。
Unicode 1.1からは「結合文字」が明確に用意され、基底文字+結合文字という後置により、文字が表現可能となった。例えば、「が」は、「か」と結合用濁点の2文字で表現することが出来る。
また、Unicode 1.0にあったチベット文字はUnicode 1.1で一旦全て削除された。
16ビットでは領域が不足したことから、Unicode 2.0ではあらかじめ確保されていた空き領域に1,024個のサロゲートを二組用意し、二つ組み合わせて表現する「サロゲートペア」が導入された。この方式を用いた符号化方法を「UTF-16」という。
これにより、扱える文字数が合計で220+216−2048(サロゲート)で、最大1,112,064字となった。この版では枠組みが決まっただけで、その領域に格納する文字までは決められていない。
また、U+3400〜4DFFに置かれていたハングルがU+AC00〜D7FFに移動され増やされた。ハングルは、Unicode 1.1迄とUnicode 2.0以降は非互換となる。
更に、Unicode 1.1で一旦削除されたチベット文字はUnicode 2.0から符号位置や仕様を変え、再び定義された。チベット文字は、Unicode 1.0とUnicode 2.0以降は非互換となる。
Unicode 3.0になり、ようやく不足極まっていた漢字文字が増やされることになった。
Unicode 1.1ではハングルが置かれていたBMP領域(U+3400〜U+4DFF)をCJK統合漢字拡張A(Ext-A)とし、6,582文字の漢字が増やされている。
Unicode 3.1からは、更に漢字を増やすため遂にBMPを超える範囲の文字も規定された。
サロゲート領域(U+20100〜U+2A6D6)に、CJK統合漢字拡張B(Ext-B)として42,711文字が追加されている。
Unicode 3.2.0からは、仕様として公式にJIS X 0213への対応が明記された。
異体字セレクター(Variation Selector)1〜16が追加された。
Unicode 4.0.0からは、異体字セレクター(Variation Selector)が17〜256まで追加された。
第3面の全域がreserved(予約)として、記述が追加された。
Unicode 4.1.0からは、コプト語や古代ペルシャ語など、対応言語の追加。
Unicode 5.0.0からは、BMP内にNKo、バリ文字、ラテン文字拡張CおよびDが追加され、サロゲート領域にフェニキア文字、楔形文字、Counting Rod 数字が追加された。
Unicode 5.1.0からは、BMP内にスンダ文字、レプチャ文字、オルチキ文字、ヴァイ文字、サウラーシュトラ文字、ルジャン文字、チャム文字と、拡張キリル文字が追加された。
SMP内に古代記号、ファイストス文字(円盤文字)、リキア文字、カリア文字、リディア文字、麻雀牌、ドミノ牌が追加された。
この版から、漢字に対する異体字セレクターが定義され始めた。
Unicode 5.2.0からは、BMP内にタイ・タム文字、追加のハングル字母、タイ・ヴェト文字、サマリア文字、追加の統合カナダ原住民音節文字、追加のヴェーダ文字、リス文字、バムン文字、共通インド数字形、追加のデヴァナガリ文字、ジャワ文字、ミャンマー文字 拡張-A、メイテイ文字が追加された。
SMP内にアヴェスター文字、エジプト・ヒエログリフ、帝国アラム文字、古代南アラビア文字、碑文パルティア文字、碑文パフラヴィー文字、古代テュルク文字、ルーミー数字、カイティー文字が追加された。
SIP内にCJK統合漢字拡張Cが追加された。
Unicode 6.0.0は、ケータイ絵文字の追加が最大の特徴である。
またCJK統合漢字拡張Dが追加された。
Unicode 6.1.0は、補助多言語面に象形文字や幾つかのブラーフミー系文字などを追加した。
Unicode 6.2.0は、トルコリラ通貨記号が追加された。
Unicode 6.3.0は、記号4種と、アラビア文字1文字が追加された。
Unicode 7.0.0は、補助多言語面に多数の古代文字や人造文字など追加したほか、絵文字や記号類も多数追加された。
元々16ビットで設計されていたため、漢字についてはCJK統合漢字として全体に占める割り合いを減らす努力がされたが、記号類はそれと逆に、細分化されている点が特徴といえる。
例えば、ASCIIではマイナス記号もハイフンも、-という記号一つで共用する。しかしUnicodeでは、マイナスはU+2212「−」、ハイフンはU+2010「‐」として別の番号が与えられている。その他の記号についても同様で、記号類が豊富な点は特筆に値する点である。
他に、ギリシャ文字のミュー「μ」はU+03BCなのに対し、マイクロ「µ」はU+00B5と別の番号が与えられている、などがある。英大文字のケイ「K」と絶対温度のケルビン「K」も別の文字である。
Unicodeの記号類の豊富さを語る上で、例として横棒関係が挙げられることが多い。
Unicodeでは、横棒関係だけでも、軽く次のようなものがある。罫線用の横線は除く。また欧文、日本語以外の言語の特殊な横棒記号も抜けているものがあるかもしれない。
番号 | 名称 | 概要 |
---|---|---|
U+002D | HYPHEN-MINUS | ASCIIのマイナス記号 |
U+00AD | SOFT HYPHEN | 単語中、折り返す時に表示されるハイフン(折り返さない時は非表示) |
U+2010 | HYPHEN | 一般的なハイフン |
U+2011 | NON-BREAKING HYPHEN | 右端でも折り返さないハイフン |
U+2012 | FIGURE DASH | 数字用のダッシュ |
U+2013 | EN DASH | n幅のダッシュ |
U+2014 | EM DASH | m幅のダッシュ |
U+2015 | HORIZONTAL BAR | 横棒 |
U+2043 | HYPHEN BULLET | 中黒のようなハイフン |
U+207B | SUPERSCRIPT MINUS | 上付きマイナス |
U+208B | SUBSCRIPT MINUS | 下付きマイナス |
U+2212 | MINUS SIGN | マイナス |
U+301C | WAVE DASH | 波ダッシュ (〜) |
U+3030 | WAVY DASH | 波線 |
U+30FC | KATAKANA-HIRAGANA PROLONGED SOUND MARK | 仮名の長音 |
U+FF0D | FULLWIDTH HYPHEN-MINUS | 「全角」のASCIIマイナス記号 |
U+FF5E | FULLWIDTH TILDE | 全角チルダ |
U+FF70 | HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK | 半角の仮名の長音 |
ちなみに、JIS X 0208の~は、本来はU+301Cに割り当てられるのが正しいと考えられるが、Windows等ではU+FF5Eに割り当てている。
しかし、本来U+FF5Eは「チルダ」であって、波線記号ではない。日本語以外の言語では、U+FF5Eを表示させても一般的な波線にはならない。
従って、「キャ~~!!」といった~の使い方は、これだと間違いになるだろう。
空白も非常に多い。これだけ用意して、どう使い分けるのかは定かでない。
番号 | 名称 | 概要 |
---|---|---|
U+0020 | SPACE | ASCIIの空白記号 |
U+00A0 | NO-BREAK SPACE | 改行しない空白 |
U+2000 | EN QUAD | n幅の四角形 |
U+2001 | EM QUAD | m幅の四角形 |
U+2002 | EN SPACE | n幅の空白 |
U+2003 | EM SPACE | m幅の空白 |
U+2004 | THREE-PER-EM SPACE | 1/3m幅の空白 |
U+2005 | FOUR-PER-EM SPACE | 1/4m幅の空白 |
U+2006 | SIX-PER-EM SPACE | 1/6m幅の空白 |
U+2007 | FIGURE SPACE | 数字用空白 |
U+2008 | PUNCTUATION SPACE | 句読点用空白 |
U+2009 | THIN SPACE | 細い空白 |
U+200A | HAIR SPACE | 非常に細い空白 |
U+200B | ZERO WIDTH SPACE | 幅の無い空白 |
U+202F | NARROW NO-BREAK SPACE | 幅の狭い改行しない空白 |
U+205F | MEDIUM MATHEMATICAL SPACE | 中程度の幅の数学用空白 |
U+3000 | IDEOGRAPHIC SPACE | 全角空白 |
U+FEFF | ZERO WIDTH NO-BREAK SPACE | 幅の無い改行しない空白 |
コメントなどを投稿するフォームは、日本語対応時のみ表示されます