1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
|
* Anthyライブラリの使用方法の説明 *
ライブラリのオプション -lanthy -lanthydic
(もしくはpkg-configでanthyを指定する)
インクルードファイル anthy/anthy.h
+anthy_ で始まる関数名はライブラリ内部の使用のために予約されている
* データ型 *
anthy_conv_stat 現在の変換の状態を得るために用いる
文がいくつの文節に分割されたかを得ることができる
anthy_segment_stat 文節の状態を得るために用いる
文節がいくつの変換候補を持っているかを得ることができる
文節の長さを得ることができる(テスト用)
anthy_prediction_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_set_prediction_string 予測入力の文字列の設定
anthy_get_prediction_stat 予測入力の状態の取得
anthy_get_prediction 予測文字列の取得
anthy_commit_prediction 予測文字列の確定
逆変換
anthy_set_reconversion_mode 逆変換モードの設定
エンコーディング
anthy_context_set_encoding エンコーディングの設定
その他
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を指定すると
変換前のひらがな文字列を得ることができる(再変換
(anthy_set_string参照)を行なった場合、一度ひらがなに
変換された文字列が対象となる)
他にも次の候補番号が指定できる
NTH_KATAKANA_CANDIDATE カタカナの候補
NTH_HIRAGANA_CANDIDATE 平仮名の候補
NTH_HALFKANA_CANDIDATE 半角カナの候補
NTH_HALFKANA_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_set_prediction_string(anthy_context_t ac, const char *str);
int anthy_get_prediction_stat(anthy_context_tm struct anthy_prediction_stat *aps);
int anthy_get_prediction(anthy_context_t ac, int nth, char *buf, int buf_len);
int anthy_commit_prediction(anthy_context_t ac, int nth);
int anthy_set_reconversion_mode(anthy_context_t ac, int mode);
引数: ac コンテキスト
mode 逆変換のモード
modeには次の定数が指定できる。
ANTHY_RECONVERT_AUTO 漢字が混じっている場合に逆変換を行なう
ANTHY_RECONVERT_DISABLE 常に順変換を行なう
ANTHY_RECONVERT_ALWAYS 常に逆変換を行なう
デフォルトではANTHY_RECONVERT_AUTOを指定した状態で動作する
返り値: 設定されたモード
*指定したコンテキストの逆変換の利用方法を設定する。
int anthy_context_set_encoding(anthy_context_t ac, int encoding);
引数: ac コンテキスト
encoding エンコーディング
encodingには次のいずれかの定数を指定する。
ANTHY_COMPILED_ENCODING (現時点では動作は不定)
ANTHY_EUC_JP_ENCODING EUC-JPを使用します
ANTHY_UTF8_ENCODING UTF8を使用します
返り値: 設定されたエンコーディング
*変換コンテキストのAPI呼び出しに使用する文字列のエンコーディングを
指定する。
*デフォルトではANTHY_EUC_JP_ENCODINGが指定された状態で動作する
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);
|