1 /* vim:set ts=8 sts=4 sw=4 tw=0: */ 2 /* 3 * migemo.h - 4 * 5 * Written By: MURAOKA Taro <koron.kaoriya@gmail.com> 6 */ 7 8 #ifndef MIGEMO_H 9 #define MIGEMO_H 10 11 #if defined(_WIN32) && !defined(__MINGW32__) && !defined(__CYGWIN32__) 12 # define MIGEMO_CALLTYPE __stdcall 13 #else 14 # define MIGEMO_CALLTYPE 15 #endif 16 17 #define MIGEMO_VERSION "1.3" 18 19 /* for migemo_load() */ 20 #define MIGEMO_DICTID_INVALID 0 21 #define MIGEMO_DICTID_MIGEMO 1 22 #define MIGEMO_DICTID_ROMA2HIRA 2 23 #define MIGEMO_DICTID_HIRA2KATA 3 24 #define MIGEMO_DICTID_HAN2ZEN 4 25 #define MIGEMO_DICTID_ZEN2HAN 5 26 27 /* for migemo_set_operator()/migemo_get_operator(). see: rxgen.h */ 28 #define MIGEMO_OPINDEX_OR 0 29 #define MIGEMO_OPINDEX_NEST_IN 1 30 #define MIGEMO_OPINDEX_NEST_OUT 2 31 #define MIGEMO_OPINDEX_SELECT_IN 3 32 #define MIGEMO_OPINDEX_SELECT_OUT 4 33 #define MIGEMO_OPINDEX_NEWLINE 5 34 35 /* see: rxgen.h */ 36 typedef int (*MIGEMO_PROC_CHAR2INT)(const unsigned char*, unsigned int*); 37 typedef int (*MIGEMO_PROC_INT2CHAR)(unsigned int, unsigned char*); 38 39 /** 40 * Migemo�I�u�W�F�N�g�Bmigemo_open()�ō쐬����Amigemo_close�Ŕj�������B 41 */ 42 typedef struct _migemo migemo; 43 44 #ifdef __cplusplus 45 extern "C" { 46 #endif 47 48 migemo* MIGEMO_CALLTYPE migemo_open(const char* dict); 49 void MIGEMO_CALLTYPE migemo_close(migemo* object); 50 unsigned char* MIGEMO_CALLTYPE migemo_query(migemo* object, 51 const unsigned char* query); 52 void MIGEMO_CALLTYPE migemo_release(migemo* object, 53 unsigned char* string); 54 55 int MIGEMO_CALLTYPE migemo_set_operator(migemo* object, int index, 56 const unsigned char* op); 57 const unsigned char* MIGEMO_CALLTYPE migemo_get_operator(migemo* object, 58 int index); 59 void MIGEMO_CALLTYPE migemo_setproc_char2int(migemo* object, 60 MIGEMO_PROC_CHAR2INT proc); 61 void MIGEMO_CALLTYPE migemo_setproc_int2char(migemo* object, 62 MIGEMO_PROC_INT2CHAR proc); 63 64 int MIGEMO_CALLTYPE migemo_load(migemo* obj, int dict_id, 65 const char* dict_file); 66 int MIGEMO_CALLTYPE migemo_is_enable(migemo* obj); 67 68 #ifdef __cplusplus 69 } 70 #endif 71 72 #endif /* MIGEMO_H */ 73