CJK統合漢字

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動先: 案内検索

テンプレート:Table Unicode テンプレート:特殊文字 CJK統合漢字(シージェーケーとうごうかんじ、テンプレート:Lang-en-short)は、ISO/IEC 10646(略称 UCS[1])および テンプレート:ルビにて採用されている符号化用漢字集合およびその符号表である。CJK統合漢字の名称は、中国語日本語朝鮮語で使われている漢字をひとまとめにしたことからきている。CJK統合漢字の初版である Unified Repertoire and Ordering 第二版は1992年に制定されたが、1994年にベトナムで使われていた漢字も含めることにしたため、CJKVと呼ばれる事もある。CJKVは、中国語日本語朝鮮語ベトナム語を表す英語の頭文字である。特に、その4つの言語で共通して使われる、または使われていた文字体系である漢字チュノムを含む)のこと。ソフトウェア国際化、中でも文字コードに関する分野で用いられる。

CJK統合漢字は、日本中国台湾北朝鮮韓国ベトナムの各漢字コードとの対応表も定めているが、事情によりCJK統合漢字との対応を持たない各国・各地域の漢字コードを UCS に適切に変換できるよう、互換用の領域が別途定められている。この領域の漢字はCJK互換漢字[2]と呼ばれる。

歴史

1978年、日本によって世界で最初のISO 2022に基づく漢字コード規格 JIS C 6226 が制定された。1980年代には中国・台湾・韓国にて次々と各国・地域用の漢字コード規格が制定されていったが、これらは互いに関連性がなく、混在させて使用するにはISO 2022のエスケープ・シーケンスで漢字コード表を切り替えるしかなかった。

1980年、国会図書館の高橋徳太郎が主に書誌学の観点から、東アジアの統一漢字コードの必要性を指摘した。同年、台湾で制定された3バイト漢字コード規格 CCCII は、おそらく日本・中国・台湾の漢字を統一的に扱うことを目的とした最初の規格の一つである。この規格は東アジアの文献情報用にアメリカでも ANSI Z39.64として採用された。

1984年、ISOの文字コード規格委員会 (ISO/TC 97 - SC2) は文字セットの切り替えを行わずに世界中の文字を単一の文字集合として扱える文字コード規格 (ISO 10646) を作成することを決定し、専門のワークグループ(WG 2)を設置した。当初、この文字コード規格は16ビットを想定し、その中に日本や中国など各国の漢字コード表をそのまま入れることを想定していた。しかし中国はこの方式では自国で現在策定中の漢字コードが全て入らなくなるとしてこの方針に反対し、1989年、各国の漢字コードを統合した漢字集合 HCC[3]のアイデアを提案した。

1990年、完成したISO 10646の初版ドラフト(DIS 10646)では、漢字コードは32ビットで表現され、各国の漢字コードはそのまま入れることになった。しかし中国は漢字を各国でばらばらに符号化するのではなく、あくまで統一して扱うことを求めてこのドラフトには当初から反対しており、今後の漢字コードの方針を決めるため、ワークグループは CJK-JRG と呼ばれるグループを別途設置し、そこで引き続き検討することにした。

一方、1987年頃から、ゼロックスのジョー・ベッカー[4]とリー・コリンズ[5]は世界中の文字を統一して扱える文字コード Unicode を開発していた。1989年に発表された Unicode の概要では、その基本ポリシーとして、16ビットで全ての文字を扱えることを目指しており、そのために日本・中国・韓国の漢字を統一することとしていた。1990年にはこの方針に基づいた最終ドラフトが完成、それに賛同する企業によって、翌1991年1月にはUnicodeコンソーシアムが設立された。このドラフトでは、日本・中国・韓国の漢字の類似する漢字を統合することで2万弱の漢字コードを入れ、さらに将来の拡張用に、3万程度の漢字の空き領域が別に用意されていた。

1991年、ISO/IEC 10646 の初版ドラフトは Unicode との一本化を求める各国により否決され、また中国および Unicode コンソーシアムの要請により、CJK-JRGにおいて、ISO 10646 と Unicode の一本化が図られることになった。CJK-JRG は各国の漢字コードに基づき独自の統合規準を定め、ISO 10646 と Unicode 用の統合漢字コード表を作成した。1991年末、この文字表は Unified Repertoire and Ordering(URO)として完成した。

1992年、URO を取り込んだ ISO 10646 の二版ドラフトが完成し、賛成多数で国際規格化された。ただし URO には若干の間違いが発見されており、それらの修正が行われている。

1993年5月、U+4E00~U+9FFF のブロックに最初のCJK統合漢字、20,902字が割り当てられた ISO/IEC 10646 が正式に制定され、その一ヶ月後には同じ内容を持つ Unicode 1.1 が制定された。

