* Anthyライブラリの使用方法の説明 *

ライブラリのオプション	-lanthy -lanthydic
インクルードファイル	anthy/anthy.h
+anthy_ で始まる関数名はライブラリ内部の使用のために予約されている

* データ型 *
anthy_conv_stat 現在の変換の状態を得るために用いる
 文がいくつの文節に分割されたかを得ることができる
anthy_segment_stat 文節の状態を得るために用いる
 文節がいくつの変換候補を持っているかを得ることができる
 文節の長さを得ることができる(テスト用)
anthy_context_t 変換のコンテキストを識別するために用いる
 ポインタ型である
char * エンコードにはEUC-JPを利用する。

* 関数の概説 *
初期化関数
 anthy_init 		Anthyの初期化
 anthy_conf_override 	設定の更新
 anthy_set_personality	パーソナリティの設定
 anthy_quit		Anthyの終了
コンテキストの管理
 anthy_create_context 	変換コンテキストの作成
 anthy_reset_context 	変換コンテキストのリセット
 anthy_release_context 	変換コンテキスト解放
コンテキストに対する操作
 anthy_set_string	変換文字列の設定
 anthy_resize_segment	文節の伸縮
変換結果の取得
 anthy_get_stat		変換結果の文節数の取得
 anthy_get_segment_stat	文節に対する候補数の取得
 anthy_get_segment	候補の取得
結果のコミット
 anthy_commit_segment	変換結果のコミット
その他
 anthy_print_context	変換コンテキストの内容の表示
 anthy_get_version_string	Anthyのバージョンを取得する
 anthy_set_logger	ログ出力用の関数をセットする

* 各関数の説明 *
 int anthy_init(void)
 引数: 無し
 返り値: 0 なら成功 -1なら失敗
 anthy全体の初期化を行う。anthy_conf_override()以外の関数は
 初期化してから呼ばないといけない。


 void anthy_conf_override(char *var, char *val);
 引数: var 変数名
       val 値
 返り値: 無し
 *各変数については述べない。
 *anthy_initの前に呼ぶことによって、動作を変えることもできる。


 int anthy_set_personality(char *id);
 引数: var 変数名
 返り値: 成功時には0、失敗時には-1
 *カレントpersonalityを変更する。最初にcontextを作成するまでに
 一度だけ設定できる。
 *使用できる文字はファイル名に使える文字と同じ


 void anthy_quit(void);
 引数: 無し
 返り値: 無し
 *Anthy library内で確保したメモリなどのリソースを解放する
 *現時点では実装されていない
 *アプリケーション終了時に呼出す必要は無い


 anthy_context_t anthy_create_context(void);
 引数: 無し
 返り値: 作成したコンテキスト 失敗なら0
 変換コンテキストを作成する。


 void anthy_reset_context(anthy_context_t ac);
 引数: ac コンテキスト
 返り値: 無し
 変換コンテキストをリセットする。


 void anthy_release_context(anthy_context_t ac);
 引数: ac コンテキスト
 返り値: 無し
 変換コンテキストを解放する。
 このコンテキストはそれ以降使えない。


 int anthy_set_string(anthy_context_t ac, char *str);
 引数: ac コンテキスト
       str 変換対象の文字列
 返り値: 成功時には0、失敗時には-1
 変換コンテキストに文字列を設定する。
 そのコンテキストに関連するそれまでの情報は破棄される。
 strはEUC-JPで与える。


 void anthy_resize_segment(anthy_context_t ac, int nth, int resize);
 引数: ac コンテキスト
       nth 文節のインデックス 0から始まる
       resize 文節を何文字伸ばすか。
 返り値: 無し
 文節を伸縮する。
 resizeに負の数を与えることによって文節を縮めることができる。
 無効な操作の場合は無視される。


 int anthy_get_stat(anthy_context_t ac, struct anthy_conv_stat *cs);
 引数: ac コンテキスト
       cs anthy_conv_stat
 返り値: 成功の場合は0
 現在のコンテキストの状態を取得する。
 コンテキストに設定した文字列がいくつの文節に分割されたかを知ることができる。


 int anthy_get_segment_stat(anthy_context_t ac, int n, struct anthy_segment_stat *ss);
 引数: ac コンテキスト
       n 文節の番号 0から始まる
       ss anthy_segment_stat
 返り値: 成功の場合は0
 現在のコンテキストのn番目の文節の状態を取得する。
 その文節にいくつの候補があるかを知ることができる。


 int anthy_get_segment(anthy_context_t ac, int s, int n, char *buf, int len);
 引数: ac コンテキスト
       s 文節の番号 0から始まる
       n 候補の番号 0から始まる
       buf 候補の文字列を取得するバッファ
       len バッファの長さ
       nにNTH_UNCONVERTED_CANDIDATEを指定すると
       変換前の文字列を得ることができる
 返り値: 失敗の場合は -1、成功の場合は文字数(nullは含まない)を返す
 s番目の文節のn番目の候補を取得することができる。結果はbuf中に最後のnull
 terminateまで含めてlenバイトまで確保される。
 もしbuf が nullであれば結果のコピーは行われない。(これを利用して確保すべき
 バッファのサイズを取得すると良い)


 int anthy_commit_segment(anthy_context_t ac, int s, int n);
 引数: ac コンテキスト
       s 文節の番号
       n 候補の番号
 コンテキスト中のs番目の文節をn番目の候補で確定する。すべての文節が
 確定したときに学習などがおこなわれる。


 int anthy_print_context(anthy_context_t ac);
 引数: ac コンテキスト
 変換コンテキストの内容を標準出力に書き出す
 形式は実装依存


 char *anthy_get_version_string (void);
 返り値: Anthyのバージョンを表す文字列
 Anthyのバージョンを取得する


 void anthy_set_logger(anthy_logger logger, int level);
