1 /* 辞書ライブラリ(libanthydic)と 2 * 辞書生成の両方から使う 3 * ファイル辞書の構造 4 */ 5 #ifndef _word_dic_h_included_ 6 #define _word_dic_h_included_ 7 8 /* 読みhashのbit mapの大きさ */ 9 #define YOMI_HASH_ARRAY_SIZE (65536*4) 10 #define YOMI_HASH_ARRAY_SHIFT 3 11 #define YOMI_HASH_ARRAY_BITS (1<<YOMI_HASH_ARRAY_SHIFT) 12 13 /* 汎用のhash */ 14 #define VERSATILE_HASH_SIZE (128*1024) 15 16 /* 1ページ内にいくつの単語を入れるか */ 17 #define WORDS_PER_PAGE 64 18 19 /** 辞書ファイル 20 * 辞書ライブラリ用 21 */ 22 struct word_dic { 23 /** 辞書ファイル自体のポインタ */ 24 char *dic_file; 25 /** 辞書エントリのインデックスの配列(ネットワークバイトオーダー) */ 26 int *entry_index; 27 /** 辞書エントリ */ 28 char *entry; 29 /** インデックスへのインデックス */ 30 int *page_index; 31 /** 辞書のインデックス */ 32 char *page; 33 /** 用例辞書 */ 34 char *uc_section; 35 36 /* 単語辞書 */ 37 int nr_pages; 38 unsigned char *hash_ent; 39 }; 40 41 #endif 42 43