メインメニューをとばして、このページの本文エリアへ

文字

文字@デジタル

続々・漢和辞典に文字コードをみる

比留間 直和

 新しい漢和辞典の多くは、文字コードとして「JIS漢字」のほかに「Unicode」も示しています。

 Unicodeを示すといってもこれが実はやっかいで、全く同じ形の字でも、漢和辞典によってUnicodeの値を掲げてあったり掲げていなかったりすることがあります。前々回、一部の漢和辞典は、Unicodeのうち「2xxxx」という5桁の値を載せていないということを述べましたが、4桁表記のUnicodeでも「辞書によっては示していない」というケースがあります。今回はそういった事例を見ていきたいと思います。

 これまで、常用漢字表改定を反映した5種の新しい漢和辞典――「漢字源」「新選漢和辞典」「新漢語林」「全訳漢辞海」「新明解現代漢和辞典」――を参照してきましたが、このうち「新漢語林」はもともとUnicodeを示していないので、今回は対象から外します。代わりに、常用漢字表改定より前のものですが、2004年JIS漢字改正の後に発行された主要な小型漢和辞典ということで「旺文社漢字典」(第2版)を加えます。

 ※JIS X0208(第1・第2水準)とJIS X0213(第1~第4水準)とでは包摂規準に若干の違いがありますが、ここではX0213の包摂規準にもとづいて話を進めます。

 ※Unicodeと基本的に同内容の規格である「ISO/IEC 10646」も(特に示さない限り)まとめて「Unicode」と呼びます。

 

■百ケンのケン、はしご高、羽の旧字

 

 「間」のもんがまえの中が「月」になっている「閒」。作家・内田百閒(うちだひゃっけん)の名で目にする字です。「間の旧字体」とする辞書が多いのですが、戦前も活字では「間」がよく使われていたので、通常の新字・旧字の関係とはやや異なります。

 この「閒」は、JIS漢字にはありません。いや、無いというのは不正確で、JIS漢字では「間」のコードポイント(区点2054)に包摂されています。包摂とは、文字コードのうえでは互いに区別せずに同じコードポイントで表す、ということです。ですから「閒」はJIS漢字に「無い」のではなく、「『間』と区別したコードポイントは無い」ということです。

 しかしWindowsには、Unicodeが普及する前から「機種依存文字」としてこの字が搭載されていました。WindowsのシフトJISに含まれる「IBM拡張文字」と呼ばれるものの一つで、鄧小平の「鄧」や草彅剛の「彅」などもその仲間です。

 漢和辞典では「閒」のUnicodeをどう示しているかというと、調べた5種では以下の通りでした。

 

 【閒】

  「9592」を示す = 漢字源、新選漢和、新明解現代漢和、旺文社漢字典
  何も示さない = 全訳漢辞海

 5種のうち4種の漢和辞典が掲げる「閒=9592」というUnicodeは、「間=9593」とは別の値です。Unicodeにも、JISの包摂規準にあたる「統合規則」があるのですが、これだと「間」と「閒」の字体差は統合せずに区別して扱うことになっており、「閒」にも、「間」とは別の、一人前のコードポイントが与えられているのです。

 ですから「閒=9592」というUnicodeを掲げることに特に問題はないのですが、「全訳漢辞海」はこのコードを示していません。このあとで紹介する事例でも同じですが、「全訳漢辞海」は、JIS漢字でほかの字体に包摂されているものに対しては、基本的にUnicodeを示していないようです。

          ◇

 次は、同じくWindowsの機種依存文字である「髙」(いわゆるはしご高)です。これもJIS漢字では常用漢字「高」のコードポイント(区点2566)に包摂されます。一方、Unicodeでは「高=9AD8」「髙=9AD9」と区別されています。

 Unicodeの統合規則では、この字体差は一つのコードにまとめられるはずなのですが、Unicodeを作るときにソースの一つとなった台湾の文字コード規格で「高」と「髙」に別々のコードが割り振られていたため、例外扱いされたのです。Unicodeは既存の文字コードとの間で相互に変換してもデータが保たれるようにしておく必要があるためです。

 理屈はさておき、漢和辞典における「髙」のUnicodeの欄はこうなっています。

 

 【髙】

  「9AD9」を示す = 新選漢和、新明解現代漢和、旺文社漢字典
  何も示さない = 漢字源、全訳漢辞海

 Windowsの機種依存文字であり、かつ「JIS漢字では独立したコードを持たないが、Unicodeでは独立したコードを持っている」という点で、「閒」と「髙」は同じ性格なのですが、「漢字源」ではなぜか前者のみにUnicodeが示されています。

          ◇

 Windowsの機種依存文字でもう一つ、「羽」も見てみましょう。常用漢字「羽」の旧字体としてどの漢和辞典にも掲げられていますが、JIS漢字ではやはり「羽」のコードポイント(区点1709)に包摂されます。

 この字については、漢和辞典では次の通りでした。

 

 【羽】

  「FA1E」を示す = 新選漢和、新明解現代漢和、旺文社漢字典
  何も示さない = 漢字源、全訳漢辞海

 Unicodeの統合規則では、「羽」と「羽」は統合の対象です。また、「髙」のようにどこかの国・地域の公的な規格で「羽」と「羽」が区別されているということもなかったため、「羽」と「羽」は「7FBD」というコードに統合されました。

 では、漢和辞典が示す「羽=FA1E」とは何かというと、Unicodeで「互換漢字」と呼ばれる領域です。Unicodeでは本来、「羽」も「羽」も「7FBD」で表されるのですが、それだとWindowsの機種依存文字としての「羽」が行き場を失い、シフトJISとUnicodeの相互変換ができなくなります。日本向け製品に既に広く実装されていることから、こうした機種依存文字のうち一人前のコードが与えられなかったものは、「互換漢字」という特殊な領域に収容されたのでした。Windowsの日本語環境では、「羽」のUnicodeは7FBD、「羽」はFA1Eというふうに、コードを分け合っています。(つまり、WindowsのシフトJISに含まれる機種依存文字は、「最悪でも互換漢字」というかたちでUnicodeとの間で対応がとれています)

 こうした互換漢字は、既存の文字コードとの互換性を保つ以外の目的に使うべきではないということが、UnicodeやISO/IEC 10646に記されています。

 そんなわけで「羽=FA1E」というコードは、Unicodeの本来の定義(「羽」も「羽」も7FBD)とは異なりますが、Windowsの機種依存文字という日本向け製品の都合で設けられた互換漢字ですから、漢和辞典で「FA1E」を掲げておくのも、現実的な判断として「アリ」だと思います。

 

