libUnihan 0.5.3
|
00001 00009 /* 00010 * Copyright © 2008 Red Hat, Inc. All rights reserved. 00011 * Copyright © 2008 Ding-Yi Chen <dchen at redhat dot com> 00012 * 00013 * This file is part of the libUnihan Project. 00014 * 00015 * This library is free software; you can redistribute it and/or 00016 * modify it under the terms of the GNU Lesser General Public 00017 * License as published by the Free Software Foundation; either 00018 * version 2 of the License, or (at your option) any later version. 00019 * 00020 * This library is distributed in the hope that it will be useful, 00021 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00022 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00023 * GNU Lesser General Public License for more details. 00024 * 00025 * You should have received a copy of the GNU Lesser General Public 00026 * License along with this program; if not, write to the 00027 * Free Software Foundation, Inc., 59 Temple Place, Suite 330, 00028 * Boston, MA 02111-1307 USA 00029 */ 00030 00031 #ifndef UNIHAN_ENUM_H_ 00032 #define UNIHAN_ENUM_H_ 00033 #include <glib.h> 00034 #include <sqlite3.h> 00035 00067 typedef enum{ 00068 UNIHAN_INVALID_FIELD=-1, 00069 UNIHAN_FIELD_CODE, 00070 UNIHAN_FIELD_KACCOUNTINGNUMERIC, 00071 UNIHAN_FIELD_KBIGFIVE, 00072 UNIHAN_FIELD_KCANGJIE, 00073 UNIHAN_FIELD_KCANTONESE, 00074 UNIHAN_FIELD_KCCCII, 00075 UNIHAN_FIELD_KCHEUNGBAUER, 00076 UNIHAN_FIELD_KCHEUNGBAUERINDEX, 00077 UNIHAN_FIELD_KCIHAIT, 00078 UNIHAN_FIELD_KCNS1986, 00079 UNIHAN_FIELD_KCNS1992, 00080 UNIHAN_FIELD_KCOMPATIBILITYVARIANT, 00081 UNIHAN_FIELD_KCOWLES, 00082 UNIHAN_FIELD_KDAEJAWEON, 00083 UNIHAN_FIELD_KDEFINITION, 00084 UNIHAN_FIELD_KEACC, 00085 UNIHAN_FIELD_KFENN, 00086 UNIHAN_FIELD_KFENNINDEX, 00087 UNIHAN_FIELD_KFOURCORNERCODE, 00088 UNIHAN_FIELD_KFREQUENCY, 00089 UNIHAN_FIELD_KGB0, 00090 UNIHAN_FIELD_KGB1, 00091 UNIHAN_FIELD_KGB3, 00092 UNIHAN_FIELD_KGB5, 00093 UNIHAN_FIELD_KGB7, 00094 UNIHAN_FIELD_KGB8, 00095 // UNIHAN_FIELD_KGB9, //!< GB18030-2000 00096 UNIHAN_FIELD_KGRADELEVEL, 00097 UNIHAN_FIELD_KGSR, 00098 UNIHAN_FIELD_KHANGUL, 00099 UNIHAN_FIELD_KHANYU, 00100 UNIHAN_FIELD_KHANYUPINLU, 00101 UNIHAN_FIELD_KHDZRADBREAK, 00102 UNIHAN_FIELD_KHKGLYPH, 00103 UNIHAN_FIELD_KHKSCS, 00104 UNIHAN_FIELD_KIBMJAPAN, 00105 UNIHAN_FIELD_KIICORE, 00106 UNIHAN_FIELD_KIRGDAEJAWEON, 00107 UNIHAN_FIELD_KIRGDAIKANWAZITEN, 00108 UNIHAN_FIELD_KIRGHANYUDAZIDIAN, 00109 UNIHAN_FIELD_KIRGKANGXI, 00110 UNIHAN_FIELD_KIRG_GSOURCE, 00111 UNIHAN_FIELD_KIRG_HSOURCE, 00112 UNIHAN_FIELD_KIRG_JSOURCE, 00113 UNIHAN_FIELD_KIRG_KPSOURCE, 00114 UNIHAN_FIELD_KIRG_KSOURCE, 00115 UNIHAN_FIELD_KIRG_TSOURCE, 00116 UNIHAN_FIELD_KIRG_USOURCE, 00117 UNIHAN_FIELD_KIRG_VSOURCE, 00118 UNIHAN_FIELD_KJAPANESEKUN, 00119 UNIHAN_FIELD_KJAPANESEON, 00120 UNIHAN_FIELD_KJIS0213, 00121 UNIHAN_FIELD_KJIS0, 00122 UNIHAN_FIELD_KJIS1, 00123 UNIHAN_FIELD_KKANGXI, 00124 UNIHAN_FIELD_KKARLGREN, 00125 UNIHAN_FIELD_KKOREAN, 00126 UNIHAN_FIELD_KKPS0, 00127 UNIHAN_FIELD_KKPS1, 00128 UNIHAN_FIELD_KKSC0, 00129 UNIHAN_FIELD_KKSC1, 00130 UNIHAN_FIELD_KLAU, 00131 UNIHAN_FIELD_KMAINLANDTELEGRAPH, 00132 UNIHAN_FIELD_KMANDARIN, 00133 UNIHAN_FIELD_KMATTHEWS, 00134 UNIHAN_FIELD_KMEYERWEMPE, 00135 UNIHAN_FIELD_KMOROHASHI, 00136 UNIHAN_FIELD_KNELSON, 00137 UNIHAN_FIELD_KOTHERNUMERIC, 00138 UNIHAN_FIELD_KPHONETIC, 00139 UNIHAN_FIELD_KPRIMARYNUMERIC, 00140 UNIHAN_FIELD_KPSEUDOGB1, 00141 UNIHAN_FIELD_KRSADOBE_JAPAN1_6, 00142 UNIHAN_FIELD_KRSJAPANESE, 00143 UNIHAN_FIELD_KRSKANGXI, 00144 UNIHAN_FIELD_KRSKANWA, 00145 UNIHAN_FIELD_KRSKOREAN, 00146 UNIHAN_FIELD_KRSUNICODE, 00147 UNIHAN_FIELD_KSBGY, 00148 UNIHAN_FIELD_KSEMANTICVARIANT, 00149 UNIHAN_FIELD_KSIMPLIFIEDVARIANT, 00150 UNIHAN_FIELD_KSPECIALIZEDSEMANTICVARIANT, 00151 UNIHAN_FIELD_KTAIWANTELEGRAPH, 00152 UNIHAN_FIELD_KTANG, 00153 UNIHAN_FIELD_KTOTALSTROKES, 00154 UNIHAN_FIELD_KTRADITIONALVARIANT, 00155 UNIHAN_FIELD_KVIETNAMESE, 00156 UNIHAN_FIELD_KXEROX, 00157 UNIHAN_FIELD_KXHC1983, 00158 UNIHAN_FIELD_KZVARIANT, 00159 00160 UNIHAN_FIELD_UTF8, 00161 00162 UNIHAN_FIELD_IRG_SOURCE_SHORT_NAME, 00163 UNIHAN_FIELD_IRG_SOURCE_MAPPING, 00164 00165 UNIHAN_FIELD_VARIANT_TYPE, 00166 UNIHAN_FIELD_VARIANT_CODE, 00167 00168 UNIHAN_FIELD_FROM_DICT, 00169 UNIHAN_FIELD_SEMANTIC_T, 00170 UNIHAN_FIELD_SEMANTIC_B, 00171 UNIHAN_FIELD_SEMANTIC_Z, 00172 00173 UNIHAN_FIELD_RADICAL_INDEX, 00174 UNIHAN_FIELD_ADDITIONAL_STROKE_COUNT, 00175 00176 UNIHAN_FIELD_ADOBE_CID_CV, 00177 UNIHAN_FIELD_ADOBE_CID, 00178 UNIHAN_FIELD_ADOBE_CID_RADICAL_STROKE_COUNT, 00179 00180 UNIHAN_FIELD_KANGXI_PAGE, 00181 UNIHAN_FIELD_KANGXI_CHARNUM, 00182 UNIHAN_FIELD_KANGXI_VIRTUAL, 00183 00184 UNIHAN_FIELD_FREQ_RANK, 00185 00186 UNIHAN_FIELD_PINYIN, 00187 UNIHAN_FIELD_PINYIN_FREQ, 00188 00189 UNIHAN_FIELD_ZVARIANT_SOURCE, 00190 00191 UNIHAN_FIELD_ZHUYIN 00192 } UnihanField; 00193 00197 #define UNIHAN_FIELDS_COUNT UNIHAN_FIELD_ZHUYIN+1 00198 00199 00248 typedef enum{ 00249 UNIHAN_NOT_A_TABLE=-3, 00250 UNIHAN_INVALID_TABLE=-2, 00251 UNIHAN_AMBIGUOUS_TABLE=-1, 00252 UNIHAN_TABLE_KACCOUNTINGNUMERIC, 00253 UNIHAN_TABLE_KBIGFIVE, 00254 UNIHAN_TABLE_KCANGJIE, 00255 UNIHAN_TABLE_KCANTONESE, 00256 UNIHAN_TABLE_KCCCII, 00257 UNIHAN_TABLE_KCHEUNGBAUER, 00258 UNIHAN_TABLE_KCHEUNGBAUERINDEX, 00259 UNIHAN_TABLE_KCIHAIT, 00260 UNIHAN_TABLE_KCNS1986, 00261 UNIHAN_TABLE_KCNS1992, 00262 UNIHAN_TABLE_KCOMPATIBILITYVARIANT, 00263 UNIHAN_TABLE_KCOWLES, 00264 UNIHAN_TABLE_KDAEJAWEON, 00265 UNIHAN_TABLE_KDEFINITION, 00266 UNIHAN_TABLE_KEACC, 00267 UNIHAN_TABLE_KFENN, 00268 UNIHAN_TABLE_KFENNINDEX, 00269 UNIHAN_TABLE_KFOURCORNERCODE, 00270 UNIHAN_TABLE_KFREQUENCY, 00271 UNIHAN_TABLE_KGB0, 00272 UNIHAN_TABLE_KGB1, 00273 UNIHAN_TABLE_KGB3, 00274 UNIHAN_TABLE_KGB5, 00275 UNIHAN_TABLE_KGB7, 00276 UNIHAN_TABLE_KGB8, 00277 UNIHAN_TABLE_KGRADELEVEL, 00278 UNIHAN_TABLE_KGSR, 00279 UNIHAN_TABLE_KHANGUL, 00280 UNIHAN_TABLE_KHANYU, 00281 UNIHAN_TABLE_KHANYUPINLU, 00282 UNIHAN_TABLE_KHDZRADBREAK, 00283 UNIHAN_TABLE_KHKGLYPH, 00284 UNIHAN_TABLE_KHKSCS, 00285 UNIHAN_TABLE_KIBMJAPAN, 00286 UNIHAN_TABLE_KIICORE, 00287 UNIHAN_TABLE_KIRGDAEJAWEON, 00288 UNIHAN_TABLE_KIRGDAIKANWAZITEN, 00289 UNIHAN_TABLE_KIRGHANYUDAZIDIAN, 00290 UNIHAN_TABLE_KIRGKANGXI, 00291 UNIHAN_TABLE_KJAPANESEKUN, 00292 UNIHAN_TABLE_KJAPANESEON, 00293 UNIHAN_TABLE_KJIS0213, 00294 UNIHAN_TABLE_KJIS0, 00295 UNIHAN_TABLE_KJIS1, 00296 UNIHAN_TABLE_KKANGXI, 00297 UNIHAN_TABLE_KKARLGREN, 00298 UNIHAN_TABLE_KKOREAN, 00299 UNIHAN_TABLE_KKPS0, 00300 UNIHAN_TABLE_KKPS1, 00301 UNIHAN_TABLE_KKSC0, 00302 UNIHAN_TABLE_KKSC1, 00303 UNIHAN_TABLE_KLAU, 00304 UNIHAN_TABLE_KMAINLANDTELEGRAPH, 00305 UNIHAN_TABLE_KMANDARIN, 00306 UNIHAN_TABLE_KMATTHEWS, 00307 UNIHAN_TABLE_KMEYERWEMPE, 00308 UNIHAN_TABLE_KMOROHASHI, 00309 UNIHAN_TABLE_KNELSON, 00310 UNIHAN_TABLE_KOTHERNUMERIC, 00311 UNIHAN_TABLE_KPHONETIC, 00312 UNIHAN_TABLE_KPRIMARYNUMERIC, 00313 UNIHAN_TABLE_KPSEUDOGB1, 00314 UNIHAN_TABLE_KRSADOBE_JAPAN1_6, 00315 UNIHAN_TABLE_KRSJAPANESE, 00316 UNIHAN_TABLE_KRSKANGXI, 00317 UNIHAN_TABLE_KRSKANWA, 00318 UNIHAN_TABLE_KRSKOREAN, 00319 UNIHAN_TABLE_KRSUNICODE, 00320 UNIHAN_TABLE_KSBGY, 00321 UNIHAN_TABLE_KSEMANTICVARIANT, 00322 UNIHAN_TABLE_KSIMPLIFIEDVARIANT, 00323 UNIHAN_TABLE_KSPECIALIZEDSEMANTICVARIANT, 00324 UNIHAN_TABLE_KTAIWANTELEGRAPH, 00325 UNIHAN_TABLE_KTANG, 00326 UNIHAN_TABLE_KTOTALSTROKES, 00327 UNIHAN_TABLE_KTRADITIONALVARIANT, 00328 UNIHAN_TABLE_KVIETNAMESE, 00329 UNIHAN_TABLE_KXEROX, 00330 UNIHAN_TABLE_KXHC1983, 00331 UNIHAN_TABLE_KZVARIANT, 00332 00333 UNIHAN_TABLE_UTF8, 00334 UNIHAN_TABLE_IRG_SOURCE, 00335 UNIHAN_TABLE_IRG_SOURCE_MAPPING, 00336 UNIHAN_TABLE_KSEMANTICVARIANT_EXTRA, 00337 UNIHAN_TABLE_KSPECIALIZEDSEMANTICVARIANT_EXTRA, 00338 UNIHAN_TABLE_KZVARIANT_EXTRA 00339 } UnihanTable; 00340 00344 #define UNIHAN_TABLES_COUNT UNIHAN_TABLE_KZVARIANT_EXTRA +1 00345 00354 typedef enum{ 00355 UNIHAN_INVALID_IRG_SOURCE=-1, 00356 UNIHAN_IRG_SOURCE_G, 00357 UNIHAN_IRG_SOURCE_H, 00358 UNIHAN_IRG_SOURCE_J, 00359 UNIHAN_IRG_SOURCE_KP, 00360 UNIHAN_IRG_SOURCE_K, 00361 UNIHAN_IRG_SOURCE_T, 00362 UNIHAN_IRG_SOURCE_U, 00363 UNIHAN_IRG_SOURCE_V 00364 } UnihanIRG_Source; 00365 00369 #define UNIHAN_IRG_SOURCES_COUNT UNIHAN_IRG_SOURCE_V+1 00370 00378 typedef enum{ 00379 UNIHAN_INVALID_SOURCEID=-1, 00380 UNIHAN_SOURCE_G0, 00381 UNIHAN_SOURCE_G1, 00382 UNIHAN_SOURCE_G3, 00383 UNIHAN_SOURCE_G5, 00384 UNIHAN_SOURCE_G7, 00385 UNIHAN_SOURCE_GS, 00386 UNIHAN_SOURCE_G8, 00387 UNIHAN_SOURCE_GE, 00388 UNIHAN_SOURCE_G9, 00389 UNIHAN_SOURCE_G4K, 00390 UNIHAN_SOURCE_GBK, 00391 UNIHAN_SOURCE_GCH, 00392 UNIHAN_SOURCE_GCY, 00393 UNIHAN_SOURCE_GFZ, 00394 UNIHAN_SOURCE_GFZ_BK, 00395 UNIHAN_SOURCE_GHC, 00396 UNIHAN_SOURCE_GHZ, 00397 UNIHAN_SOURCE_GKX, 00398 00399 UNIHAN_SOURCE_H, 00400 UNIHAN_SOURCE_J0, 00401 UNIHAN_SOURCE_J1, 00402 UNIHAN_SOURCE_JA, 00403 UNIHAN_SOURCE_J3, 00404 UNIHAN_SOURCE_J3A, 00405 UNIHAN_SOURCE_J4, 00406 00407 UNIHAN_SOURCE_KP0, 00408 UNIHAN_SOURCE_KP1, 00409 00410 UNIHAN_SOURCE_K0, 00411 UNIHAN_SOURCE_K1, 00412 UNIHAN_SOURCE_K2, 00413 UNIHAN_SOURCE_K3, 00414 UNIHAN_SOURCE_K4, 00415 00416 UNIHAN_SOURCE_T1, 00417 UNIHAN_SOURCE_T2, 00418 UNIHAN_SOURCE_T3, 00419 UNIHAN_SOURCE_T4, 00420 UNIHAN_SOURCE_T5, 00421 UNIHAN_SOURCE_T6, 00422 UNIHAN_SOURCE_T7, 00423 UNIHAN_SOURCE_TF, 00424 00425 UNIHAN_SOURCE_U, 00426 00427 UNIHAN_SOURCE_V0, 00428 UNIHAN_SOURCE_V1, 00429 UNIHAN_SOURCE_V2, 00430 UNIHAN_SOURCE_V3, 00431 } UnihanIRG_SourceId; 00432 00436 #define UNIHAN_SOURCES_COUNT UNIHAN_SOURCE_V3+1 00437 00438 00442 typedef enum{ 00443 UNIHAN_INVALID_LOCALE=-1, 00444 UNIHAN_LOCALE_JA_JP, //<! Japan. 00445 UNIHAN_LOCALE_KO_KP, //<! North Korea. 00446 UNIHAN_LOCALE_KO_KR, //<! South Korea. 00447 UNIHAN_LOCALE_ZH_CN, //<! PRC. 00448 UNIHAN_LOCALE_ZH_HK, //<! Hong Kong. 00449 UNIHAN_LOCALE_ZH_SG, //<! Singapore. 00450 UNIHAN_LOCALE_ZH_TW, //<! Taiwan. 00451 UNIHAN_LOCALE_VI_VN, //<! Vietnam. 00452 } UnihanLocale; 00456 #define UNIHAN_LOCALES_COUNT UNIHAN_LOCALE_VI_VN+1 00457 00467 typedef enum{ 00468 UNIHAN_INVALID_RANGE=-1, 00469 UNIHAN_RANGE_CJK_UNIFIED_IDEOGRAPHS_EXT_A, 00470 UNIHAN_RANGE_CJK_UNIFIED_IDEOGRAPHS, 00471 UNIHAN_RANGE_CJK_UNIFIED_IDEOGRAPHS_4_1, 00472 UNIHAN_RANGE_CJK_UNIFIED_IDEOGRAPHS_5_1, 00473 UNIHAN_RANGE_CJK_COMPATIBILITY_UNIFIED_IDEOGRAPHS_A, 00474 UNIHAN_RANGE_CJK_COMPATIBILITY_UNIFIED_IDEOGRAPHS_B, 00475 UNIHAN_RANGE_CJK_COMPATIBILITY_UNIFIED_IDEOGRAPHS_4_1, 00476 UNIHAN_RANGE_CJK_UNIFIED_IDEOGRAPHS_EXT_B, 00477 UNIHAN_RANGE_CJK_COMPATIBILITY_SUPPLEMENT 00478 } UnihanRange; 00482 #define UNIHAN_RANGES_COUNT UNIHAN_RANGE_CJK_COMPATIBILITY_SUPPLEMENT+1 00483 00492 #define LOCALE_JA_JP_SOURCES_COMMON UNIHAN_SOURCE_J0, UNIHAN_INVALID_SOURCEID 00493 00497 #define LOCALE_KO_KP_SOURCES_COMMON UNIHAN_SOURCE_KP0, UNIHAN_INVALID_SOURCEID 00498 00502 #define LOCALE_KO_KR_SOURCES_COMMON UNIHAN_SOURCE_K0, UNIHAN_INVALID_SOURCEID 00503 00507 #define LOCALE_ZH_CN_SOURCES_COMMON UNIHAN_SOURCE_G0, UNIHAN_INVALID_SOURCEID 00508 00512 #define LOCALE_ZH_HK_SOURCES_COMMON UNIHAN_SOURCE_T1, UNIHAN_SOURCE_T2, UNIHAN_SOURCE_H, UNIHAN_INVALID_SOURCEID 00513 00517 #define LOCALE_ZH_SG_SOURCES_COMMON UNIHAN_SOURCE_G0, UNIHAN_SOURCE_GS, UNIHAN_INVALID_SOURCEID 00518 00522 #define LOCALE_ZH_TW_SOURCES_COMMON UNIHAN_SOURCE_T1, UNIHAN_SOURCE_T2, UNIHAN_INVALID_SOURCEID 00523 00527 #define LOCALE_VI_VN_SOURCES_COMMON UNIHAN_SOURCE_V0, UNIHAN_INVALID_SOURCEID 00528 /* @}*/ 00529 #endif /* UNIHAN_ENUM_H_ */ 00530