1999年、ISO/IEC 10646 の修正案 17 において、拡張漢字A集合として、U+3400~U+4DFF のブロックに6,582字が追加された[6]。当初は6,584文字の予定であったが、そのうち2文字が互換漢字領域にあったため、互換領域の2文字を拡張漢字A集合として扱うことにして、この2文字は追加集合からは削除された[7]。また、同時期に発行された修正案 13 において、URO漢字のうち中国に原規格がない文字に対して、GB 16500 に基づく新規に原規格の割り当てが行われ[8]、またベトナムの文字欄が追加されCTJKVの5欄併記となった[9]

2001年、ISO/IEC 10646-2 として、拡張漢字B集合42,711字が、U+20000~U+2A6FF のブロックに追加された。しかしながら、非常に膨大な漢字集合を極めて短期間のうちに定めたため、漢字の重複や字形の誤りが多数発生した。

2005年、ISO/IEC 10646:2003 修正案 1 として、基本多言語面(BMP)の U+9FA6~U+9FBB に22文字の漢字が追加された。

2009年Unicode 5.2 で、拡張Cとして U+2A700~U+2B734 が、また基本部分でも U+9FC4~U+9FCB が追加された。

2010年Unicode 6.0 で、拡張Dとして U+2B740~U+2B81F が追加された。

2012年Unicode 6.1 で、基本部分でも U+9FCC が追加された。

CJK統合漢字の特徴と問題点

配列

原則として登録される毎に部首画数順で配列されている。但し一部に乱れが存在している上追加が相次いだために検索が困難になってきており、 Unihan データベースでは割り当てられた Unicode 値と部首番号、部首別画数から導出される値をソートキーとして規格化している。

類似漢字の統合