■強の異体、連の旧字

 

 上で見てきた3字はいずれもWindowsに機種依存文字として搭載されてきた字体ですが、「JIS漢字で包摂される旧字・異体字」のうちでは、そうしたものは一部に過ぎません。

 JIS漢字では包摂され、またWindowsの機種依存文字にも無いが、Unicodeには独立したコードをもっている。そんな例を見てみましょう。

 

 まずは「」。「強」の右上のムが口になった異体で、辞書によっては「旧字」とするものもありますが、戦前は「強」と「」の両方の活字が使われました。

 「」は、JIS漢字では「強」のコードポイント(区点2215)に包摂されます。Unicodeでも本来は統合の対象ですが、台湾の文字コードで区別されていたため、統合の例外とされ「強=5F37」「=5F3A」と分けられました。

 この字体には、5種のうち4種の漢和辞典がUnicodeを掲げています。

 

 【

  「5F3A」を示す = 漢字源、新選漢和、新明解現代漢和、旺文社漢字典
  何も示さない = 全訳漢辞海

         ◇

 次に、「」を見てみます。「連」の旧字体で、しんにょうが2点になっているだけです。この字体差は、JIS漢字でもUnicodeでも包摂や統合の対象です。そのため漢和辞典でしんにょうの点の数が違うだけの旧字体にコードが掲げられることはふつうは無いのですが、「」についてはちょっと事情が違います。

 

 【

  「F99A」を示す = 新選漢和、新明解現代漢和
  何も示さない = 漢字源、全訳漢辞海、旺文社漢字典

 Unicodeでは、「連」と「」は「9023」というコードに統合されています。漢和辞典では、どの辞書も常用漢字の「連」に「9023」を掲げている一方、旧字の「」には上記のように二つの辞書が「F99A」を掲げています。

 「F」で始まっていることでお気づきかもしれませんが、「F99A」というのは先ほどの「羽」と同様、ワケアリの字が放り込まれる「互換漢字」の領域です。このあたりの互換漢字は、韓国の文字コードが「同じ漢字でも読みによって別々のコードを振る」ということをやっていたために、重複している字の片割れを収容したものです。

 「連()」の韓国漢字音は通常は「リョン(련)」ですが、語頭では「ヨン(연)」に変化するため、韓国の文字コードではこの字に二つのコードポイントを与えていました。Unicodeは既存の文字コードと相互変換できるようにしておく必要があるため、「リョン」のほうを9023(通常の漢字の領域)、「ヨン」のほうをF99A(互換漢字)というふうに対応づけたのです。このとき同じ理由で互換漢字となったものは、「」を含め計268字ありました。

 このように、韓国の特殊な事情(読みの区別のための重複符号化)によって「F99A」というコードが与えられたのであって、「しんにょうの数」を区別するためにこのコードが設けられたわけではありません。漢和辞典が1点の「連」のUnicodeとして示している「9023」も、必ず1点しんにょうの「連」を表すというわけではなく、実際、韓国向けのフォントではたいてい「9023」も「F99A」も2点しんにょうの「」になっています。

 しかし、日本で使われている一部のフォントには、こうした韓国由来の互換漢字のコードポイントを、「字体の区別」の目的で使っているものがあります。それらのフォントでは、Unicodeの「9023」に1点しんにょうの「連」、「F99A」には2点しんにょうの「」が割り当てられています。

 個々の製品で文字コードをどのように扱うかは、最終的にはメーカーの判断だと思いますが、この互換漢字の「」が先の「羽」のように日本向け製品の都合で入ったわけではなく、韓国の規格との互換性のために収録されたこと、しかも本来は字体を区別するためのものではないことを考えると、一般向けの漢和辞典にまで「=F99A」というUnicodeを示すのは、「そこまでやっていいのかな?」と思ったりもします。

 

       ◇

 

 今回取り上げた五つの字(字体)について各漢和辞典が掲げたUnicodeをまとめると、次のようになります。いずれも、JIS漢字では常用漢字の字体を表すコードポイントに包摂されている、旧字・異体字です。

 ある字(字体)に「JIS漢字のコードを示すかどうか」は、JIS漢字そのものの改正による影響を除けば、辞書による違いはあまり無いのですが、Unicodeについてはご覧の通りです。

 漢和辞典とUnicodeの話を続けます。

(つづく)

(比留間直和)