
漢字の統一とは、 UnicodeとUniversal Character Setの作成者による、いわゆるCJK言語の漢字の複数の文字セットを単一の統一文字セットにマッピングする取り組みです。漢字は、中国語(hanzi)、日本語(kanji)、韓国語(hanja)、ベトナム語(chữ Hán )の書き言葉に共通する特徴です。
現代の中国語、日本語、韓国語の書体では、通常、特定の漢字の地域的または歴史的な変種が使用されています。Unicode の策定では、これらの変種を異体字(同じ「字素」または正書法単位を表す異なるグリフ)とみなすことで統一しようと試みられました。これが「漢字統一」であり、結果として得られた文字レパートリーはUnihanと略されることもあります。[ 1 ]
しかしながら、多くの文字には、繁体字個(U+500B)と簡体字個(U+4E2A)のように、異なるコードポイントに割り当てられた地域的なバリエーションがあります。
Unicode標準は、漢字統一の原則を詳述している。[ 2 ] [ 3 ]中国語圏諸国、北朝鮮、韓国、日本、ベトナム、その他の国の専門家で構成される表意文字研究グループ ( IRG)がそのプロセスを担当している。 [ 4 ]
一つの根拠は、Unicode 文字セット全体のサイズを制限したいという要望でした。個別の表意文字で表される CJK 文字は、100,000 文字に近づくか、それを超える可能性があります[ a ] 。Unicode のバージョン 1 は 16 ビットに収まるように設計されており、可能な 65,536 文字のうち、これらのCJK 統一表意文字用に予約されたのは 20,940 文字 (32%) だけでした。Unicode は後に 21 ビットに拡張され、より多くの CJK 文字が使用できるようになりました (101,996 文字が割り当てられており、さらに追加する余地があります)。
IBMがホストする記事は、漢統一の動機の一部を説明しようとしています。[ 5 ]
問題は、Unicodeが文字の視覚的表現である「グリフ」ではなく文字そのものをエンコードしているという事実から生じます。東アジアの文字の形状には、繁体字中国語、簡体字中国語、日本語、韓国語の4つの基本的な伝統があります。漢字の語根はCJK言語で同じかもしれませんが、同じ文字に一般的に使用されるグリフは異なる場合があります。たとえば、繁体字中国語の「草」のグリフは「草」の部首[ ⺿ ]に4画を使用しますが、簡体字中国語、日本語、韓国語のグリフ[ ⺾ ]は3画を使用します。しかし、どの表記体系であっても、「草」の文字(U+8349)[草]にはUnicodeポイントが1つしかありません。もう1つの例は、「1」の漢字で、中国語、日本語、韓国語で異なります。多くの人は、3つのバージョンは異なる方法でエンコードされるべきだと考えています。
実際、「一」を表す3つの漢字(一、壹、壱)は、国ごとの違いとはみなされないため、Unicodeでは別々にエンコードされています。一は3か国すべてで共通して使われている字形ですが、二番目と三番目は金融商品における改ざん防止のために使われています(これらは異字形とみなされる場合もあります)。
漢統一は、特に日本の一般大衆の間で大きな論争を引き起こしており、彼らは国の知識人とともに、歴史的・文化的に重要な異形文字の排除に抗議してきた歴史がある。[ 6 ] [ 7 ] (漢字§ 正書法改革と漢字一覧を参照。今日、固有名詞に公式に認められている文字のリストは、緩やかなペースで拡大し続けている。)
1993 年、日本電子工業開発協会(JEIDA) は、Unicode で採用されているハン統一アプローチに対する主な批判をまとめた「将来の文字コード体系に私達は不安になります。」(将来の文字コード体系が心配ですJPNO 20985671 ) というタイトルのパンフレットを発行しました。

