1* Anthyライブラリの使用方法の説明 *
2
3ライブラリのオプション	-lanthy -lanthydic
4(もしくはpkg-configでanthyを指定する)
5インクルードファイル	anthy/anthy.h
6+anthy_ で始まる関数名はライブラリ内部の使用のために予約されている
7
8* データ型 *
9anthy_conv_stat 現在の変換の状態を得るために用いる
10 文がいくつの文節に分割されたかを得ることができる
11anthy_segment_stat 文節の状態を得るために用いる
12 文節がいくつの変換候補を持っているかを得ることができる
13 文節の長さを得ることができる(テスト用)
14anthy_prediction_stat 予測候補の数を得ることができる
15anthy_context_t 変換のコンテキストを識別するために用いる
16 ポインタ型である
17char * デフォルトではエンコードにはEUC-JPを利用する。
18
19* 関数の概説 *
20初期化関数
21 anthy_init                   Anthyの初期化
22 anthy_conf_override          設定の更新
23 anthy_set_personality        パーソナリティの設定
24 anthy_quit                   Anthyの終了
25コンテキストの管理
26 anthy_create_context         変換コンテキストの作成
27 anthy_reset_context          変換コンテキストのリセット
28 anthy_release_context        変換コンテキスト解放
29コンテキストに対する操作
30 anthy_set_string             変換文字列の設定
31 anthy_resize_segment         文節の伸縮
32変換結果の取得
33 anthy_get_stat               変換結果の文節数の取得
34 anthy_get_segment_stat       文節に対する候補数の取得
35 anthy_get_segment            候補の取得
36結果のコミット
37 anthy_commit_segment	      変換結果のコミット
38予測入力
39 anthy_set_prediction_string  予測入力の文字列の設定
40 anthy_get_prediction_stat    予測入力の状態の取得
41 anthy_get_prediction         予測文字列の取得
42 anthy_commit_prediction      予測文字列の確定
43逆変換
44 anthy_set_reconversion_mode  逆変換モードの設定
45エンコーディング
46 anthy_context_set_encoding   エンコーディングの設定
47その他
48 anthy_print_context          変換コンテキストの内容の表示
49 anthy_get_version_string     Anthyのバージョンを取得する
50 anthy_set_logger             ログ出力用の関数をセットする
51
52* 各関数の説明 *
53 int anthy_init(void)
54 引数: 無し
55 返り値: 0 なら成功 -1なら失敗
56 anthy全体の初期化を行う。anthy_conf_override()以外の関数は
57 初期化してから呼ばないといけない。
58
59
60 void anthy_conf_override(char *var, char *val);
61 引数: var 変数名
62       val 値
63 返り値: 無し
64 *各変数については述べない。
65 *anthy_initの前に呼ぶことによって、動作を変えることもできる。
66
67
68 int anthy_set_personality(char *id);
69 引数: var 変数名
70 返り値: 成功時には0、失敗時には-1
71 *カレントpersonalityを変更する。最初にcontextを作成するまでに
72 一度だけ設定できる。
73 *使用できる文字はファイル名に使える文字と同じ
74
75
76 void anthy_quit(void);
77 引数: 無し
78 返り値: 無し
79 *Anthy library内で確保したメモリなどのリソースを解放する
80 *現時点では実装されていない
81 *アプリケーション終了時に呼出す必要は無い
82
83
84 anthy_context_t anthy_create_context(void);
85 引数: 無し
86 返り値: 作成したコンテキスト 失敗なら0
87 *変換コンテキストを作成する。
88
89
90 void anthy_reset_context(anthy_context_t ac);
91 引数: ac コンテキスト
92 返り値: 無し
93 *変換コンテキストをリセットする。
94
95
96 void anthy_release_context(anthy_context_t ac);
97 引数: ac コンテキスト
98 返り値: 無し
99 *変換コンテキストを解放する。
100 *このコンテキストはそれ以降使えない。
101
102
103 int anthy_set_string(anthy_context_t ac, char *str);
104 引数: ac コンテキスト
105       str 変換対象の文字列
106 返り値: 成功時には0、失敗時には-1
107 *変換コンテキストに文字列を設定する。
108 *そのコンテキストに関連するそれまでの情報は破棄される。
109 *strはEUC-JPで与える。
110 *漢字かな混じり文を渡した場合、各漢字を一旦ひらがなに変換した上で
111  再変換を行う。
112
113
114 void anthy_resize_segment(anthy_context_t ac, int nth, int resize);
115 引数: ac コンテキスト
116       nth 文節のインデックス 0から始まる
117       resize 文節を何文字伸ばすか。
118 返り値: 無し
119 *文節を伸縮する。
120 *resizeに負の数を与えることによって文節を縮めることができる。
121 *無効な操作の場合は無視される。
122
123
124 int anthy_get_stat(anthy_context_t ac, struct anthy_conv_stat *cs);
125 引数: ac コンテキスト
126       cs anthy_conv_stat
127 返り値: 成功の場合は0
128 *現在のコンテキストの状態を取得する。
129 *コンテキストに設定した文字列がいくつの文節に分割されたかを知ることができる。
130
131
132 int anthy_get_segment_stat(anthy_context_t ac, int n, struct anthy_segment_stat *ss);
133 引数: ac コンテキスト
134       n 文節の番号 0から始まる
135       ss anthy_segment_stat
136 返り値: 成功の場合は0
137 *現在のコンテキストのn番目の文節の状態を取得する。
138 *その文節にいくつの候補があるかを知ることができる。
139
140
141 int anthy_get_segment(anthy_context_t ac, int s, int n, char *buf, int len);
142 引数: ac コンテキスト
143       s 文節の番号 0から始まる
144       n 候補の番号 0から始まる
145       buf 候補の文字列を取得するバッファ
146       len バッファの長さ
147       nにNTH_UNCONVERTED_CANDIDATEを指定すると
148       変換前のひらがな文字列を得ることができる(再変換
149       (anthy_set_string参照)を行なった場合、一度ひらがなに
150       変換された文字列が対象となる)
151       他にも次の候補番号が指定できる
152        NTH_KATAKANA_CANDIDATE カタカナの候補
153        NTH_HIRAGANA_CANDIDATE 平仮名の候補
154        NTH_HALFKANA_CANDIDATE 半角カナの候補
155       NTH_HALFKANA_CANDIDATEに限り確定しても学習は行われない。
156 返り値: 失敗の場合は -1、成功の場合は文字数(nullは含まない)を返す
157 *s番目の文節のn番目の候補を取得することができる。
158 *結果はbuf中に最後のnull terminateまで含めてlenバイトまで確保される。
159 *もしbuf が nullであれば結果のコピーは行われない。
160  (これを利用して確保すべきバッファのサイズを取得すると良い)
161
162
163 int anthy_commit_segment(anthy_context_t ac, int s, int n);
164 引数: ac コンテキスト
165       s 文節の番号
166       n 候補の番号
167 *コンテキスト中のs番目の文節をn番目の候補で確定する。
168 *すべての文節が確定したときに学習などがおこなわれる。
169
170
171 int anthy_set_prediction_string(anthy_context_t ac, const char *str);
172 int anthy_get_prediction_stat(anthy_context_tm struct anthy_prediction_stat *aps);
173 int anthy_get_prediction(anthy_context_t ac, int nth, char *buf, int buf_len);
174 int anthy_commit_prediction(anthy_context_t ac, int nth);
175
176
177 int anthy_set_reconversion_mode(anthy_context_t ac, int mode);
178 引数: ac コンテキスト
179       mode 逆変換のモード
180       modeには次の定数が指定できる。
181       ANTHY_RECONVERT_AUTO 漢字が混じっている場合に逆変換を行なう
182       ANTHY_RECONVERT_DISABLE 常に順変換を行なう
183       ANTHY_RECONVERT_ALWAYS 常に逆変換を行なう
184       デフォルトではANTHY_RECONVERT_AUTOを指定した状態で動作する
185 返り値: 設定されたモード
186 *指定したコンテキストの逆変換の利用方法を設定する。
187
188
189 int anthy_context_set_encoding(anthy_context_t ac, int encoding);
190 引数: ac コンテキスト
191       encoding エンコーディング
192       encodingには次のいずれかの定数を指定する。
193       ANTHY_COMPILED_ENCODING (現時点では動作は不定)
194       ANTHY_EUC_JP_ENCODING EUC-JPを使用します
195       ANTHY_UTF8_ENCODING UTF8を使用します
196 返り値: 設定されたエンコーディング
197 *変換コンテキストのAPI呼び出しに使用する文字列のエンコーディングを
198  指定する。
199 *デフォルトではANTHY_EUC_JP_ENCODINGが指定された状態で動作する
200
201
202 int anthy_print_context(anthy_context_t ac);
203 引数: ac コンテキスト
204 変換コンテキストの内容を標準出力に書き出す
205 形式は実装依存
206
207
208 char *anthy_get_version_string (void);
209 返り値: Anthyのバージョンを表す文字列
210 Anthyのバージョンを取得する
211
212
213 void anthy_set_logger(anthy_logger logger, int level);
214