198 lines
		
	
	
		
			4.6 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			198 lines
		
	
	
		
			4.6 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| /*************************************************
 | |
| *          Unicode Property Table handler        *
 | |
| *************************************************/
 | |
| 
 | |
| #ifndef _UCP_H
 | |
| #define _UCP_H
 | |
| 
 | |
| /* This file contains definitions of the property values that are returned by
 | |
| the UCD access macros. New values that are added for new releases of Unicode
 | |
| should always be at the end of each enum, for backwards compatibility.
 | |
| 
 | |
| IMPORTANT: Note also that the specific numeric values of the enums have to be
 | |
| the same as the values that are generated by the maint/MultiStage2.py script,
 | |
| where the equivalent property descriptive names are listed in vectors. */
 | |
| 
 | |
| /* These are the general character categories. */
 | |
| 
 | |
| enum {
 | |
|   ucp_C,     /* Other */
 | |
|   ucp_L,     /* Letter */
 | |
|   ucp_M,     /* Mark */
 | |
|   ucp_N,     /* Number */
 | |
|   ucp_P,     /* Punctuation */
 | |
|   ucp_S,     /* Symbol */
 | |
|   ucp_Z      /* Separator */
 | |
| };
 | |
| 
 | |
| /* These are the particular character categories. */
 | |
| 
 | |
| enum {
 | |
|   ucp_Cc,    /* Control */
 | |
|   ucp_Cf,    /* Format */
 | |
|   ucp_Cn,    /* Unassigned */
 | |
|   ucp_Co,    /* Private use */
 | |
|   ucp_Cs,    /* Surrogate */
 | |
|   ucp_Ll,    /* Lower case letter */
 | |
|   ucp_Lm,    /* Modifier letter */
 | |
|   ucp_Lo,    /* Other letter */
 | |
|   ucp_Lt,    /* Title case letter */
 | |
|   ucp_Lu,    /* Upper case letter */
 | |
|   ucp_Mc,    /* Spacing mark */
 | |
|   ucp_Me,    /* Enclosing mark */
 | |
|   ucp_Mn,    /* Non-spacing mark */
 | |
|   ucp_Nd,    /* Decimal number */
 | |
|   ucp_Nl,    /* Letter number */
 | |
|   ucp_No,    /* Other number */
 | |
|   ucp_Pc,    /* Connector punctuation */
 | |
|   ucp_Pd,    /* Dash punctuation */
 | |
|   ucp_Pe,    /* Close punctuation */
 | |
|   ucp_Pf,    /* Final punctuation */
 | |
|   ucp_Pi,    /* Initial punctuation */
 | |
|   ucp_Po,    /* Other punctuation */
 | |
|   ucp_Ps,    /* Open punctuation */
 | |
|   ucp_Sc,    /* Currency symbol */
 | |
|   ucp_Sk,    /* Modifier symbol */
 | |
|   ucp_Sm,    /* Mathematical symbol */
 | |
|   ucp_So,    /* Other symbol */
 | |
|   ucp_Zl,    /* Line separator */
 | |
|   ucp_Zp,    /* Paragraph separator */
 | |
|   ucp_Zs     /* Space separator */
 | |
| };
 | |
| 
 | |
| /* These are grapheme break properties. Note that the code for processing them
 | |
| assumes that the values are less than 16. If more values are added that take
 | |
| the number to 16 or more, the code will have to be rewritten. */
 | |
| 
 | |
| enum {
 | |
|   ucp_gbCR,                /*  0 */
 | |
|   ucp_gbLF,                /*  1 */
 | |
|   ucp_gbControl,           /*  2 */
 | |
|   ucp_gbExtend,            /*  3 */
 | |
|   ucp_gbPrepend,           /*  4 */
 | |
|   ucp_gbSpacingMark,       /*  5 */
 | |
|   ucp_gbL,                 /*  6 Hangul syllable type L */
 | |
|   ucp_gbV,                 /*  7 Hangul syllable type V */
 | |
|   ucp_gbT,                 /*  8 Hangul syllable type T */
 | |
|   ucp_gbLV,                /*  9 Hangul syllable type LV */
 | |
|   ucp_gbLVT,               /* 10 Hangul syllable type LVT */
 | |
|   ucp_gbRegionalIndicator, /* 11 */
 | |
|   ucp_gbOther              /* 12 */
 | |
| };
 | |
| 
 | |
| /* These are the script identifications. */
 | |
| 
 | |