漢字には「形・音・義」の3つの側面があるといわれる。CJK統合漢字は日本・中国・台湾・韓国の漢字コード表の漢字のうち由来が同一[10]であり、かつ字形が同一または類似するものを、一定の基準のもとに統合することにした。統合規準については、ISO/IEC 10646 の補遺Sに詳述されている。由来が同一であっても国・地域によって漢字の意味や発音が大きく変化しているため、現代の各国間でも音・義が同一であるとは限らない。このため統合漢字では日本の「机」(つくえ)と中国の「」(機の簡化字)が統一されたり、現代の日本語と中国語で大きく意味が異なる「届」等の漢字に同一の符号が割り当てられている。(en:Han unification

統合漢字は、字形が同一でなくても、「同じ抽象字形を持つ漢字」も統合することにしている。同一とされる抽象字形には、「為」と「爲」や、「単」と「」などがある。その結果、「僧」と「」、「廐」と「」、「」と「」なども同一符号化され、符号のみでは字形や画数を明確に定めることが困難である。

原規格分離規則

日本・中国・台湾・韓国の国内規格と UCS との間でラウンドトリップ変換を実現するため、統合漢字の最初の URO 20,902文字に限り、日本・中国・台湾・韓国の国内規格で区別されている漢字は統合漢字でも必ず分離することとした。たとえばJISの間違いにより別符号化されていた「飲」と「飮」は統合漢字でもやはり分離され(他のすべての「飠」と「𩙿」の違いしかない漢字は統合されている)、また「」と「」は、「」や「」等の漢字では統合される一方、「」と「」や、「」と「」などは台湾のCNS規格では区別しているとの理由により別符号化されている。

統合における矛盾

CJK統合漢字は上記のような「統合原則」および「原規格分離規則」を定めたにも関わらず、これらに適合しない統合・分離の例を幾つか抱えている。

一例を挙げると、「戋」と「㦮」は統合原則では統合されることになっている。具体的にはたとえば、「」と「」や、「」と「」、「」と「」は統合漢字では同一符号である。しかしなぜか「桟」と「栈」は、日本・中国・韓国・台湾のいずれの国内規格でも区別しているものはないのに、統合漢字では U+685F と U+6808 に分離されている[11]

CNS 11643:1992規格との非互換性

URO の制定作業の直前に、台湾が CNS 11643:1992規格として、康煕字典大漢和辞典の漢字を含む4万7千文字の漢字コードを制定した。この漢字集合は、多数の異体字を規定しているが、その異体字の中には統合漢字では統合されているものも多く含まれていた。そのため、CNS規格は Unicode との間でラウンドトリップ変換が不可能となった。

一例として、CNS 11643:1992では従来の「」(1面4E7E)に加えて、「」(6面2D45)を新たに規定した。しかし統合漢字では両方の字形は76F4として符号化された(「」は日本字形、「」は中国・台湾字形)。その結果、原規格分離まで行って維持しようとしたラウンドトリップ変換が、CNS 11643:1992との間では不可能となった(この問題は2001年のISO/IEC 10646-2:2001の制定によりようやく解消された)[12]

幽霊漢字

1991年7月に CJK-JRG は、CJK統合漢字の対象となる漢字は1991年の時点における各国・各地域で公式に制定された規格のみに限定することで合意した。これにより、日本からは JIS X 0208:1990、JIS X 0212:1990、韓国からは KS C 5601、KS C 5657、台湾からは CNS 11643:1987、そして中国からは GB 2312、GB 7589、GB 7590、GB/T 12345、GB 8565 で規定されている漢字が統合の対象となった(実際には GB 7589、GB 7590 そのものではなく、それらに記載されている字体の繁体字が統合の対象として提出された)。しかし中国は、この合意では入れることのできない、現代漢語通用字表CCITT Chinese Primary Set の漢字、標準電碼本の漢字をCJK統合漢字に含めようとし、上記の規格に含まれない多数の漢字を既存の規格の空き符号位置に混入させて、統合対象の漢字として提出した。その結果、一見由来の不明な多数の幽霊漢字が、CJK統合漢字に紛れ込むこととなった[13]

重複漢字

CJK統合漢字の中には、全く同じ文字が複数の符号位置に重複して登録されているものや、本来統合されるはずの文字が別字として登録されているものなどが発見されている。とりわけ、拡張Bの追加の際には、かつてBMPで統合されたはずの「点なしの『器』」(U+5668で点の有無を包摂)に新たな符号位置(U+20F96)を与えるといった、不整合な例が多数見られる[12]

誤って統合された漢字

CJK統合漢字の中には、字形が似ているだけで統合された物が1例確認されている。拡張Aに含まれる U+4039(䀹)がそれである。詳細は中文版ウィキペディア記事に譲るが、この訂正のためにCJK統合漢字 U+9FC3 に U+FAD4 を割り当て直した(Unicode 5.1)。大漢和辞典における23381番(U+4039)と23380番(U+FAD4=U+9FC3)である。

サロゲートペア

拡張漢字B集合は、UTF-16を採用したシステムでは、Unicode 2.0 で追加されたサロゲートペア(代用対)という2つの代用符号位置を組み合わせて1文字として認識させる手法を取らないと符号化できない。そのため、アプリケーションによってはいまだに対応ができていないケースがある。JIS X 0213の漢字のうち一部はこの拡張Bに含むため、文字列を Unicode で処理するシステムに於いて JIS X 0213 を完全に実装する場合はサロゲートペアに対応する必要がある。

将来の予定

中国は『康熙字典』や少数民族で使われている特殊漢字などの文字をすべて UCS に収録させようとしているため、Unicode の今後のバージョンでは拡張Eとして追加漢字面の空き領域に追加される予定がある。また、甲骨文などの古代の文字については U+30000 以降への追加が検討されている。

CJK互換漢字

テンプレート:Seealso U+F900~U+FAFFのブロックである。Unicode 3.1 では補助集合として第2面(追加漢字面)に U+2F800~U+2FA1F のブロックが追加された。基本的にCJK互換漢字と重複する漢字が割り当てられている。 CJK統合漢字には、基本的に1つの漢字に付き1つの符号位置しか与えられないため、KS X 1001など各国の規格で全く同じ形の漢字が重複して収録されていた場合、Unicode との相互変換を行った際可逆性が失われる事となる。(KS X 1001の場合、読みにより分離している為、読みがわからなくなって困ることがある)。この問題を解決する為に、このブロックが作られた。Big5で誤って重複してしまった2字もこのブロックにある。IBM拡張漢字のうちCJK統合漢字に入れなかったものもあり、その中には U+FA1F(﨟)や U+FA24(﨤)などCJK統合漢字に同じ漢字が存在しない為、CJK統合漢字と同じ扱いをするものが12字ある。

Unicode 3.2 では、JIS X 0213 で包摂基準が変更され分離されたものの内、「侮」や「僧」、「社」の旧字体など Unicode では包摂されるものがこのブロックに追加された。これは、CJK統合漢字は日本以外にも中国と韓国の漢字を含めたものであり、日本だけの為に包摂基準を変更して包摂分離して追加すると、他の国が国内規格と対応する Unicode のコード値を変更しなければならないことがあるからである。例えば、「社」など示偏の漢字は GB18030 では偏が「ネ」の形を採用しているが、KS X 1001 では偏が「ネ」でなく「示」の形を採用している。もし、偏が「示」の形の「社」を包摂分離してCJK統合漢字の新たな符号位置に追加したとすると、GB18030 はそのままでよいが、KS X 1001 の「社」のコードとの対応は新たに追加された方に変更しなければならなくなる。

参照

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

  1. テンプレート:Lang-en-short
  2. テンプレート:Lang-en-short
  3. テンプレート:Lang-en-short
  4. テンプレート:Lang-en-short
  5. テンプレート:Lang-en-short
  6. テンプレート:Lang-en-short
  7. テンプレート:Cite web
  8. テンプレート:Lang-en-short
  9. テンプレート:Lang-en-short
  10. テンプレート:Lang-en-short
  11. テンプレート:Cite web
  12. 12.0 12.1 テンプレート:Cite journal
  13. 安岡孝一・安岡素子『「」はなぜ JIS X 0221 に含まれているのか : Unicode 幽霊字研究』情報処理学会研究報告

参考文献

テンプレート:参照方法

  • 三上喜貴『文字符号の歴史 アジア編』共立出版 ISBN 4-320-12040-X
  • 安岡孝一・安岡素子『文字符号の歴史 欧米と日本編』共立出版 ISBN 4-320-12102-3

関連項目

外部リンク