📄 zi8api.h
字号:
#define ZI8_CODE_PINYIN_W (ZI8_BASE_PINYIN+22)
#define ZI8_CODE_PINYIN_X (ZI8_BASE_PINYIN+23)
#define ZI8_CODE_PINYIN_Y (ZI8_BASE_PINYIN+24)
#define ZI8_CODE_PINYIN_Z (ZI8_BASE_PINYIN+25)
#define ZI8_CODE_TONES_1 (ZI8_BASE_TONES+0)
#define ZI8_CODE_TONES_2 (ZI8_BASE_TONES+1)
#define ZI8_CODE_TONES_3 (ZI8_BASE_TONES+2)
#define ZI8_CODE_TONES_4 (ZI8_BASE_TONES+3)
#define ZI8_CODE_TONES_5 (ZI8_BASE_TONES+4)
/* ONE KEY PRESS: KEYS MAPPING */
#define ZI8_ONEKEY_KEY1 (ZI8_BASE_LATIN_KEYS+1)
#define ZI8_ONEKEY_KEY2 (ZI8_BASE_LATIN_KEYS+2)
#define ZI8_ONEKEY_KEY3 (ZI8_BASE_LATIN_KEYS+3)
#define ZI8_ONEKEY_KEY4 (ZI8_BASE_LATIN_KEYS+4)
#define ZI8_ONEKEY_KEY5 (ZI8_BASE_LATIN_KEYS+5)
#define ZI8_ONEKEY_KEY6 (ZI8_BASE_LATIN_KEYS+6)
#define ZI8_ONEKEY_KEY7 (ZI8_BASE_LATIN_KEYS+7)
#define ZI8_ONEKEY_KEY8 (ZI8_BASE_LATIN_KEYS+8)
#define ZI8_ONEKEY_KEY9 (ZI8_BASE_LATIN_KEYS+9)
#define ZI8_ONEKEY_KEY0 (ZI8_BASE_LATIN_KEYS+10)
#define ZI8_ONEKEY_KEY11 (ZI8_BASE_LATIN_KEYS+11)
#define ZI8_ONEKEY_KEY12 (ZI8_BASE_LATIN_KEYS+12)
/* ONE KEY PRESS: PINYIN LETTERS MAPPING */
#define ZI8_ONEKEY_PY_EXACT ZI8_ONEKEY_KEY1
#define ZI8_ONEKEY_PY_A ZI8_ONEKEY_KEY2
#define ZI8_ONEKEY_PY_B ZI8_ONEKEY_KEY2
#define ZI8_ONEKEY_PY_C ZI8_ONEKEY_KEY2
#define ZI8_ONEKEY_PY_D ZI8_ONEKEY_KEY3
#define ZI8_ONEKEY_PY_E ZI8_ONEKEY_KEY3
#define ZI8_ONEKEY_PY_F ZI8_ONEKEY_KEY3
#define ZI8_ONEKEY_PY_G ZI8_ONEKEY_KEY4
#define ZI8_ONEKEY_PY_H ZI8_ONEKEY_KEY4
#define ZI8_ONEKEY_PY_I ZI8_ONEKEY_KEY4
#define ZI8_ONEKEY_PY_J ZI8_ONEKEY_KEY5
#define ZI8_ONEKEY_PY_K ZI8_ONEKEY_KEY5
#define ZI8_ONEKEY_PY_L ZI8_ONEKEY_KEY5
#define ZI8_ONEKEY_PY_M ZI8_ONEKEY_KEY6
#define ZI8_ONEKEY_PY_N ZI8_ONEKEY_KEY6
#define ZI8_ONEKEY_PY_O ZI8_ONEKEY_KEY6
#define ZI8_ONEKEY_PY_P ZI8_ONEKEY_KEY7
#define ZI8_ONEKEY_PY_Q ZI8_ONEKEY_KEY7
#define ZI8_ONEKEY_PY_R ZI8_ONEKEY_KEY7
#define ZI8_ONEKEY_PY_S ZI8_ONEKEY_KEY7
#define ZI8_ONEKEY_PY_T ZI8_ONEKEY_KEY8
#define ZI8_ONEKEY_PY_U ZI8_ONEKEY_KEY8
#define ZI8_ONEKEY_PY_V ZI8_ONEKEY_KEY8
#define ZI8_ONEKEY_PY_W ZI8_ONEKEY_KEY9
#define ZI8_ONEKEY_PY_X ZI8_ONEKEY_KEY9
#define ZI8_ONEKEY_PY_Y ZI8_ONEKEY_KEY9
#define ZI8_ONEKEY_PY_Z ZI8_ONEKEY_KEY9
/* ONE KEY PRESS: BOPOMOFO (ZHUYIN) SYMBOLS MAPPING */
#define ZI8_ONEKEY_ZY_EXACT ZI8_ONEKEY_KEY1
#define ZI8_ONEKEY_ZY_B ZI8_ONEKEY_KEY1
#define ZI8_ONEKEY_ZY_P ZI8_ONEKEY_KEY1
#define ZI8_ONEKEY_ZY_M ZI8_ONEKEY_KEY1
#define ZI8_ONEKEY_ZY_F ZI8_ONEKEY_KEY1
#define ZI8_ONEKEY_ZY_D ZI8_ONEKEY_KEY2
#define ZI8_ONEKEY_ZY_T ZI8_ONEKEY_KEY2
#define ZI8_ONEKEY_ZY_N ZI8_ONEKEY_KEY2
#define ZI8_ONEKEY_ZY_L ZI8_ONEKEY_KEY2
#define ZI8_ONEKEY_ZY_G ZI8_ONEKEY_KEY3
#define ZI8_ONEKEY_ZY_K ZI8_ONEKEY_KEY3
#define ZI8_ONEKEY_ZY_H ZI8_ONEKEY_KEY3
#define ZI8_ONEKEY_ZY_J ZI8_ONEKEY_KEY4
#define ZI8_ONEKEY_ZY_Q ZI8_ONEKEY_KEY4
#define ZI8_ONEKEY_ZY_X ZI8_ONEKEY_KEY4
#define ZI8_ONEKEY_ZY_ZH ZI8_ONEKEY_KEY5
#define ZI8_ONEKEY_ZY_CH ZI8_ONEKEY_KEY5
#define ZI8_ONEKEY_ZY_SH ZI8_ONEKEY_KEY5
#define ZI8_ONEKEY_ZY_R ZI8_ONEKEY_KEY5
#define ZI8_ONEKEY_ZY_Z ZI8_ONEKEY_KEY6
#define ZI8_ONEKEY_ZY_C ZI8_ONEKEY_KEY6
#define ZI8_ONEKEY_ZY_S ZI8_ONEKEY_KEY6
#define ZI8_ONEKEY_ZY_A ZI8_ONEKEY_KEY7
#define ZI8_ONEKEY_ZY_O ZI8_ONEKEY_KEY7
#define ZI8_ONEKEY_ZY_E ZI8_ONEKEY_KEY7
#define ZI8_ONEKEY_ZY_EH ZI8_ONEKEY_KEY7
#define ZI8_ONEKEY_ZY_AI ZI8_ONEKEY_KEY8
#define ZI8_ONEKEY_ZY_EI ZI8_ONEKEY_KEY8
#define ZI8_ONEKEY_ZY_AU ZI8_ONEKEY_KEY8
#define ZI8_ONEKEY_ZY_OU ZI8_ONEKEY_KEY8
#define ZI8_ONEKEY_ZY_AN ZI8_ONEKEY_KEY9
#define ZI8_ONEKEY_ZY_EN ZI8_ONEKEY_KEY9
#define ZI8_ONEKEY_ZY_ANG ZI8_ONEKEY_KEY9
#define ZI8_ONEKEY_ZY_ENG ZI8_ONEKEY_KEY9
#define ZI8_ONEKEY_ZY_ER ZI8_ONEKEY_KEY9
#define ZI8_ONEKEY_ZY_I ZI8_ONEKEY_KEY0
#define ZI8_ONEKEY_ZY_U ZI8_ONEKEY_KEY0
#define ZI8_ONEKEY_ZY_IU ZI8_ONEKEY_KEY0
/* eZiTap KEY MAPPINGS */
#define ZI8_ONEKEY_TIMEOUT (ZI8_BASE_LATIN_KEYS+14)
#define ZI8_ONEKEY_SPACE (ZI8_BASE_LATIN_KEYS+15)
#define ZI8_ONEKEY_DONE (ZI8_BASE_LATIN_KEYS+16)
#define ZI8_ONEKEY_BS (ZI8_BASE_LATIN_KEYS+17)
#define ZI8_ONEKEY_PREVIOUS (ZI8_BASE_LATIN_KEYS+18)
#define ZI8_ONEKEY_NEXT (ZI8_BASE_LATIN_KEYS+19)
#define ZI8_ONEKEY_PGUP (ZI8_BASE_LATIN_KEYS+20)
#define ZI8_ONEKEY_PGDN (ZI8_BASE_LATIN_KEYS+21)
#define ZI8_ERROR_PUD 42
#define ZI8_ERROR_PUD_NO_ERROR (ZI8_ERROR_PUD+0)
#define ZI8_ERROR_MAX_PUDS_EXCEEDED (ZI8_ERROR_PUD+1)
#define ZI8_ERROR_BAD_PUD_FORMAT (ZI8_ERROR_PUD+2)
#define ZI8_ERROR_BAD_PUD_HANDLE (ZI8_ERROR_PUD+3)
#define ZI8_ERROR_PUD_UNCHANGED (ZI8_ERROR_PUD+4)
#define ZI8_ERROR_PUD_NOSPACE (ZI8_ERROR_PUD+5)
#define ZI8_ERROR_DUPLICATE (ZI8_ERROR_PUD+6)
#define ZI8_ERROR_PUD_CORRUPTED (ZI8_ERROR_PUD+7)
#define ZI8_ERROR_PUD_NOEXIST (ZI8_ERROR_PUD+8)
#define ZI8_ERROR_PUD_INVALID_PLACE (ZI8_ERROR_PUD+9)
#define ZI8_ERROR_PUD_SIZE_TOO_SMALL (ZI8_ERROR_PUD+10)
#define ZI8RBC_OK 0
#define ZI8RBC_INVALID_CMD 1
#define ZI8RBC_INVALID_ELEMENT 2
#define ZI8RBC_OVERFLOW 3
#define ZI8RBM_STARTCONVERSION 0
#define ZI8RBM_DONE 1
#define ZI8RBM_REVERT 2
#define ZI8RBM_NEXTPHRASE 3
#define ZI8RBM_PREVPHRASE 4
#define ZI8RBM_SLIDERIGHT 5
#define ZI8RBM_SLIDELEFT 6
#define ZI8RBM_GETCAND4PHRASE 7
#define ZI8RBM_NEXTCAND4PHRASE 8
#define ZI8RBM_PREVCAND4PHRASE 9
#define ZI8RBM_SETALGORITHM 10
#define ZI8RBA_DESCEND 0
#define ZI8RBA_ASCEND 1
#define ZI8RBA_CENTEROUT 2
#define ZI8MTC_WORD_FORMED 0
#define ZI8MTC_WORD_PREDICTED 1
#define ZI8MTC_OVERFLOW 2
#define ZI8MTC_ERROR_INPUT 3
#define ZI8MTC_NO_CHANGE 4
#define ZI8MTC_NEXTWORD_PREDICTION 5
#define ZI8_CASE_DEFAULT 0 /* preserve original case */
#define ZI8_CASE_UPPER 1
#define ZI8_CASE_LOWER 2
#define ZI8_CASE_TITLE 3
#define ZI8_SO_DEFAULT 0
#define ZI8_SO_EXACT_ROM_DATA 1
#define ZI8_SO_EXACT_PD_DATA 2
#define ZI8_SO_EXACT_UWD_DATA 3
#define ZI8_SO_EXACT_OEM_DATA 4
#define ZI8_SO_OTHERS_ROM_DATA 5
#define ZI8_SO_OTHERS_PD_DATA 6
#define ZI8_SO_OTHERS_UWD_DATA 7
#define ZI8_SO_OTHERS_OEM_DATA 8
#define ZI8_SO_MAX_SIZE (ZI8_SO_OTHERS_OEM_DATA+1)
#define ZI8_CODE_CANGJIE_WILDCARD (0x2A) /* '*' */
#define ZI8_CODE_CANGJIE_A (0x41) /* 'A' */
#define ZI8_CODE_CANGJIE_B (0x42) /* 'B' */
#define ZI8_CODE_CANGJIE_C (0x43) /* 'C' */
#define ZI8_CODE_CANGJIE_D (0x44) /* 'D' */
#define ZI8_CODE_CANGJIE_E (0x45) /* 'E' */
#define ZI8_CODE_CANGJIE_F (0x46) /* 'F' */
#define ZI8_CODE_CANGJIE_G (0x47) /* 'G' */
#define ZI8_CODE_CANGJIE_H (0x48) /* 'H' */
#define ZI8_CODE_CANGJIE_I (0x49) /* 'I' */
#define ZI8_CODE_CANGJIE_J (0x4A) /* 'J' */
#define ZI8_CODE_CANGJIE_K (0x4B) /* 'K' */
#define ZI8_CODE_CANGJIE_L (0x4C) /* 'L' */
#define ZI8_CODE_CANGJIE_M (0x4D) /* 'M' */
#define ZI8_CODE_CANGJIE_N (0x4E) /* 'N' */
#define ZI8_CODE_CANGJIE_O (0x4F) /* 'O' */
#define ZI8_CODE_CANGJIE_P (0x50) /* 'P' */
#define ZI8_CODE_CANGJIE_Q (0x51) /* 'Q' */
#define ZI8_CODE_CANGJIE_R (0x52) /* 'R' */
#define ZI8_CODE_CANGJIE_S (0x53) /* 'S' */
#define ZI8_CODE_CANGJIE_T (0x54) /* 'T' */
#define ZI8_CODE_CANGJIE_U (0x55) /* 'U' */
#define ZI8_CODE_CANGJIE_V (0x56) /* 'V' */
#define ZI8_CODE_CANGJIE_W (0x57) /* 'W' */
#define ZI8_CODE_CANGJIE_X (0x58) /* 'W' */
#define ZI8_CODE_CANGJIE_Y (0x59) /* 'Y' */
#define ZI8_ONEKEY_CJ_A ZI8_ONEKEY_KEY2
#define ZI8_ONEKEY_CJ_B ZI8_ONEKEY_KEY2
#define ZI8_ONEKEY_CJ_C ZI8_ONEKEY_KEY2
#define ZI8_ONEKEY_CJ_D ZI8_ONEKEY_KEY3
#define ZI8_ONEKEY_CJ_E ZI8_ONEKEY_KEY3
#define ZI8_ONEKEY_CJ_F ZI8_ONEKEY_KEY3
#define ZI8_ONEKEY_CJ_G ZI8_ONEKEY_KEY4
#define ZI8_ONEKEY_CJ_H ZI8_ONEKEY_KEY4
#define ZI8_ONEKEY_CJ_I ZI8_ONEKEY_KEY4
#define ZI8_ONEKEY_CJ_J ZI8_ONEKEY_KEY5
#define ZI8_ONEKEY_CJ_K ZI8_ONEKEY_KEY5
#define ZI8_ONEKEY_CJ_L ZI8_ONEKEY_KEY5
#define ZI8_ONEKEY_CJ_M ZI8_ONEKEY_KEY6
#define ZI8_ONEKEY_CJ_N ZI8_ONEKEY_KEY6
#define ZI8_ONEKEY_CJ_O ZI8_ONEKEY_KEY6
#define ZI8_ONEKEY_CJ_P ZI8_ONEKEY_KEY7
#define ZI8_ONEKEY_CJ_Q ZI8_ONEKEY_KEY7
#define ZI8_ONEKEY_CJ_R ZI8_ONEKEY_KEY7
#define ZI8_ONEKEY_CJ_S ZI8_ONEKEY_KEY7
#define ZI8_ONEKEY_CJ_T ZI8_ONEKEY_KEY8
#define ZI8_ONEKEY_CJ_U ZI8_ONEKEY_KEY8
#define ZI8_ONEKEY_CJ_V ZI8_ONEKEY_KEY8
#define ZI8_ONEKEY_CJ_W ZI8_ONEKEY_KEY9
#define ZI8_ONEKEY_CJ_X ZI8_ONEKEY_KEY9
#define ZI8_ONEKEY_CJ_Y ZI8_ONEKEY_KEY9
/* ******************** */
/* structure of the API */
/* ******************** */
/* For Japanese:
correlates element groups in the element buffer to the character
groups (word) in the candidate buffer
*/
typedef struct _ZI8_CANDIDATE_INFO
{
ZI8UCHAR ElementItem;
ZI8UCHAR CandidateItem;
} ZI8_CANDIDATE_INFO;
typedef struct _ZI8_CANDIDATE_INFO ZI8RAMPOINTER PZI8_CANDIDATE_INFO;
typedef struct _ZI8GETPARAM
{
ZI8UCHAR Language;
ZI8UCHAR GetMode;
ZI8UCHAR SubLanguage;
ZI8UCHAR Context;
ZI8UCHAR GetOptions;
PZI8WCHAR pElements;
ZI8UCHAR ElementCount;
PZI8WCHAR pCurrentWord;
ZI8UCHAR WordCharacterCount;
PZI8WCHAR pCandidates;
ZI8UCHAR MaxCandidates;
ZI8WCHAR FirstCandidate;
ZI8UCHAR wordCandidates;
ZI8UCHAR count;
ZI8UCHAR letters;
PZI8UCHAR pScratch;
} ZI8GETPARAM;
typedef struct _ZI8GETPARAM ZI8RAMPOINTER PZI8GETPARAM;
typedef struct _ZI8LISTPARAM
{
PZI8UCHAR pPhoneBook;
ZI8UCHAR OffsetAlphaField;
ZI8UCHAR AlphaFieldSize;
ZI8UCHAR EntrySize;
ZI8UCHAR Entries;
PZI8UCHAR pScratch;
} ZI8LISTPARAM;
typedef struct _ZI8LISTPARAM ZI8RAMPOINTER PZI8LISTPARAM;
typedef PZI8UCHAR (*PFZI8PHONEBOOK)(ZI8USHORT ElementIndex);
typedef struct _ZI8LISTFUNCPARAM
{
PFZI8PHONEBOOK pPhoneBook;
ZI8UCHAR OffsetAlphaField;
ZI8UCHAR AlphaFieldSize;
ZI8UCHAR EntrySize;
ZI8UCHAR Entries;
PZI8UCHAR pScratch;
} ZI8LISTFUNCPARAM;
typedef struct _ZI8LISTFUNCPARAM ZI8RAMPOINTER PZI8LISTFUNCPARAM;
/* This structure is used for the language table reference by
Zi8InitializeDynamic()*/
typedef struct _ZI8_LANGUAGE_ENTRY
{
ZI8UCHAR Language;
PZI8VOID pTable;
} ZI8_LANGUAGE_ENTRY;
typedef struct _ZI8_LANGUAGE_ENTRY ZI8RAMPOINTER PZI8_LANGUAGE_ENTRY;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -