目次へ

CONCORD一字索引作成ツール

Christian Wittern著


  1. CONCORDの機能
  2. 一字索引の書式
  3. 初期設定ファイル
  4. 出力されるファイル
-----------> English text

CONCORDの概要

禅知識ベース計画の一環として作られたこのツールは、漢字だけを含むテキスト・ファイルから自動的に一字索引を生成することができる。ソース・ファイルはJISコードおよびBIG5のいずれでも入力できる。 IRIZ禅知識ベースに基づく漢字への参照も認識されている。
DOSとMACバージョンの両方を用意した。それぞれのバージョンは、タグ付けのテキストを生成し、このCDの中に提供されているワード6用のマクロを活用すれば、三つの索引(画数、部首、四角号碼)を含む美しいレイアウトの一字索引に転換させることができる。さらに検索対象の漢字はヘッダに表示さられている。
このプログラムを使うために、次のインストール作業が必要である:

  1. 以下のリストを参考に、所有ハードウエアに適したファイルをインストールする
  2. 漢字ベース(KanjiBase)をシステムにインストールする
  3. そのファイルの場所を示すディレクトリ/フォルダをconcord.iniという初期設定ファイルに記す
  4. Mac用およびWindows用のワード(Word)のための漢字ツール(KanjiTools)をインストールする
それが済んだら、形式をconcord.ini初期設定ファイルの中に記録することによって、自分のニーズに合わせた出力結果が得られる。

ZenBaseCD 1の中から必要なDOS用のファイルは:

ZenBaseCD 1の中から必要なMAC用のファイルは:

1. CONCORDの機能

CONCORDはテキスト・ファイルを一字ずつ読取り、一字ごとに一行出力する。その行は対象の字、周りの文脈の文字、場所を示す情報およびいくつかのソート用のキーを含んでいる。出力された行はさらにソートされて、ワープロ・ソフトの読取り可能なファイルに書込まれる。ワープロ・ソフトは後にこの書式を解読して、そのまま印字できるファイルを生成する。 このような出力ルーチンをWindowsのWord用のために作成した。それはWindows用・漢字ツールシリーズの中に含まれている。

CONCORD用のファイルを準備する

CONCORDは対象のファイルに関して、いくつかのことを前提している。そのため、処理を成功させるには、原テキストは書式規定に従わなくてはならない。

  1. 頁番号と行番号はFMTCNVツールが認識できる三つの書式(RAW、APP、またはTAB)の内の一つでなければならない。
  2. テキストの区分に関する他の情報をCONCORD.INI初期設定ファイルに書いておくことができる。
  3. テキストには、特定の情報を示すヘッダを表示させることができる。ただし各ヘッダの最初の文字は「#」でなければならない(たとえばZenBase CD 1に含まれるテキストを参照)。他の文字を使用すると、望ましくない結果になってしまうおそれがある。
  4. テキストはSGML形式のタグを含むことが可能。そのようなタグ、そして二つのタグの間にある文章は無視される。しかし、そのタグが区分マークとして定義された場合は例外である(以下それに関する説明あり)。 将来のCONCORDのバージョンでは、そのようなタグを使用することを検討したい。

2. 一字索引の書式

一字索引の基本的なレイアウトは決っている。各行には検索された字の左と右に、いくつかの文字が出力され、原テキストにあった場所を示す参考情報が出力される。索引の各頁には、この頁の上でどの字が検索の対象なのかという情報はヘッダに表示されている。 CONCORDは三つの検字表(部首番号、画数、四角号碼)を生成する。

他のいくつかのパラメータは必要に応じて変えることができる。たとえば各頁の行数、各出力行の文字数など。そのような設定は、プログラムが起動するときに一番最初に読取られるCONCORD.INIファイルに記しておく。


3. 初期設定ファイル(CONCORD.INI)

急ぎの場合、CONCORD.INIファイルに何も書込まず、単にプログラムをデフォルト・モードで使用すればいい。なお出力結果が希望どおりでなければ、以下のガイドラインにしたがって必要に応じてCONCORD.INIファイルを変えること。

