kakasi-2.2.5w-lib3b.diffについて

1999/05/09
野首貴嗣 <knok@daionet.gr.jp>

・目的

これまで、CやperlなどからKAKASIを使うためには、実行ファイルの入出力を
利用する方法しかありませんでした。そのため、実行時のパフォーマンスや使
い勝手に少々難がありました。
このパッチは、KAKASIをライブラリ化し、より勘弁に利用でき、かつパフォー
マンスを向上させることを目的に作成しました。

・作成方法

ライブラリの作成に当たっては、筑波インターネットクラブの高橋裕信さんが
作成されたオリジナルのKAKASI-2.2.5のソースと、京都大学の馬場肇さんが作
成されたKAKASI-2.2.5用わかち書きパッチが必要です。

KAKASI-2.2.5のソースを展開し、わかち書きパッチを当てた上で、ディレクト
リkakasi-2.2.5上で

$ patch -p1 < kakasi-2.2.5w-lib3b.diff

と実行し、パッチを適用して下さい。あとは、通常のmake手順と同じです。

以下の環境で動作を確認しています。
Linux 2.2.9 + gcc 2.7.2.3 + binutils 2.9.1 + glibc 2.0.7t + wcsmbs4.1

・インストール

然るべきユーザ権限で、libkakasi.a, libkakasi.so, libkakasi.hを適当なディ
レクトリにコピーして下さい。

(注) `make install'ではインストールされません。

・使い方

次の3つの関数が利用できます。

int kakasi_getopt_argv(int, char **)

初期化を行います。kakasiを起動するときと同じ引数を指定して下さい。以下
の例では`kakasi -w'を実行したのと同じ設定で初期化されます。

char *argv[] = {"kakasi", "-w"};
kakasi_getopt_argv(2, argv);

初期化に成功すれば0を、失敗すれば1を返します。

char *kakasi_do(char *)

処理を行います。引数には、処理の対象となる文字列へのポインタを渡します。
処理結果は、文字列へのポインタとして返されます。返されたポインタは、
kakasi_do内部でmallocされたメモリ領域です。不要になった時点でfreeする
必要があります。

int kakasi_close_kanwadict()

KAKASIがデフォルトで使用する辞書をクローズします。kakasi_getopt_argvを
複数回呼び出す場合には、その前にかならずこの関数を呼ばなくてはなりません。
処理に成功した場合は0を、失敗した場合は1を返します。

・著作権について

Copyright 1999 NOKUBI Takatsugu <knok@daionet.gr.jp>

このライブラリはKAKASIから派生したものなので、KAKASIと同じくGPLの元で
の再配付、改変が認められています。詳細については、KAKASIのソースに含ま
れるCOPYINGというファイルを参照して下さい。

・免責

このライブラリは無保証です。このライブラリを利用することによって発生す
るいかなる事態について、作者は一切の責任を負いません。

・謝辞

KAKASIのオリジナルの作者である高橋裕信さん、わかち書きパッチの作者であ
る馬場肇さんに感謝いたします。
バグレポートをくださった広瀬さん、藤原さんに感謝いたします。
