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