三つの違う初期設定ファイルの使用によって CONCORDに特定の指示を与えることができる。

  1. プログラムの所在ディレクトリ/フォルダと同じディレクトリ/フォルダにある総合の初期設定を指示するファイル。このファイルはCONCORD.INIと名付けられ、一番最初に読取られている。
  2. カレント・ディレクトリ/フォルダにあるローカル初期設定を指示するファイル。このファイルもCONCORD.INIと名付けられ、次に読取られている。
  3. カレント・ディレクトリ/フォルダにあるテキスト固有のファイル。このファイル名はテキスト・ファイル名の最初の部分を読取り、それにINIという拡張を足して付けられる。そのため、原テキストのファイル名の最後にINIという文字を使わないこと。このファイルは最後に読取られているので、それまでの設定より優先される。

形式と可能な設定は以上の三つのファイルでは同じである。プログラムが三つのファイルとも見つけることができなかった場合、デフォルト・モードを使用することになっている。

次にCONCORD.INIの一つの例を挙げて、各行の下にコメントを付した:

directory=d:\cefneu

この行はKANJIBASE用のファイルがどこにあるかを表す。通常はKANJIBAS.INIと同じ場所を示す。
lines=37
この行は各頁の行数を表す。ヘッダおよびフッターは行数に含まれていない。
chars=5
この行は検索された字の左と右に、いくつの文字を出力するかを表す。
plaintext=NO
この行はワープロ出力用(たとえばワードへのインポート用)のタグを付ける必要の有無を表す。タグの少ない非書式テキストでよければ、YESと書く。
sep= -
この行は「ハイフン」をテキスト参照の印として選んだ例を表す。頁番号と行番号を区分する印がない場合もセパレータが必要。たとえば大正大蔵経への参照で568a27が使われている時、ここで指定したセパレータによって568-27という出力結果が得られる。これは写本への参照を表すのに使える(10-1は10頁の1行目を示す)。このような特定のセパレータが必要でなければ、「sep=」で始まる行の前に「 #」を入れればいい。
div=<DIV n=$n>
この行にはテキストにおける数字区分のセパレータがあることを示す。「$n」とは、どんな数字にでも置換えられるテンプレート(ひな型)を表す。数字区分はたいていテキストの構成を反映し、段落単位、もしくは上のレベルを示す。たとえば公案集の場合、各則の番号を場所参照の番号の前に書いておくことができる。その区分を示す数字は必ず場所参照の数字の前に挿入し、その後ろに「コロン」を付ける。たとえば、10:435a22と書けば、435a22頁にある第10則という意味になる。この区分に関する情報を出力させるため、原テキストの適当な箇所 ノ(以上の例であれば)<DIV n=10>という印を記す必要がある。最初の公案であれば、同じように<DIV n=1>と書く。

4. 出力ファイル

出力ファイルは、ワープロによって解読されるタグをいくつか含んでいるので、そのまま印字しないほうが良い。このファイルの一般書式は次の通りになる:

  1. ファイル全体は四つの部分に分けられている:一字索引の本文と三つの索引検字表。その四つの部分は以下のタグでマークされている。 各区分の最後は、その終わりを表す</DIV>というタグで区切られている。
  2. 各頁の始まりは<PAGE n=$n>($nは頁番号を代表する)というタグで示されている。その直後に来るのは<HEAD>(ある漢字)</HEAD>というタグで、その頁より掲載されている検索対象の漢字を並べている。
  3. 最後に言及するタグは <COL> で、改コラムの場所を示す。

出力ファイルの書式を管理するワープロ・ソフトはそれぞれのタグを読取り、通常そのプログラムが認識できる独自の命令に変換することを必要とする。その変換作業をするため、「検索・置換え」機能を使用するか、それを行うマクロを作成する。Windows用WordおよびMac用Word6のためのマクロはTOOLSディレクトリ/フォルダに入っている。なお、CJK LaTexへの変換スクリプトを作成する予定である。その他のアプリケーションへの変換スクリプトを提供していただければありがたい。


著者Christian Wittern
最終更新 1995年05月22日