
1: * Anthyライブラリの使用方法の説明 * 2: 3: ライブラリのオプション -lanthy -lanthydic 4: (もしくはpkg-configでanthyを指定する) 5: インクルードファイル anthy/anthy.h 6: +anthy_ で始まる関数名はライブラリ内部の使用のために予約されている 7: 8: * データ型 * 9: anthy_conv_stat 現在の変換の状態を得るために用いる 10: 文がいくつの文節に分割されたかを得ることができる 11: anthy_segment_stat 文節の状態を得るために用いる 12: 文節がいくつの変換候補を持っているかを得ることができる 13: 文節の長さを得ることができる(テスト用) 14: anthy_prediction_stat 予測候補の数を得ることができる 15: anthy_context_t 変換のコンテキストを識別するために用いる 16: ポインタ型である 17: char * デフォルトではエンコードには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);