libUnihan 0.5.3
Unihan_enum.h
Go to the documentation of this file.
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