GAIJCONV

合成文字とは

    読みの分からない漢字や、同音が多く紛らわしい漢字に出会った時に、「石へんに定員の定」(=碇)、「示へんに右」(=祐)などと漢字を説明することができます。漢字説明は、対象の漢字がもっと複雑でも、例えば「さんずいに、つくりの上半分は、死亡の亡の下に口、下半分は左から月、女、平凡の凡」(=瀛)のような漢字でも可能です。5万字とされる漢字の8割が「意符と音符」を組み合わせた形声文字といわれることから、漢字使用者にとって漢字を別の字の組み合わせで表現するのは馴染み深い考え方と思われます。

GAIJCONVとその機能

    コンバートソフト「GAIJCONV」(DOS版、Mac版はMacGaijconv、GAIJi CONVerter=読みは「ガイジコンブ」)は、漢字コード変換ソフト「KCTRANS」がJISコードに変換し残したGB、またはBig-5の漢字を、合成文字として出力するソフトです。具体的には「KCTRANS」は、変換し残した漢字を出力ファイル中に「KCS形式」として出力します。「GAIJCONV」はこの「KCS形式」まじりのファイルの中の「KCS形式」を合成文字に再変換します。再出力されたテキストは合成文字まじりとなり、日本語のシステム上で「漢字」として認識することができます。

図1 Big-5ファイルからJISファイル(一部合成文字)への変換 Original File(Big-5 encoded)(Big-5ファイル=すべて漢字)     ↓(「KCTRANS」のBig-5→JIS変換) Converted File(S-JIS encoded with KCS)(JISファイル=一部がKCS形式)     ↓(「GAIJCONV」のKCS→合成文字変換) Converted File(S-JIS encoded with Synthe-Kanji)(JISファイル=一部が合成文字)

    また「GAIJCONV」は合成文字まじりのファイルの中に含まれる、合成文字を「KCS形式」に逆変換することもできます。これをさらに「KCTRANS」でGBまたはBig-5の漢字コードに再変換すれば、中国語のシステムでも正しく漢字表示されるテキストが作成できます。漢字インプットメソッドの熟語登録機能で、熟語として合成文字を登録しJIS上で中国語のテキストを作成し、「GAIJCONV」→「KCTRANS」と変換するといった使い方が考えられます。

図2 JISファイル(一部合成文字)からBig-5ファイルへの変換 Original File(S-JIS encoded with Synthe-Kanji)(JISファイル=一部が合成文字)     ↓(「KCTRANS」のBig-5→JIS変換) Converted File(S-JIS encoded with KCS)(JISファイル=一部がKCS形式)     ↓(「GAIJCONV」のKCS→合成文字変換) Converted File(Big-5 encoded)(Big-5ファイル=すべて漢字)

合成文字のルール

    人がコミュニケーションするときにつかう漢字説明は柔軟性がかなりありますが、コンピューターではあらかじめ合成文字のルールを定める必要があります。「GAIJCONV」が取り扱う合成文字には以下のルールがあります。

  • 始端と終端は半角'['、半角']'。
  • 最大文字長は始終端を含めて半角63文字以下。合成文字はもとの字形が了解できる範囲でなるべく簡潔な形で構成する。
  • 合成文字内部の構成要素は全角文字とする。文字合成のため(NULL) 、 '/' 、'<' 、'-' の4演算子(いずれも半角文字)と括弧'['、']'を導入する。

    演算子とその優先順位については以下のように定めます。A、Bは漢字の要素です。

  • (NULL):[AB]→AにBが右接する(Aがへん、Bがつくり)。
    例:[ロ阿]、[イ尓]
  • /:[A/B]→AにBが下接する(Aがかんむりなどの場合)。
    例:[父/巴]、[不/用]
  • <:A<B→AにBが内接する(Aがかまえ、たれなどの場合)。
    例:[气<炎]、[囗<屯]
  • -:[A-B]→A内部の構成要素Bを取り去る。例:[辷狂-一]、[石絳-糸]
  • [ ]:[A[B/C]]→「へん」がA、「つくり」のうえがB、したがC。
    例:[金[自/木]]、[貝[人/示]]
  • 演算子の優先順序は高い方から(NULL) 、 '/' 、'<' 、'-' の順で、優先順位を変える時には'[]'を使用する。
    例:[尸<羊/羊羊]=「羊」を横に2つ並べ「羊」の下に。それを「尸」の内部に
  • ただし簡潔さの観点から[]不要の表現があればそれを優先、また合成文字の簡潔性を妨げやすい'-'は合成文字の最後尾で使用することを原則とする。
    例:○[控<乙-工]、×[才[穴/乙]]、×[[控-エ]<乙]

GAIJCONVのそのほかの機能

    GAIJCONV」には「KCS形式」をS-JISの外字領域($F040-FAFC、1,880文字)のコードとして出力する機能があります。DOS版の場合はフォントは@Niftyの外国語フォーラム(FLM)のLIB-5#125-128にあり、これをインストールしてあるシステムでは、外字として見ることが可能になります。反対に外字を入力して「KCS形式」に変換することも可能です。ただ漢字の同一性についての異見から一部の漢字については「〓」が出力されます。Mac版は外字フォントが用意されておらず、この機能をつかってもゴミが表示されるだけです(Mac版では将来この機能を撤去する可能性があります)。

    合成文字の作成ルールについては上記の@Nifty外国語フォーラム(FLM)で古くから議論があり、JISにない漢字の表現方法としての一定のコンセンサスがあります。詳しくはFLM/MES-7#3310以下などをご参照ください。またFLM/LIB-1#68に同フォーラムでの中国語表記法についてのまとめがあります。