Open Source WEB

前回のユニコードデータベースでは、Unicodeに関する情報を調べられる ページが、 http://www.unicode.org/ の中に存在することを示した。

確かに、それはそれで便利ではあるのだが、 もっとまとまった情報が欲しいことがあるだろう。 自分で必要に応じて検索したいというのは当然の考えだろう。

http://www.unicode.org/charts/unihan.html の下の方に、

The complete Unihan database

A complete copy of the Unihan database is available as a (very large) 
zipped text file on the Unicode Consortium's official ftp site. This 
text file includes all the data of the on-line database plus additional
information. Information on how to parse the file is included in the 
file itself. For an overview see the description of Unihan fields in 
the accompanying Unihan.html file.

要するに、

ftp://ftp.unicode.org/Public/UNIDATA/Unihan.zip

にとっても巨大なファイルが存在するのである。 取り敢えずダウンロードしてみたら、5849166バイト(5.8MB)あった。 展開したら、

        27951848  3月 30  2005 Unihan.txt

28MB、100万行以上あった。

先頭の方には、いろいろ英語で長々と 説明があるが、とりあえず全部無視しよう。 説明が終ると、後は延々と各文字について詳細な情報が載っている。

各行は、先頭にユニコードが入っているので、 それで検索すると簡単に色々なことが探せる。

1文字について、60行程度の情報があり、 たとえば、「一」については以下のようになっている。

shell$ grep '^U+4E00' Unihan.txt
U+4E00  kBigFive        A440
U+4E00  kCCCII  213021
U+4E00  kCNS1986        1-4421
U+4E00  kCNS1992        1-4421
U+4E00  kCangjie        M
U+4E00  kCantonese      jat1
U+4E00  kCihaiT 1.101
U+4E00  kCowles 5133
U+4E00  kDaeJaweon      0129.010
U+4E00  kDefinition     one; a, an; alone
     …省略…
U+4E00  kIRG_GSource    0-523B
U+4E00  kIRG_JSource    0-306C
U+4E00  kIRG_KPSource   KP0-FCD6
U+4E00  kIRG_KSource    0-6C69
U+4E00  kIRG_TSource    1-4421
U+4E00  kIRG_VSource    1-4A21
U+4E00  kJapaneseKun    HITOTSU HITOTABI HAJIME
U+4E00  kJapaneseOn     ICHI ITSU
U+4E00  kJis0   1676
U+4E00  kKPS0   FCD6
U+4E00  kKSC0   7673
     …省略…
U+4E00  kTotalStrokes   1
     …省略…

第2カラムが kJis0 のところが、JIS規格書にある区点コードである。 kJis0 は JIS X 0208-1990 のことであり、 kJis1 は JIS X 0212-1990 である。 区、点ともに10進数2桁である。

第2カラムが kIRG_JSource は、JIS規格の値を16進数表記したものである。 先頭についている数字は、

      J0 JIS X 0208-1990
      J1 JIS X 0212-1990
      J3 JIS X 0213-2000
      J4 JIS X 0213-2000

を区別するようだが、どうも 3 や 4 は使われていない様な気がする。

ところで、

   1676(10進表記) ⇔ 306C(16進数表記)

は変ではないだろうか。これは、16進数表記したとき、 0x20だけ底上げされているからである。

詳しく説明するのは大変なので、実際にファイルを入手して、 各自で眺めて使い方を勝手に考えよう。

それが面倒だったら、とりあえずこのファイルの内容を MySQLのデータベースの中にぶちこんでから、 あれこれ処理するクエリを考えるのが正統派と言えるかな。

要するに、これでJIS文字コードとの対応が分かるのだ。


フィードバック:

Name:
Comment:

There is no comment.

このサイトは、 IPA の「平成15年度オープンソフトウエア活用基盤整備事業」 の委託事業として開発されたKahuaで試験的に運用しております。

Copyright (c) 2004-2007 株式会社タイムインターメディア About Us