-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathenglish.h
executable file
·51 lines (41 loc) · 1.45 KB
/
english.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#ifndef _ENGLISH_H_
#define _ENGLISH_H_
#include <kernel.h>
#ifdef __cplusplus
extern "C" {
#endif
#define ENGLISH_LIB_FILE_NAME "/english/english.dat"
#define ENGLISH_TRANS_FILE_NAME "/english/english_trans.dat"
#define ENGLISH_MAX_ITEMS 80000
#define ENGLISH_LETTER_COUNT 26
#define ENGLISH_WORD_MAX_SIZE 0x200
#define ENGLISH_TRANS_BUFFER_SIZE 50000
//英文词库头定义
typedef struct tagENGLISHWORDLIB
{
int signature; //词库的签名
int count; //词汇数目
int letter_index[ENGLISH_LETTER_COUNT]; //首字母索引表
int index[ENGLISH_MAX_ITEMS]; //索引表
char data[1]; //数据
} ENGLISHWORDLIB;
//英文翻译头定义
typedef struct tagENGLISHTRANSLIB
{
int signature; //签名
int count; //条目数
int letter_index[ENGLISH_LETTER_COUNT][ENGLISH_LETTER_COUNT]; //两字母索引
int EngIndex[ENGLISH_TRANS_BUFFER_SIZE]; //英文单词索引
int TransIndex[ENGLISH_TRANS_BUFFER_SIZE]; //翻译索引
TCHAR data[1]; //数据
} ENGLISHTRANSLIB;
extern int LoadEnglishData(const char *file_name);
extern int FreeEnglishData();
extern int GetEnglishCandidates(const TCHAR *prefix, CANDIDATE *candidate_array, int array_length);
extern int LoadEnglishTransData(const char *file_name);
extern int FreeEnglishTransData();
extern TCHAR* GetEnglishTranslation(const TCHAR *english_word);
#ifdef __cplusplus
}
#endif
#endif