?? gblt_def.h
字號:
//Create at 2003-5-20 21:07:48 by abing#ifndef __EBEN_DEFINES_H_#define __EBEN_DEFINES_H_#define EN_INPUT_MAX_LEN 31#define EN_WORD_MAX_LEN EN_INPUT_MAX_LEN#define EN_CANDIDATE_MAX_COUNT 10#define EN_MAX_DESIRE_COUNT EN_CANDIDATE_MAX_COUNT#define EN_MAX_DESIRE_LEN 255#ifndef LATIN_ENCODE_LENGTH#define LATIN_ENCODE_LENGTH 2#endif/************************************************************************************ ********************************Type Define***************************************** ************************************************************************************/#ifndef GB_TYPE_DEFINE#define GB_TYPE_DEFINE/* adding for GinWave */#ifndef _gb_far#ifdef _C166#define _gb_far _huge#else#define _gb_far#endif#endif#ifndef DEFINED_GBCHAR#define DEFINED_GBCHAR//#if LATIN_ENCODE_LENGTH == 2#if LATIN_ENCODE_LENGTH == 2typedef unsigned short GBCHAR;typedef unsigned short GBUCHAR;#else //LATIN_ENCODE_LENGTH == 2typedef char GBCHAR;typedef unsigned char GBUCHAR;#endif //LATIN_ENCODE_LENGTH == 2typedef GBUCHAR GBCHARU;#endif //DEFINED_GBCHARtypedef unsigned char GBUINT8;typedef signed char GBINT8;typedef unsigned char GBBYTE;typedef unsigned short GBWCHAR;typedef char GBACHAR;typedef unsigned char GBUACHAR;typedef GBWCHAR * GBPWCHAR;typedef GBWCHAR _gb_far * GBLPWCHAR;typedef const GBWCHAR * GBPCWCHAR;typedef const GBWCHAR _gb_far * GBLPCWCHAR;typedef GBACHAR * GBPACHAR;typedef GBACHAR _gb_far * GBLPACHAR;typedef const GBACHAR * GBPCACHAR;typedef const GBACHAR _gb_far * GBLPCACHAR;typedef GBACHAR _gb_far const * const * GBPCLPCACHAR;typedef GBUACHAR * GBPUACHAR;typedef GBUACHAR _gb_far * GBLPUACHAR;typedef const GBUACHAR * GBPCUACHAR;typedef const GBUACHAR _gb_far * GBLPCUACHAR; typedef short GBINT16;typedef long GBINT32;typedef unsigned short GBUINT16;typedef unsigned long GBUINT32; typedef int GBINT;typedef unsigned int GBUINT; typedef GBCHAR * GBPCHAR;typedef GBUCHAR * GBPUCHAR;typedef GBINT16 * GBPINT16;typedef GBUINT16 * GBPUINT16;typedef GBINT32 * GBPINT32;typedef GBUINT32 * GBPUINT32; typedef GBCHAR _gb_far * GBLPCHAR;typedef GBUCHAR _gb_far * GBLPUCHAR;typedef GBINT16 _gb_far * GBLPINT16;typedef GBUINT16 _gb_far * GBLPUINT16;typedef GBINT32 _gb_far * GBLPINT32;typedef GBUINT32 _gb_far * GBLPUINT32; typedef const unsigned short * GBPCUSHORT;typedef unsigned short * GBPUSHORT;typedef const GBCHAR * GBPCCHAR;typedef const GBINT16 * GBPCINT16;typedef const GBUINT16 * GBPCUINT16;typedef const GBINT32 * GBPCINT32;typedef const GBUINT32 * GBPCUINT32; typedef const GBCHAR _gb_far * GBLPCCHAR;typedef const GBUCHAR _gb_far * GBLPCUCHAR;typedef const GBINT16 _gb_far * GBLPCINT16;typedef const GBUINT16 _gb_far * GBLPCUINT16;typedef const GBINT32 _gb_far * GBLPCINT32;typedef const GBUINT32 _gb_far * GBLPCUINT32;/**********/typedef const unsigned short _gb_far * GBLPCUSHORT;typedef unsigned short _gb_far * GBLPUSHORT;typedef GBBYTE * GBPBYTE;typedef GBBYTE _gb_far * GBLPBYTE;typedef const GBBYTE * GBPCBYTE;typedef const GBBYTE _gb_far * GBLPCBYTE;typedef int * GBPINT;typedef unsigned int * GBPUINT;typedef int _gb_far * GBLPINT;typedef unsigned int _gb_far * GBLPUINT;typedef void * GBPVOID;typedef const void * GBPCVOID;typedef void _gb_far * GBLPVOID;typedef const void _gb_far * GBLPCVOID;//返回值typedef GBINT GBRETURN ;/** * 應(yīng)用上面的類型 */typedef GBUINT16 GB_CHN_ISN;typedef GBBYTE ENCODING_TYPE;typedef GBLPCBYTE pENCODING_TYPE;#endif#if LATIN_ENCODE_LENGTH == 2#define gb_strncpy wcsncpy#define gb_strlen wcslen#define gb_strcpy wcscpy#define gb_strcmp wcscmp#define gb_strchr wcschr#define gb_strstr wcsstr //use in generator#define gb_strncmp wcsncmp#define gb_strcat wcscat#define gb_strcspn wcscspn#define gb_strtok wcstok //use in generator#define gb_strspn wcsspn //use in generator#define gb_strpbrk wcspbrk //not use#define gb_sprintf swprintf //use in generator#define gb_scanf wscanf //use in generator#define gb_atoi _wtoi //use in generator#define GBSTR(a) L##a#else //LATIN_ENCODE_LENGTH == 2#ifndef _C166#define gb_strncpy strncpy#define gb_strlen strlen#define gb_strcpy strcpy#define gb_strcmp strcmp#define gb_strchr strchr#define gb_strstr strstr#define gb_strncmp strncmp#define gb_strcat strcat#define gb_strpbrk strpbrk#define gb_strcspn strcspn#define gb_strtok strtok#define gb_strspn strspn#else //_C166#define gb_strcat _hstrcat#define gb_strcmp _hstrcmp#define gb_stricmp _hstricmp#define gb_strcpy _hstrcpy#define gb_strlen _hstrlen#define gb_strchr _hstrchr#define gb_strncpy _hstrncpy#define gb_strncmp _hstrncmp#define gb_sprintf _hsprintf#define gb_strstr _hstrstr#define gb_strpbrk _hstrpbrk#define gb_strcspn _hstrcspn#define gb_strtok _hstrtok#define gb_strspn _hstrspn#define gb_strncat _hstrncat#endif //_C166#define gb_atoi atoi#define gb_sprintf sprintf#define gb_scanf scanf#define GBSTR(a) a#endif //LATIN_ENCODE_LENGTH == 2#ifndef DEFINED_GBCHAR#define DEFINED_GBCHAR 1#if LATIN_ENCODE_LENGTH == 2typedef unsigned short GBCHAR;typedef unsigned short GBCHARU;#else //LATIN_ENCODE_LENGTH == 2typedef char GBCHAR;typedef unsigned char GBCHARU;#endif //LATIN_ENCODE_LENGTH == 2typedef GBCHARU GBUCHAR;#endif //#ifndef DEFINED_GBCHARtypedef GBCHAR EN_WORD[EN_INPUT_MAX_LEN + 1];#define EBEN_OK 0#define EBEN_FAILED -1#define EBEN_INVALID_INDEX -100#define EBEN_NULL 0#define EBEN_NOTINIT -2 //沒有調(diào)用EBStartup()!#define EBEN_PEBIS_NULL -3 //pEBIS為空.#define EBEN_INVALID_INPUT_LEN -4 //#define EBEN_INVALID_DESIRE_LEN -5#define EBEN_INVALID_STATUS -7#define EBEN_NO_MATCH -8 //沒找到匹配串#define EBEN_INVALID_INVOKE -9 //非法調(diào)用#define EBEN_NO_WORD -10 //單詞表里面沒有任何單詞#define EBEN_INVALID_DESIRE -12#define EBEN_INVALID_DESIRE_COUNT -13#define EBEN_NO_DATA_FILE -14#define EBEN_INVALID_DATA_FORMAT -15#define EBEN_FAILED_ALLOC_MEM -16#define EBEN_CORRUPTED_DATA_FILE -17#define EBEN_MISS_DATA -18#define EBEN_INVALID_CHAR -19#define EBEN_WORD_TOO_LONG -20#define EBEN_NULL_WORD -21#define EBEN_SH_NO_SPACE -22#define EBEN_WORD_EXISTS -23//數(shù)據(jù)中的字符集有問題#define EBEN_INVALID_VALIDCHAR -24//數(shù)據(jù)與引擎版本不匹配#define EBEN_DATA_MISMATCH -25//自造詞數(shù)據(jù)錯誤#define EBEN_SH_BUFFER_TO_SMALL -26 //調(diào)用EBShDataInit的時候, 緩沖區(qū)的長度不足#define EBEN_SH_CORRUPT_DATA -27 //錯誤的自造詞數(shù)據(jù)#define EBEN_SH_INVALID_ADDRESS -28 //自造詞數(shù)據(jù)的頭地址不能被4整除#define EBEN_SH_NOT_INIT -30 //自造詞和詞語調(diào)頻數(shù)據(jù)沒有初始化#define EBEN_SH_INVALID_WORD -32 //自造詞數(shù)據(jù)中包涵非法的字母#define EBEN_SH_SPACE_NOT_ENOUGH -33 //空間不足#define EBEN_SH_DUPLICATE -34 //已經(jīng)存在一個完全相同的單詞#define EBEN_SH_PHRASE_INVALID_LENGTH -35 //自造詞太長了#define CLEAR_CANDIDATES(pENIS) \ CLEAR_ARRAY((pENIS)->candidates); \ (pENIS)->candidateCount = 0; #define CLEAR_INPUT(pENIS) \ CLEAR_ARRAY((pENIS)->inputString); \ (pENIS)->inputLen = 0;\ CLEAR_ARRAY((pENIS)->header);\ pENIS->headerIsAWord = 0;#define CLEAR_ENIS(pENIS) \ CLEAR_CANDIDATES(pENIS); \ CLEAR_INPUT(pENIS);/*buf : (in)will be the address of DIY words' bufferaddin : (in)will be the addin param pass from EnSelfHelpWordsInit*/typedef void (* fpUpdateSelfHelpData)(GBLPCVOID buf, GBLPVOID addin);/*buf : (in/out)the address of the point of DIY words' buffer capacity : (in/out)the address of the capacity, the value of *capacity is the length of buffer.increment : (in) the increment at least should be extent.addin : (in)will be the addin param pass from EnSelfHelpWordsInit */typedef void (* fpExtentBuf)(GBCHAR * * buf, unsigned int * capacity, unsigned int increment, void * addin);#define EN_WORD_EXISTS 2#define EN_WORD_EXISTS_AS_HEADER 1#define EN_WORD_NO_EXISTS 0#define EN_WORD_INVALID -1//<ENInputStruct::outputStatus>//以下定義是解析ENInputStruct::outputStatus的定義,同時也用于GBLtGetDesireOutput//在輸出字母候選的時候不要根據(jù)語言的特性進行候選的順序調(diào)整//一般使用于單個字母的輸入法的實現(xiàn)中#define EN_OPTION_DONT_ADJUST_CHAR_ORDER 0x01 //各種輸出的選項#define EN_OPTION_OUTPUT_FLAG 0x0e // 8種可能 0 2 4 6 8 10 12 14 #define EN_OPTION_OUTPUT_NORMAL 0x0000 //輸出默認的大小狀態(tài)的單詞#define EN_OPTION_OUTPUT_FCC 0x02 //輸出首字母大寫的候選單詞#define EN_OPTION_OUTPUT_CAPITAL 0x04 //輸出大寫的候選單詞#define EN_OPTION_OUTPUT_LOWER 0x06 //輸出小寫的候選單詞#define EN_OPTION_OUTPUT_TOGGLE_FCC 0x08 //改變當(dāng)前輸出的大小狀態(tài)#define EN_OPTION_OUTPUT_CAPITAL_CHAR 0x0A //單個字母的時候只輸出大寫字母,其他時候輸出普通的單詞#define EN_OPTION_OUTPUT_LOWER_CHAR 0x0C //單個字母的時候只輸出小寫字母,其他時候輸出普通的單詞#define EN_OPTION_DONT_ADD_HEADER 0x10 //header不要出現(xiàn)在候選//</ENInputStruct::outputStatus>//add by abing on 20070820 for FIRST_CHAR_ASSOC & GBMMI init char array#define EN_OPTION_OUTPUT_CHAR_ARRAY 0x0020//<#define EN_OUTPUT_NORMAL EN_OPTION_OUTPUT_NORMAL //正常狀態(tài)#define EN_OUTPUT_FCC EN_OPTION_OUTPUT_FCC //首字母大寫#define EN_OUTPUT_CAPITAL EN_OPTION_OUTPUT_CAPITAL //大寫#define EN_OUTPUT_LOWER EN_OPTION_OUTPUT_LOWER //小寫#define EN_OUTPUT_TOGGLE_FCC EN_OPTION_OUTPUT_TOGGLE_FCC //切換首字母的大小寫//#define EN_STATUS_SELF_HELP 0x01 //引擎開始自造詞狀態(tài)//language definition#define GB_LANG_Afrikaans 0x36#define GB_LANG_Albanian 0x1C#define GB_LANG_Arabic 0x01#define GB_LANG_Basque 0x2D#define GB_LANG_Belarusian 0x23#define GB_LANG_Bulgarian 0x02#define GB_LANG_Catalan 0x03#define GB_LANG_Chinese 0x04#define GB_LANG_Croatian 0x041a#define GB_LANG_Czech 0x05#define GB_LANG_Danish 0x06#define GB_LANG_Dutch 0x13#define GB_LANG_English 0x09#define GB_LANG_Estonian 0x25#define GB_LANG_Faeroese 0x38#define GB_LANG_Farsi 0x29#define GB_LANG_Finnish 0x0B#define GB_LANG_French 0x0C#define GB_LANG_Gaelic 0x3C#define GB_LANG_German 0x07#define GB_LANG_Greek 0x08#define GB_LANG_Hebrew 0x0D#define GB_LANG_Hindi 0x39#define GB_LANG_Hungarian 0x0E#define GB_LANG_Icelandic 0x0F#define GB_LANG_Indonesian 0x21#define GB_LANG_Italian 0x10#define GB_LANG_Japanese 0x11#define GB_LANG_Korean 0x12#define GB_LANG_Latvian 0x26#define GB_LANG_Lithuanian 0x27#define GB_LANG_Macedonian 0x2F#define GB_LANG_Malaysian 0x3E#define GB_LANG_Maltese 0x3A#define GB_LANG_Norwegian 0x14#define GB_LANG_Polish 0x15#define GB_LANG_Portuguese 0x16#define GB_LANG_Romanian 0x18#define GB_LANG_Russian 0x19#define GB_LANG_Serbian 0x081a#define GB_LANG_Slovak 0x1B#define GB_LANG_Slovenian 0x24#define GB_LANG_Sorbian 0x2E#define GB_LANG_Spanish 0x0A#define GB_LANG_Sutu 0x30#define GB_LANG_Swedish 0x1D#define GB_LANG_Thai 0x1E#define GB_LANG_Tsonga 0x31#define GB_LANG_Tswana 0x32#define GB_LANG_Turkish 0x1F#define GB_LANG_Ukrainian 0x22#define GB_LANG_Urdu 0x20#define GB_LANG_Vietnamese 0x2A#define GB_LANG_Xhosa 0x34#define GB_LANG_Yiddish 0x3D#define GB_LANG_Zulu 0x35#define GB_LANG_Uighur 0x0480 //ug#define GB_LANG_Tibetan 0x0451 //bo#define GB_LANG_Swahili 0x0441 //坦桑尼亞語#endif
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -