Open Chinese Convert
0.4.3
A project for conversion between Traditional and Simplified Chinese
|
00001 /* 00002 * Open Chinese Convert 00003 * 00004 * Copyright 2010-2013 BYVoid <byvoid@byvoid.com> 00005 * 00006 * Licensed under the Apache License, Version 2.0 (the "License"); 00007 * you may not use this file except in compliance with the License. 00008 * You may obtain a copy of the License at 00009 * 00010 * http://www.apache.org/licenses/LICENSE-2.0 00011 * 00012 * Unless required by applicable law or agreed to in writing, software 00013 * distributed under the License is distributed on an "AS IS" BASIS, 00014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00015 * See the License for the specific language governing permissions and 00016 * limitations under the License. 00017 */ 00018 00019 #ifndef __OPENCC_DICTIONARY_DATRIE_H_ 00020 #define __OPENCC_DICTIONARY_DATRIE_H_ 00021 00022 #include "../dict.h" 00023 00024 #define DATRIE_UNUSED -1 00025 00026 typedef struct { 00027 int base; 00028 int parent; 00029 int word; 00030 } DatrieItem; 00031 00032 Dict* dict_datrie_new(const char* filename); 00033 00034 int dict_datrie_delete(Dict* dict); 00035 00036 const ucs4_t* const* dict_datrie_match_longest(Dict* dict, 00037 const ucs4_t* word, 00038 size_t maxlen, 00039 size_t* match_length); 00040 00041 size_t dict_datrie_get_all_match_lengths(Dict* dict, 00042 const ucs4_t* word, 00043 size_t* match_length); 00044 00045 int encode_char(ucs4_t ch); 00046 00047 #endif /* __OPENCC_DICTIONARY_DATRIE_H_ */