| enum {
 | |
|   ucp_Arabic,
 | |
|   ucp_Armenian,
 | |
|   ucp_Bengali,
 | |
|   ucp_Bopomofo,
 | |
|   ucp_Braille,
 | |
|   ucp_Buginese,
 | |
|   ucp_Buhid,
 | |
|   ucp_Canadian_Aboriginal,
 | |
|   ucp_Cherokee,
 | |
|   ucp_Common,
 | |
|   ucp_Coptic,
 | |
|   ucp_Cypriot,
 | |
|   ucp_Cyrillic,
 | |
|   ucp_Deseret,
 | |
|   ucp_Devanagari,
 | |
|   ucp_Ethiopic,
 | |
|   ucp_Georgian,
 | |
|   ucp_Glagolitic,
 | |
|   ucp_Gothic,
 | |
|   ucp_Greek,
 | |
|   ucp_Gujarati,
 | |
|   ucp_Gurmukhi,
 | |
|   ucp_Han,
 | |
|   ucp_Hangul,
 | |
|   ucp_Hanunoo,
 | |
|   ucp_Hebrew,
 | |
|   ucp_Hiragana,
 | |
|   ucp_Inherited,
 | |
|   ucp_Kannada,
 | |
|   ucp_Katakana,
 | |
|   ucp_Kharoshthi,
 | |
|   ucp_Khmer,
 | |
|   ucp_Lao,
 | |
|   ucp_Latin,
 | |
|   ucp_Limbu,
 | |
|   ucp_Linear_B,
 | |
|   ucp_Malayalam,
 | |
|   ucp_Mongolian,
 | |
|   ucp_Myanmar,
 | |
|   ucp_New_Tai_Lue,
 | |
|   ucp_Ogham,
 | |
|   ucp_Old_Italic,
 | |
|   ucp_Old_Persian,
 | |
|   ucp_Oriya,
 | |
|   ucp_Osmanya,
 | |
|   ucp_Runic,
 | |
|   ucp_Shavian,
 | |
|   ucp_Sinhala,
 | |
|   ucp_Syloti_Nagri,
 | |
|   ucp_Syriac,
 | |
|   ucp_Tagalog,
 | |
|   ucp_Tagbanwa,
 | |
|   ucp_Tai_Le,
 | |
|   ucp_Tamil,
 | |
|   ucp_Telugu,
 | |
|   ucp_Thaana,
 | |
|   ucp_Thai,
 | |
|   ucp_Tibetan,
 | |
|   ucp_Tifinagh,
 | |
|   ucp_Ugaritic,
 | |
|   ucp_Yi,
 | |
|   /* New for Unicode 5.0: */
 | |
|   ucp_Balinese,
 | |
|   ucp_Cuneiform,
 | |
|   ucp_Nko,
 | |
|   ucp_Phags_Pa,
 | |
|   ucp_Phoenician,
 | |
|   /* New for Unicode 5.1: */
 | |
|   ucp_Carian,
 | |
|   ucp_Cham,
 | |
|   ucp_Kayah_Li,
 | |
|   ucp_Lepcha,
 | |
|   ucp_Lycian,
 | |
|   ucp_Lydian,
 | |
|   ucp_Ol_Chiki,
 | |
|   ucp_Rejang,
 | |
|   ucp_Saurashtra,
 | |
|   ucp_Sundanese,
 | |
|   ucp_Vai,
 | |
|   /* New for Unicode 5.2: */
 | |
|   ucp_Avestan,
 | |
|   ucp_Bamum,
 | |
|   ucp_Egyptian_Hieroglyphs,
 | |
|   ucp_Imperial_Aramaic,
 | |
|   ucp_Inscriptional_Pahlavi,
 | |
|   ucp_Inscriptional_Parthian,
 | |
|   ucp_Javanese,
 | |
|   ucp_Kaithi,
 | |
|   ucp_Lisu,
 | |
|   ucp_Meetei_Mayek,
 | |
|   ucp_Old_South_Arabian,
 | |
|   ucp_Old_Turkic,
 | |
|   ucp_Samaritan,
 | |
|   ucp_Tai_Tham,
 | |
|   ucp_Tai_Viet,
 | |
|   /* New for Unicode 6.0.0: */
 | |
|   ucp_Batak,
 | |
|   ucp_Brahmi,
 | |
|   ucp_Mandaic,
 | |
|   /* New for Unicode 6.1.0: */
 | |
|   ucp_Chakma,
 | |
|   ucp_Meroitic_Cursive,
 | |
|   ucp_Meroitic_Hieroglyphs,
 | |
|   ucp_Miao,
 | |
|   ucp_Sharada,
 | |
|   ucp_Sora_Sompeng,
 | |
|   ucp_Takri
 | |
| };
 | |
| 
 | |
| #endif
 | |
| 
 | |
| /* End of ucp.h */
 |