■例示字体を変更すると国際規格と衝突する10字
前回までで「(1)JIS X 0208を変更せず、JIS X 0213だけを変更した」「(2)JIS X 0213の例示字体のうち168字を変更した」の2つのポイントを説明した。ここまでは変更点としては互換な変更だ。しかし、次に述べる「表外漢字UCS互換」として追加された10字については、非互換という意味で前二者とは大きく異なり、この点で注意が必要だ。
これらは、本来は表外漢字字体表どおりに例示字体を変更したいが、そうすると国際規格との間で衝突が起こるため、しかたなしに今までの包摂規準を変更し、包摂分離した上で追加した文字だ。解説では「3.1.8 UCSとの関係が特殊な10字」および「3.2.2 文字の追加と包摂規準との関係」に説明がある。
でも、表外漢字UCS互換とは何のことだろう、そして衝突とは? ここで言う国際規格とはJIS X 0221-1を指す。これはISO/IEC 10646-1(以下、UCSと略[*1])の翻訳JISであり、Windows XPやMac OS Xに実装され、あるいはJavaやXMLなどでデフォルトの文字コードとされているUnicodeとほぼ同じ規格だ[*2]。UCSは日本のJISと同様、世界の多くの国で翻訳され使われている。ここでは多くの国が国内規格にある文字を出し合い、ひとつの巨大な領域中に結合させることで、世界中の文字を収録する規格にしようとした。そして今回の改正で問題になった衝突は、こうした成立事情により発生する。
UCSを審議していた1990年代初頭の時点で、漢字を文字コードとして規格化していたのは日本、中華人民共和国、中華民国(台湾)、大韓民国の4カ国だった。複数の規格にある文字を結合しようという時、特に問題となりそうなのが、特別編19~特別編20で説明した異体字だ。そこで述べたように「同じ字」とする範囲は、面的な広がりを持つ。だからこそ形が多少違っても、この広がりの内側なら1つの符号位置に統合[*3]できる。しかし、4カ国は言語が違う。はたして言語の壁を越えても、同じ種類の文字(script、言語学では文字体系、JISでは用字)とできるものだろうか?
UCS規格票を見ると、それぞれの国の規格にある文字は単一の符号位置に統合され、例示字形として4カ国の文字を併記している。この統合された漢字は各国の英語名をとって「CJK統合漢字」(CJK Unified Ideograph)と呼ばれている[*4]。つまり先の疑問に対して、参加各国は明確にイエスと答えたことになるが、この意味で制定当初のUCSとは、ひとつの壮大な実験だったと言えるかもしれない[*5]。
それはともかく、文字コードが実装され機能するためには、複数の規格間で変換を繰り返しても、符号位置が変わらないことが必要になる。符号が伝送されていく途中で別の符号になれば情報交換にならない。この規格間の互換性を、UCSでは特に「往復の保全性」と呼ぶ。
UCSでは出典となる規格を「原規格」と言う。例えば日本の規格としてはJIS X 0208とJIS X 0212(補助漢字)がこれにあたる[*6]。この例外ルールは、原規格で区別されている文字は、UCSでは統合されずそれぞれ別の符号位置を与えられるというものだ。
これにより、例えばJIS X 0208およびJIS X 0212に収録されている文字は、UCSとの間で変換を繰り返しても、それぞれ最初の符号位置のまま変わらない。また、それぞれの原規格の文字はUCSに変換された後も、原規格に元通り再変換可能なはずだ。
■JIS X 0213を変えると、UCSも変えなければならない
ここで、特別編18で図1として示した「JIS文字コードの関係」を再掲しよう。
■図1 JIS文字コードの関係[訂正1]
|
・JIS X 0221-1はとても大きく、他の規格を包含する
・JIS X 0208はJIS文字コードの中心に位置する
・JIS X 0212もJIS X 0213も、JIS X 0208の拡張を目的とする
・JIS X 0213はJIS X 0208部分と拡張部分の二層構造
・JIS X 0212は、JIS X 0208を含まない
・JIS X 0213とJIS X 0212は、文字セットが半分以上だぶっている
|
JIS文字コードはモザイクのように入り組んでいる。例えばJIS X 0213はJIS X 0208を含み、同時にすべてのJIS X 0213の符号位置はUCSとの間で一対一に対応付けられている。こうした状況の下では、1つの規格の変更は、他の規格にも影響を与えないではいられない。
特別編20で説明したように、今回の改正ではJIS X 0208そのものはいじらない。しかし問題となる10字は、いずれもJIS X 0213のうち、UCSの原規格であるJIS X 0208部分に収録される。もし不用意にJIS X 0213をいじれば、それは玉突きのようにUCSの中で衝突を引き起こし、「往復の保全性」が壊され、将来の実装を背負うはずのJIS X 0213は「使えない規格」になってしまうのだ。
では衝突を説明しよう。下の表を見てほしい。
■表1 UCSとの間で「往復の保全性」が問題になる10字
http://internet.watch.impress.co.jp/www/column/ogata/sp21/hyo1.htm
例えば表外漢字字体表の256番は、JIS X 0213では面区点1-23-50に対応することになっている。両者は形が違うので、今回の改正にあたりJIS X 0213の例示字体を256番のものに変更したい。
ところで、この1-23-50はJIS X 0213のJIS X 0208部分に収録されている。JIS X 0208を原規格とするUCSは、この1-23-50を00007E4Bとして収録する。ところが先の256番と同じ形が他の原規格であるJIS X 0212にあり、これをUCSでは00007E6Bに収録しているのだ。
これにより、JIS X 0213の改正前と改正後で、UCSとの対応を変えざるを得なくなる。つまり、改正前の対応先は00007E4Bだったが、改正後は変えた字の形と同じ00007E6Bに変更をしないと理屈が通らなくなる。しかしそれをすれば、JIS X 0208とUCSの対応と違うものになる。これによりJIS X 0213とUCSの往復の保全性は壊れる。
これは日本国内の原規格間での衝突だが、違う国との原規格間で衝突するのが字体表264番のケースだ。これはJIS X 0213では面区点1-53-11に対応することになっている。両者は形が違うので、今回の改正にあたりJIS X 0213の例示字体を264番のものに変更したい。
一方UCSでは、この1-53-11を0000598Dにとして収録する。ところが、すでに264番と同じ形が中華民国(台湾)のTCA-CNS 11643、中華人民共和国のGB-16500、大韓民国のKS C 5601を原規格としてあり、これを000059F8に収録している。これにより、もしJIS X 0213で例示字体を変更すれば、この000059F8に対応を変更をしないと理屈が通らなくなる。しかしそれをすれば、JIS X 0208とUCSの対応と違うものになる。これによりJIS X 0213とUCSの往復の保全性は壊れる。
■従来の例示字体は変更せず、印刷標準字体を追加
ではどうすればよいだろう? これらの解決法として、今回の改正ではJIS X 0213に表外漢字字体表の文字そのものに新たな符号位置を与える一方、UCSで衝突してしまう既存の10字は一切変更しないことにした。
こうしてUCSとの往復の保全性は確保したわけだが、一方で追加した字も既存の字も、従来のJIS X 0213では同じ包摂の範囲に収まっていた字であることに変わりはない。つまり今回の改正では、これまでの包摂範囲から分離した上で、別の符号位置を与えたことになる。重要な点なので図で説明しよう。
■図2 包摂分離は非互換変更になる
|
改正前のJIS X 0213:2000は2つの字体を包摂していた。改正後のJIS X 0213:2004では2つの字体の包摂を分離し、別の符号位置を与えた |
例えば字体表206番の文字。これは上の図2では右の形なのだが、改正前のJIS X 0213:2000では、例示されている左の形とともにどちらも包摂の範囲に収まっていた。つまり、左右どちらの形にデザインするフォントでもJIS X 0213:2000に適合していた。ところが、改正によって双方は包摂分離されてしまったから、右の字体を面区点1-17-19に割り当てていたフォントは、改正されたJIS X 0213:2004に適合しなくなってしまう。これが非互換変更だ。
つまり、今回の改正以前に表外漢字字体表に合わせようと1-17-19をデザイン変更したフォントがあるとすれば、皮肉なことにそのフォントは改正後のJIS X 0213に不適合となってしまうわけだ。
往復の保全性は大切だが、このように包摂分離は非互換変更となる。往復の保全性ほど大きな問題にならないにせよ、やはりこれも規格の禁じ手のはず。とにかく改正前には適合していたものが不適合になってしまう場合があるのだ。そこまでして、なぜこのような変更を? それを端的に答えようとするのが解説「2.9.6 この規格とJIS X 0208との関係を維持するための改正」(p.46)だ。
今回の改正で表外漢字UCS互換を追加したことなどによって、一部の文字の包摂の範囲がこの規格の2000年規格のそれと異なっている。この規格の立場では、符号化文字は包摂の範囲によって特定されるのであるから、包摂の範囲が異なるものは同一の符号化文字とはいえない。この意味で、今回の改正で包摂範囲を変更した文字については、規格としての食い違いが生じている。しかし、この規格の2000年版とJIS X 0208を比較すると、実は2000年版の時点で同種の食い違いが生じていたことが分かる。つまり、この規格の2000年版の文字のうち幾つかは、例示字形こそJIS X 0208と完全に同一であったが、その包摂の範囲が一致しないため、符号化文字として食い違っていた。もともと食い違っていたものを、同種の食い違いのある文字数が増えたからといって両規格の関係が変わることはない。
|
なんというか、この部分を書いた人はJIS X 0213が憎いのではと思うくらい身も蓋もない、しかし正確な書き方だ。これは直接的にはJIS X 0208を改正しない理由として書かれているのだが、この非互換問題について今回の改正の立場をよく表わしている。つまり、私なりに意訳すれば、JIS X 0213の制定当初からJIS X 0208とは非互換だったんだから、同じ理由で10字を追加・包摂分離したって非互換に変わりはあるまい? というところか。さらに「3.2.2 文字の追加と包摂規準との関係」(p.58)でも、以下のように書く。
この規格のレパートリが、最新のUCSの符号化文字集合に基づいた実装としてようやく市場に登場しつつある現時点においては、JIS X 0208とこの規格との包摂関係の相違による混乱の度合いの方が、今回の国語審議会表外漢字UCS互換の包摂分離による混乱よりも、はるかに影響が大きいものと思われる。ただし、中長期的な国語施策の方向性を勘案すると、この規格の発効も含め、一連のJISの符号化漢字集合規格の制定・改正による利益は、これらの混乱の影響による不利益を補って余りあるものであると考えられる。
|
つまり、非互換のデメリットはあるにしても、表外漢字字体表に対応することこそを優先せねばならないという、強い意志がここに書かれている[*7]。
しかし、実を言うと、非互換になる包摂分離という手法をとらなくとも文字を追加する方法はある。それはなにか。そして、なぜ今回の改正ではその方法をとらなかったのか。それは次回の特別編22で説明することにしよう。なお、予定よりもこの項の説明に手間取ってしまったので、特別編19で予告したMS書体の動向など改正の影響については、まとめて特別編23で書くことにする。ご了解いただきたい。
[*1]……JIS X 0221-1は「Universal Multiple-Octet Coded Character Set」(国際多オクテット符号化文字集合)、略してUCSと呼ばれる。末尾の「-1」は第1部の意味。本稿ではJIS X 0221-1、およびその原典となったISO/IEC 10646の各部、そしてその各国語訳などを、すべて一括してUCSと呼ぶことにする。
|
[*2]……UCSとUnicodeが「ほぼ同じ」と奥歯に物がはさまったような表現になるのは、UCSが最初から32ビット(2の32乗)の符号化文字集合を意図したのに対しUnicodeは違うという、全体構造の差による。しかし実装上、問題となる違いではない。またUCSとUnicodeの制定団体が違うことで、それぞれの審議のタイミングによって差が出ることもある。
UCSは国際標準化機構(International Organization for Standardization:ISO)と国際電気標準会議(International Electrotechnical Commission:IEC)の合同委員会(Joint Technical Committee 1:JTC1)の下部機関SC2(Sub Committee 2)の作業部会WG2(Work Group 2)によって審議される。
なお、新JCS委員会の佐藤敬幸副委員長と小林龍生幹事は、このWG2に対応する日本代表、情報規格調査会SC2専門委員会の委員。また、芝野耕司幹事はSC2の議長(Chairman)。
一方、Unicodeの制定元はアメリカのIT企業を中心とした団体、Unicode Consortium(審議は下部機関のUnicode Technical Committee:UTC)。小林龍生幹事はUTCも含めその有力メンバー。
両団体は利害は異なりながら、自転車の前輪と後輪のように協調しあって、UCS≒Unicodeという関係の維持につとめている。ただし肝心のアメリカにおいては、UTCの主要メンバーがそのままアメリカ国内のWG2対応委員会であるINCITS L2委員会(http://www.ncits.org/tc_home/l2.htm)のメンバーとなっており、彼らの意識の中で2つの規格がどこまで分離しているか疑問だ。
|
[*3]……特別編19で説明したように、JIS X 0208/JIS X 0213では同様の文字の働きを「包摂」と呼ぶ。これらは日本国内で使用される文字を前提としているが、規格本体「4. 定義」にあるように、包摂は統合と同じく「unification」と英訳されている。
|
[*4]……その後ベトナム社会主義共和国も参加して計5欄になり、さらに他の漢字使用国の参加が相次いで(近年は朝鮮民主主義人民共和国も参加)スペースが足りなくなり、結果としてここ数年収録が進んだ領域については、1つの符号位置に1つの例示字形という形式になった。もっともUnicodeの方は、最初から平然と1文字1欄。参加各国の面子も重んじなければならない国際機関と、実装のスピードを優先する業界団体の姿勢の違いだろうか。これに限らずUCS≒Unicodeは、理想主義のUCS、現実主義のUnicodeと、表裏両面の顔を持つひとりの人間と考えると理解しやすいと思うがどうだろう。ローマ神話で始まりと終わりを司る、双面のヤヌス神を想起するが。
|
[*5]……UCSの制定当初の事情については『電脳社会の日本語』(加藤弘一、文春新書、2000年)が詳しい。
|
[*6]……ではJIS X 0213は原規格ではないのか? JIS X 0221-1 規格本体「27. CJK統合漢字」には、JIS X 0213の名前はない。したがって、ひとまずJIS X 0221-1の範囲では原規格ではないと言える。そもそもJIS X 0213の初版は2000年なのだから、これ以前に収録された部分については原規格になりようがない。ただし、この年以降に収録された部分については話が変わる。
例えば追補規格票p.30~31「附属書6 漢字の分類及び配列」への変更の部分を見てほしい。これは制定時には曖昧だったJIS X 0213とUCSの符号位置の対応を一覧表にしたものなのだが、ここで対応付けられているUCSの符号位置の中には「2000B」などのように5桁のものがある。これらはJIS X 0221-1(=ISO/IEC 10646-1)で規定されている範囲外の文字で、未翻訳のISO/IEC 10646-2で収録されたものなのだが、これらがJIS X 0213を原規格とするもののはずだ。はずだ、というのは、最近収録されたこの領域は、注4でも書いたように5欄併記されておらず、UCSの側からは1字ずつの原規格がわからなくなっているからだ。
|
[*7]……ただし表外漢字UCS互換で追加された10字のうち、表1でも明らかなように、1-14-1、1-47-52、1-47-94の3文字についてだけは、これらの方だけが「正統な字」とはできない。これらと、すでにJIS X 0213で収録している字との関係は、表外漢字字体表における「デザインの違い」の関係であり、表外漢字字体表ではどちらも「正統な字」としている。したがってこの3組については、どちらが正統とするべきものではない。
詳しくは『表外漢字字体表』「3(2)「字体の違い」と「デザインの違い」との関係」(p.7)、解説「3.2.2 文字の追加と包摂規準との関係」の「備考」(p.60)を参照。
|
◆加筆修正履歴
[訂正1]……図1を差し替え(2005/8/29)
図1のいくつかの数値に間違いがあることがわかった。ご指摘くださったMasatoshi Kimuraさんに感謝いたします。
◎訂正前
JIS X 0213(当初漢字10,693文字、今回の改正で10字追加して10,703文字)
JIS X 0208(漢字6,349文字)
◎訂正後
JIS X 0213(当初漢字10,040文字、今回の改正で10字追加して10,050文字)
JIS X 0208(漢字6,355文字)
( 小形克宏 )
2004/4/12
- ページの先頭へ-
|