文字素とは、文字体系における意味を表す最小の抽象単位です。どの文字素にも多くのグリフ表現が可能ですが、特定の文字体系の読み書きの知識を持つ人であれば、それらはすべて同じ文字素として認識されます。Unicodeは通常、文字体系内の文字素を表現するためにコードポイントに文字を割り当てますが、Unicode規格(セクション3.4 D7)では次のように注意を促しています。
抽象文字は、ユーザーが「文字」と考えるものと必ずしも一致するとは限らず、文字素と混同してはならない。
— Unicode® 標準バージョン 16.0 – コア仕様 §3.4 文字とエンコーディング
しかし、この引用は、一部の文字素が複数のグラフィック要素または「文字」で構成されているという事実を指しています。たとえば、文字 U+0061 aラテン小文字 AとU+030A ◌ ̊結合リング ABOVE が組み合わさって「å」という組み合わせを生成する場合、複数の Unicode 抽象文字で構成されているにもかかわらず、ユーザーは単一の文字素として理解する可能性があります。さらに、Unicode は、少数の (互換性の理由以外で) 書式設定文字、空白文字、および文字素ではない他の抽象文字にもコード ポイントを割り当てています。これらは、行、単語、文字素、および文字素クラスター間の区切りを制御するために使用されます。統一された漢字では、Unicode 標準は、抽象文字を文字素としてではなく、文字素の根底にある意味に従って割り当てるという従来の慣習から脱却しています。これは、言語学者が意味素と呼ぶことがあります。したがって、この違いは、よく引用される抽象文字とグリフの区別だけでは説明できず、むしろ、グラフェムとして割り当てられた抽象文字とセメムとして割り当てられた抽象文字の違いに根ざしている。対照的に、ASCIIにおける句読点と発音記号の統一を考えてみよう。意味が大きく異なるグラフェム(例えば、アポストロフィとシングルクォーテーションマーク)は、グリフが同じであるため統一されている。Unihanでは、文字は見た目によって統一されているのではなく、定義や意味によって統一されているのである。
文字素がさまざまなグリフで表現されるということは、文字素にグリフのバリエーションがあることを意味します。これは通常、1つのフォントを選択するか、複数のグリフが1つのフォントに含まれるグリフ置換機能を使用することによって決定されます。このようなグリフのバリエーションは、Unicodeではリッチテキストプロトコルの機能とみなされ、Unicodeのプレーンテキストの目標では適切に処理されません。しかし、あるグリフから別のグリフへの変更が、ある文字素から別の文字素への変更を構成する場合(たとえば、グリフが小文字の「a」として理解される同じ文字素を意味することはあり得ない場合)、Unicodeはそれらを別々のコードポイントに分離します。Unihanの場合、抽象的な意味が変わるたびに同じことが行われますが、文字素(文字「a」)の抽象的な意味について話すのではなく、漢字の統一では、異なる言語で異なる文字素によって表現される意味であっても、異なる意味ごとに新しいコードポイントが割り当てられます。 「ö」のような文字は、英語(「coördinated」という単語で使われる)とドイツ語(「schön」という単語で使われる)では意味が異なるかもしれませんが、同じ文字であり、英語とドイツ語が共通の抽象的なラテン文字体系(ラテン語自体も含む)を共有できるように簡単に統一できます。この例は、「抽象的な文字」と、書き言葉における抽象的な単位としての文字が必ずしも一対一に対応しないもう1つの理由も示しています。英語では、結合分音記号⟨ ◌̈ ⟩と、それが修飾する「o」は2つの別々の文字と見なすことができますが、スウェーデン語などの言語では、文字「ö」は1つの文字と見なすことができます。同様に、英語では「i」の上の点は「i」の文字の一部として理解されますが、トルコ語などの他の言語では、点は点のない「ı」に追加された別の文字と見なすことができます。
同じ Unihan の語義に対して異なる文字が使用される問題に対処するため、Unicode はいくつかのメカニズムに依存してきました。特にテキストのレンダリングに関連しています。1 つは、これを単なるフォントの問題として扱い、中国語、日本語、韓国語のレンダリングに異なるフォントを使用することです。また、OpenType などのフォント形式では、言語に応じて代替グリフをマッピングできるため、テキスト レンダリング システムはユーザーの環境設定を参照して使用するグリフを決定できます。これらのアプローチの問題点は、多言語テキストをエンコードする一貫した方法を定義するという Unicode の目標を満たしていないことです。[ 8 ]
そのため、この問題をグリフの代替文字のリッチテキストの問題として扱うのではなく、Unicode はバージョン 3.2 で初めて導入され、バージョン 4.0 で補足されたバリエーションセレクタの概念を追加しました。 [ 9 ]バリエーションセレクタは結合文字として扱われますが、関連する発音記号やマークはありません。代わりに、基本文字と結合することで、2 文字のシーケンスが基本文字のバリエーション (通常はグラフェムの観点からですが、地名やその他の固有名詞の場合のように、基底の意味の観点からも) を選択することを示します。これは代替グリフの選択ではなく、グラフェムのバリエーションまたは基本抽象文字のバリエーションの選択です。ただし、このような 2 文字のシーケンスは、現代のフォントでは簡単に個別の単一のグリフにマッピングできます。Unicode は 256 個の個別のバリエーションセレクタを割り当てているため、任意の漢字に対して 256 個のバリエーションを割り当てることができます。このようなバリエーションは、特定の言語に固有のものとなり、このようなグラフェムのバリエーションを含むプレーン テキストのエンコードを可能にします。
Unihan 規格は「抽象文字」をエンコードするものであり、「グリフ」をエンコードするものではないため、Unicode によって生成されるグラフィック上のアーティファクトは一時的な技術的障害であり、せいぜい表面的なものと考えられてきました。しかし、特に日本では、歴史的に漢字が日本語の表記体系に組み込まれてきた方法もあって、特定の異体字を指定できないことが、学術研究における Unicode の使用の大きな障害と考えられてきました。例えば、「草」の統一(前述)は、歴史的なテキストをその独特な正書法を維持するようにエンコードできないことを意味します。その代わりに、例えば、研究者はテキストをそのまま伝えるために特定の書体で目的のグリフを探す必要があり、統一された文字セットの目的が損なわれてしまいます。Unicode は、著者が特定の表意文字(あるいは他の文字)の文字の異体字を選択できるように、異体字セレクタを割り当てることで、これらのニーズに対応してきました。[ 9 ]
グラフィック表現のわずかな違いも、可読性に影響を与えたり、間違った文化的伝統に属したりする場合には問題となります。複数の「Unihan言語」を含むテキストでは一部のUnicodeフォントが使用できなくなるだけでなく、名前やその他の正書法に敏感な用語が正しく表示されない可能性があります。(固有名詞は特に正書法に保守的な傾向があります。米国や英国の言語改革に合わせて名前の綴りを変更する場合と比較してみてください。)これは主にグラフィック表現またはレンダリングの問題であり、より洗練されたフォントで克服できると考えられますが、Unicodeが広く使用されているため、このような区別を維持することは困難です。意味的に異なる概念を1つの文字で表すという問題は、Unicodeのラテン語部分にも存在します。曲線アポストロフィのUnicode文字は、右シングルクォート(')の文字と同じです。一方、ラテン語の大文字Aは、ギリシャ文字Αやキリル文字Аとは統一されていません。これはもちろん互換性の観点から望ましいことであり、はるかに少ないアルファベット文字セットで済みます。
上記のような理由から、Unicodeの統一性については一部で議論があるものの、Unicode自体は現在、多かれ少なかれ古風な性質を持つ、あまり使われない膨大な数の文字を符号化している。
論争の一部は、漢字統一を行うという決定自体が、当時北米の企業や組織(そのほとんどはカリフォルニア州)のコンソーシアムであった初期のUnicodeコンソーシアムによって行われたという事実から生じており、[ 10 ]東アジアの政府代表は含まれていなかった。当初の設計目標は16ビット標準を作成することであり、[ 11 ]漢字統一は数万文字の重複を避けるための重要なステップであった。この16ビット要件は後に放棄され、文字セットのサイズは今日ではそれほど問題ではなくなった。
その後、この論争は国際的に代表性のあるISOにまで及んだ。当初のCJK合同研究グループ(CJK-JRG)は非統一文字セットの提案(DIS 10646)を支持したが、「アメリカとヨーロッパのISOメンバーの投票により、Unicodeコンソーシアムの統一文字セットとの統一を支持する形で却下された」(日本の立場は不明確であったにもかかわらず)。[ 12 ] Unicodeの漢字統一を支持することは、激しい議論となったISO 10646/Unicode統合にとって必要なステップであった。
漢統一をめぐる論争の多くは、 Unicodeで定義されているグリフと、関連するものの異なる概念であるグラフェムとの区別に基づいています。Unicodeは、特定の書体における文字の特定の視覚的表現であるグリフとは対照的に、抽象的な文字(グラフェム)を割り当てます。1つの文字は、たとえば「g」や「a」のように、多くの異なるグリフで表すことができます。どちらもループが1つ(ɑ、ɡ)または2つ(a、g)ある場合があります。しかし、ラテン文字ベースの言語の読者にとって、「a」文字の2つのバリエーションはどちらも同じグラフェムとして認識されます。Unicodeのソース分離ルールに従って、既存の文字で構成されている場合でも、各国の文字コード標準に存在するグラフェムがUnicodeに追加されています。CJK言語に存在する各国の文字コード標準は、それらが進化してきた技術的制約を考慮すると、かなり複雑であり、そのため、漢統一の公式なCJK参加者は改革に前向きであった可能性があります。
ヨーロッパ版とは異なり、CJK Unicodeフォントは、漢語統一の影響で、重なり合う部分が大きく不規則なパターンを持つため、言語固有のフォントが必要となります。残念ながら、言語固有のフォントでは、「草」の例のように、別の言語スタイルでより一般的に見られる異体字にアクセスすることが難しくなります。(つまり、日本語環境では、通常3画の部首で表現されるフォントを使用しているため、繁体字中国語でより一般的な4画の部首で「草」を表現することは困難です。)Unihanの支持者は、言語文字列を定義するためにマークアップ言語を好む傾向がありますが、これによって、上記のような特定の異体字の使用が保証されるわけではなく、その異体字として文字を表現する可能性が最も高い言語固有のフォントが使用されるだけです。(この時点で、単なるスタイルの違いが問題となります。日本語フォントと中国語フォントの組み合わせは、視覚的に互換性がない可能性が高いからです。)
Chinese users seem to have fewer objections to Han unification, largely because Unicode did not attempt to unify Simplified Chinese characters with Traditional Chinese characters. (Simplified Chinese characters are used among Chinese speakers in the People's Republic of China, Singapore, and Malaysia. Traditional Chinese characters are used in Hong Kong and Taiwan (Big5) and they are, with some differences, more familiar to Korean and Japanese users.) Unicode is seen as neutral with regards to this politically charged issue, and has encoded Simplified and Traditional Chinese glyphs separately (e.g. the ideograph for "discard" is 丟 U+4E1F for Traditional Chinese Big5 #A5E1 and 丢 U+4E22 for Simplified Chinese GB #2210). It is also noted that Traditional and Simplified characters should be encoded separately according to Unicode Han Unification rules, because they are distinguished in pre-existing PRC character sets. Furthermore, as with other variants, Traditional to Simplified characters is not a one-to-one relationship.
There are several alternative character sets that are not encoding according to the principle of Han Unification, and thus free from its restrictions:
These region-dependent character sets are also seen as not affected by Han Unification because of their region-specific nature:
However, none of these alternative standards has been as widely adopted as Unicode, which is now the base character set for many new standards and protocols, internationally adopted, and is built into the architecture of operating systems (Microsoft Windows, ApplemacOS, and many Unix-like systems), programming languages (Perl, Python, C#, Java, Common Lisp, APL, C, C++), and libraries (IBM International Components for Unicode (ICU) along with the Pango, Graphite, Scribe, Uniscribe, and ATSUI rendering engines), font formats (TrueType and OpenType) and so on.
1989年3月、(B)TRONベースのシステムが、義務教育を含む学校教育のシステムとして、日本の政府機関「教育情報センター」に採用された。[ 13 ]しかし、4月には、米国通商代表部による「1989年外国貿易障壁に関する国家貿易評価報告書」という報告書で、このシステムが日本における貿易障壁として具体的に挙げられた。この報告書は、日本政府によるTRONベースのシステムの採用は日本の製造業者に有利であり、巨大な新市場から米国のオペレーティングシステムを排除することになると主張し、具体的にはMS-DOS、OS/2、UNIXを例として挙げている。当時の米国通商代表部のトム・ロバートソンがマイクロソフトから高額の役職を提示されたことから、米国通商代表部はマイクロソフトの影響下にあったとされている。[ 14 ] TRONシステム自体は、1989年5月に同団体が抗議したことを受けて、1974年通商法第301条による制裁リストから削除されたが、貿易紛争により、通商産業省は孫正義氏の要請を受け入れ、教育用コンピュータにTRONベースのシステムを採用するという教育情報センターの決定を取り消した。[ 15 ]この事件は、BTRONシステムの勢いの喪失と最終的な終焉を象徴する出来事とみなされており、日本におけるMS-DOSの普及、そして後継のWindowsによるUnicodeの採用につながった。
意味的に関連するすべての文字の完全な意味的統一に向けた動きはこれまでなかったが、このアイデアは、韓国語、簡体字中国語、繁体字中国語、旧字日本語、新字日本語、ベトナム語のいずれで書くかにかかわらず、東アジア言語のそれぞれの使用者を同じように扱うことになる。一部の変種に異なるコードポイントが割り当てられ、他の変種のグループが単一のコードポイントを共有しなければならないのではなく、すべての変種はメタデータタグ(たとえば、ウェブページのCSSフォーマット)だけで確実に表現できる。簡体化、国際的な差異、または国内の差異による違いにかかわらず、直、別、兩、兔の異なるバージョンを使用するすべての人に負担がかかることになる。ただし、一部のプラットフォーム(たとえば、スマートフォン)では、デバイスにプリインストールされているフォントが1つしかない場合がある。システムフォントは、各コードポイントのデフォルトのグリフを決定する必要があり、これらのグリフは大きく異なる可能性があり、異なる基底のグラフェムを示している。
したがって、言語マークアップを全面的に利用するアプローチには、2 つの大きな問題があります。まず、言語マークアップが利用できないコンテキスト (コードコミット、プレーンテキスト) があります。次に、どのような解決策であっても、意味的に同一で多くのバリエーションを持つ文字の多くのグリフをすべてのオペレーティングシステムにプリインストールする必要があります。簡体字中国語、繁体字中国語、韓国語、ベトナム語、旧字体日本語、新字体日本語の標準文字セットに加えて、歴史家、言語学者、文献学者が関心を寄せる「古代」の文字も存在します。
UnicodeのUnihanデータベースは、すでに多くの文字間の関連性を描き出しています。Unicodeデータベースは、異なるコードポイントを持つ異体字間の関連性をすでにカタログ化しています。しかし、コードポイントを共有する文字の場合、参照グリフ画像は通常、繁体字中国語版に偏っています。また、ハンドブックでの合理化にもかかわらず、ペアを意味的異体字またはz異体字として分類するかどうかの決定は、必ずしも一貫しているとは限らず、明確ではありません。[ 16 ]
丟(U+4E1F) と丢(U+4E22)のいわゆる意味的異体字は、Unicode が抽象的な形状において大きく異なる例として挙げているものですが、Unicode は佛と仏をz 異体字としてリストしており、フォント スタイルのみが異なるとしています。逆説的ですが、Unicode は兩と両をほぼ同一の z 異体字とみなしながら、同時に意味的に大きく異なる異体字として分類しています。また、個(U+500B) と个(U+4E2A) のように、意味的異体字と特殊意味的異体字と簡略化異体字が同時に存在する文字のペアもあります。相互に等価でないケースもあります。例えば、Unihanデータベースの亀(U+4E80)のエントリでは、龜(U+9F9C)がそのz変異体とされていますが、龜のエントリでは、亀がz変異体としてリストされていません。しかし、亀のエントリが作成された時点で、龜は明らかに既にデータベースに登録されていました。
事務的なミスにより、﨣(U+FA23) や𧺯 (U+27EAF)のように完全に同一の文字が重複して表示されることがあります。フォントに両方のポイントにエンコードされたグリフがあり、両方に同じフォントが使用されている場合、それらは同一に見えるはずです。これらのケースは、実際には差異がないにもかかわらず、z バリアントとしてリストされています。意図的に重複した文字は、ビット単位の往復変換を容易にするために追加されました。往復変換は Unicode の初期のセールスポイントであったため、使用されている国家標準が不必要に文字を重複させている場合、Unicode も同様に重複させる必要がありました。Unicode は、このような意図的な重複を「互換性バリアント」と呼んでいます。たとえば、漢 (U+FA9A) は、漢(U+6F22) を互換性バリアントと呼んでいます。アプリケーションが両方に同じフォントを使用している限り、それらは同一に見えるはずです。時として、U+8ECA および U+F902 の「車」の場合のように、追加された互換性文字は、既に存在する「車」のバージョンを互換性バリアントと z バリアントの両方としてリストします。互換性バリアント フィールドは z バリアント フィールドを上書きし、正規等価性を含むすべての形式で正規化を強制します。名前とは裏腹に、互換性バリアントは実際には正規等価であり、互換性正規化だけでなく、あらゆる Unicode 正規化スキームで統合されます。これは、U+212B Å ANGSTROM SIGNが、事前に構成されたU+00C5 Å LATIN CAPITAL LETTER A WITH RING ABOVEと正規等価であるのと同様です。多くのソフトウェア (Wikipedia をホストする MediaWiki ソフトウェアなど) は、推奨されない正規等価文字 (たとえば、オングストローム記号) をすべて推奨等価文字に置き換えます。名前とは裏腹に、CJK の「互換性バリアント」は、互換性文字ではなく、正規等価文字です。
漢(U+FA9A)は漢(U+6F22)よりも後にデータベースに追加され、そのエントリには互換性情報が示されています。一方、漢(U+6F22)のエントリにはこの同等性は記載されていません。Unicodeでは、一度登録されたすべてのエントリは、互換性や同等性を変更できないように規定されており、既存の文字の正規化ルールが変更されないようにしています。
繁体字と簡体字のペアの中には、意味的異体字とみなされるものもあります。Unicode の定義によれば、すべての簡体字 (同音異義語のために全く異なる文字が統合される結果にならないもの) は意味的異体字の一形態となるのが妥当です。Unicode は丟と丢を互いの繁体字と簡体字の異体字として分類し、また互いの意味的異体字としても分類しています。しかし、Unicode は億(U+5104) と亿(U+4EBF) を互いの繁体字と簡体字の異体字として分類していますが、Unicode は億と亿を互いの意味的異体字とはみなしていません。
Unicodeは「理想的には、Unicode標準にはzバリアントのペアは存在しない」と主張している。[ 16 ]これは、少なくともすべてのマイナーバリアント、互換性の冗長性、偶発的な冗長性を統一し、フォントと言語タグによる区別を残すことが目標であるように見える。これは、そのオーバーヘッドを取り除き、世界中のあらゆるスクリプトを1つのエンコーディングシステムで同じドキュメントにいくつでも含めることができるようにするというUnicodeの明示された目標と矛盾する。ハンドブックの第 1 章には、「Unicode により、情報技術業界は、増殖する文字セットを、データの安定性、グローバルな相互運用性とデータ交換、ソフトウェアの簡素化、開発コストの削減に置き換えました。Unicode 標準は、ASCII 文字セットを起点としていますが、ASCII の限られた大文字と小文字の A から Z までのみをエンコードする能力をはるかに超えています。世界の書き言葉で使用されるすべての文字をエンコードする能力を提供し、100 万文字以上をエンコードできます。どの言語のどの文字を指定するにも、エスケープ シーケンスや制御コードは必要ありません。Unicode 文字エンコーディングは、アルファベット文字、表意文字、記号を同等に扱います。つまり、それらをどのような組み合わせでも同じように簡単に使用できます。」と記載されています。[ 8 ]
これにより、すべてのz異体字に対して統一された参照字形を一つに定めるという選択肢が残されるが、これは日本国外では佛と仏を同等と認識する人はほとんどいないため、議論の余地がある。日本国内でも、これらの異体字は新字体と呼ばれる大まかな簡略化の両極に位置している。Unicodeを導入すれば、中国による侣(U+4FA3)と輔(U+4FB6)の簡略化は、比較すると途方もない違いとなるだろう。また、このような計画では、直(U+76F4)や事業(U+96C7)のような、視覚的に非常に異なる異体字も排除されることになる。
簡体字はすべて、同時に従来の文字との z バリアントまたは意味バリアントでもあると予想されるが、そうでないものも多い。意味バリアントが意味バリアントと特殊バリアントの両方であるという奇妙なケースは、Unicode の定義によれば、特殊化された意味バリアントは特定の文脈でのみ同じ意味を持つため、説明が容易になる。言語によって使用方法は異なる。日本語では互いに 100% 置き換え可能な文字のペアでも、中国語ではそれほど柔軟ではないかもしれない。したがって、推奨コードポイントの包括的な統合では、ある言語ではすべての文脈で意味が 100% 同じであっても、見た目がわずかに異なるバリアントをいくつか維持する必要がある。なぜなら、別の言語では 2 つの文字が 100% 置き換え可能ではない可能性があるからである。
次の表の各行では、同じ文字が 6 つの列すべてに繰り返されています。各列は、中国語(簡体字と繁体字2 種類)、日本語、韓国語、ベトナム語のいずれかの言語で表示されています。ブラウザは、各文字に対して、指定された言語に適したグリフ(フォントから) を選択する必要があります。(書体は、セリフ体とノンセリフ体のように、異なる活字スタイルを反映している場合があります。) これは、システムに CJK フォントがインストールされており、この記事を表示するために選択されたフォントにこれらの文字のグリフが含まれていない場合にのみ、代替グリフの選択として機能します。
20世紀、東アジア諸国はそれぞれ独自の符号化規格を作成しました。各規格内には、異なるコードポイントを持つ複数のバリアントが存在したため、Unicodeでは特定のバリアントセットごとに異なるコードポイントが割り当てられています。簡体字中国語を例にとると、內(U+5167)と内(U+5185)の2つのバリアントは、全(U+5168)の韓国語と非韓国語のバリアントと全く同じように異なります。最初の文字の各バリアントは、入(U+5165)または人(U+4EBA)のいずれかを持ちます。2番目の文字の各バリアントも、入(U+5165)または人(U+4EBA)のいずれかを持ちます。最初の文字の2つのバリアントはそれぞれ独自のコードポイントを持ちますが、2番目の文字の2つのバリアントは同じコードポイントを共有する必要があります。
Unicodeが正当化する理由は、中国の国家標準化機関が最初の文字「内」の2つのバリエーションにそれぞれ異なるコードポイントを作成したのに対し、韓国では「全」の異なるバリエーションにそれぞれ異なるコードポイントを作成しなかったという点です。これには、国内機関が文字自体をどのように捉えているかとは全く関係のない理由があります。中国は20世紀に、いくつかの文字を変更(あるいは簡略化)する過程を経ました。この移行期には、同じ文書内で両方のバリエーションをエンコードできる必要がありました。韓国語では常に「入」 (U+5165)部首が付いた「全」のバリエーションを使用してきました。そのため、両方のバリエーションをエンコードする理由がありませんでした。20世紀に作成された韓国語の文書では、同じ文書内で両方のバージョンを表す理由はほとんどありませんでした。
中国が開発または標準化したほとんどすべての変種は、簡体字中国語への移行がコンピュータ時代まで続いたという幸運のおかげで、それぞれ固有のコードポイントを獲得しました。しかし、この特権は一貫して適用されているわけではなく、日本と中国本土で行われた簡体字のほとんど(各国で簡体字の仕方が異なる文字も含む)は、国家標準のコードポイントとしてUnicodeに採用され、それぞれ固有のコードポイントとなっています。
日本では、海のようにコードポイントが異なる新字体「簡体字」62文字が旧字体の繁体字と統合されました。これは言語タグ付け戦略に問題を引き起こす可能性があります。中国語のように、日本語の繁体字と「簡体字」バージョンに対応する共通のタグはありません。そのため、旧字体の海を表示したい日本人著者は、その文字を「繁体字中国語」としてタグ付けするか、受信者の日本語フォントが旧字体のグリフのみを使用することを信頼する必要がありますが、日本語の教科書で2つの形式を並べて表示するには、繁体字中国語と簡体字中国語のタグが必要になる場合があります。ただし、これは文書全体で同じフォントを使用することを不可能にします。Unicodeには海に2つの異なるコードポイントがありますが、これは「互換性の理由」によるものです。Unicodeに準拠したフォントは、旧字体と新字体のUnicodeにおける同等のコードポイントを同じとして表示する必要があります。非公式には、フォントによっては「海」の表示が異なり、新字体バージョンとして「海」(U+6D77)、旧字体バージョンとして「海」(U+FA45)(中国語や韓国語の繁体字と同じ)が表示される場合があります。
部首「糸(U+7CF8)」は、紅/红などの文字に使用され、2 つのバリエーションがあり、2 番目の形式は単に草書体です。紅(U+7D05) と红(U+7EA2) の部首構成要素は意味的に同一であり、グリフは後者が糸構成要素の草書体を使用している点のみが異なります。しかし、中国本土では、標準化団体は、紅などの文字で使用される草書体を標準化したいと考えていました。この変更は比較的最近行われたため、移行期間がありました。紅(U+7D05) と红(U+7EA2) は、中国のテキスト符号化標準化団体でそれぞれ別のコード ポイントを与えられ、中国語の文書では両方のバージョンを使用できるようになりました。この 2 つのバリエーションは、Unicode でも異なるコード ポイントを与えられました。
部首「艸」(U+8278)の事例は、この状況がいかに恣意的であるかを証明しています。草(U+8349)のような文字を構成する際に部首が使用される場合、部首は上部に配置されますが、2つの異なる形があります。繁体字中国語と韓国語では、4画のバージョンが使用されます。草の上部には、2つのプラス記号( ⺿ )のようなものがあるはずです。簡体字中国語、旧字体日本語、新字体日本語では、2つのプラス記号が横画を共有するような3画のバージョンが使用されます(⺾、つまり草)。中国のテキスト符号化機関は、この2つのバリエーションを区別して符号化しませんでした。中国がもたらした他のほとんどすべての変更は、どんなに些細なものであっても、独自のコードポイントを必要としたという事実は、この例外が意図的ではなかった可能性を示唆しています。Unicodeは既存の標準をそのままコピーし、このような不規則性を保持しました。
Unicodeコンソーシアムは、他の事例でも誤りを認めています。CJK漢字のUnicodeブロックは無数に存在し、元の規格に重複があり、その重複は元の規格の不完全なインポートによって生じたものであり、また、後に修正された偶発的な統合も存在し、文字の統一性を欠く前例となっています。
ネイティブスピーカーにとって、異形文字は理解不能であったり、教育的な場面では受け入れられなかったりする場合があります。英語話者は「4P5 kg」と書かれた手書きのメモを「495 kg」と理解するかもしれませんが、9を逆向きに書く(「P」のように見える)と違和感があり、どの学校でも間違いとみなされます。同様に、CJK言語のユーザーが「外国語」の文字を含む文書を読む場合、骨の異形文字は鏡像のように見えたり、者には画が欠けていたり余分な画があったり、令(令の代わりに)は日本人以外の人には読めなかったりする場合があります。(日本では、どちらの異形文字も受け入れられています。)
場合によっては、特に変化が最も顕著な場合、Unicode はバリアント文字をエンコードしているため、フォントやlang属性を切り替える必要がありません。ただし、違いがほとんどないバリアントには異なるコードポイントが割り当てられ、大きな変化があるバリアントすべてに固有のコードポイントが割り当てられるわけではありません。例として、入(U+5165) のような文字を考えてみましょう。この文字のバリアントを表示する唯一の方法は、lang前の表で説明したようにフォント (または属性) を変更することです。一方、內(U+5167) の場合、内(U+5185)のバリアントには固有のコードポイントが割り当てられます。兌/兑(U+514C/U+5151)のような文字では、どちらの方法でも異なるグリフを表示できます。次の表では、各行で異なるコードポイントが割り当てられたバリアントを比較しています。簡潔にするために、構成要素が異なる新字体バリアントは通常 (当然のことながら) 固有のコードポイントが割り当てられることに注意してください(例:氣/気)。それらはここには表示されません。また、一貫して簡略化された部首要素を持つ簡体字中国語(例:紅/红、語/语)もここには表示されません。[ 17 ]このリストは網羅的なものではありません。
漢統一によって生じた問題を解決するために、平文環境で特定のグリフを指定する問題を解決するために、Unicode Ideographic Variation Database と呼ばれる Unicode 技術標準が作成されました。[ 18 ]グリフコレクションを Ideographic Variation Database (IVD) に登録することで、Ideographic Variation Selector を使用して Ideographic Variation Sequence (IVS) を形成し、Unicode 環境でのテキスト処理において適切なグリフを指定または制限することが可能になります。
Unicodeによって割り当てられた表意文字は、以下のブロックに表示されます。
Unicodeには、以下のブロックに含まれるCJKVの部首、画数、句読点、記号、およびシンボルのサポートが含まれています。
追加の互換性(非推奨)文字は、以下のブロックに表示されます。
これらの互換文字(CJK互換表意文字ブロックに含まれる12個の統一表意文字を除く)は、従来のテキスト処理システムやその他の従来の文字セットとの互換性を確保するために含まれています。これらには、縦書きテキストレイアウト用の文字や、Unicodeが他の方法で処理することを推奨するリッチテキスト文字の形式が含まれています。
国際表意文字コア (IICore) は、CJK 統一表意文字テーブルから派生した 9810 個の表意文字のサブセットであり、メモリ、入出力機能が制限されたデバイス、および ISO 10646 の表意文字レパートリー全体を使用することが現実的でないアプリケーションで実装されるように設計されています。現在の標準には 9810 文字が含まれています。[ 20 ]