|
ICU 73.2
73.2
|
00001 // © 2016 and later: Unicode, Inc. and others. 00002 // License & terms of use: http://www.unicode.org/copyright.html 00003 /* 00004 ********************************************************************** 00005 * Copyright (C) 1997-2016, International Business Machines 00006 * Corporation and others. All Rights Reserved. 00007 ********************************************************************** 00008 * 00009 * File UCHAR.H 00010 * 00011 * Modification History: 00012 * 00013 * Date Name Description 00014 * 04/02/97 aliu Creation. 00015 * 03/29/99 helena Updated for C APIs. 00016 * 4/15/99 Madhu Updated for C Implementation and Javadoc 00017 * 5/20/99 Madhu Added the function u_getVersion() 00018 * 8/19/1999 srl Upgraded scripts to Unicode 3.0 00019 * 8/27/1999 schererm UCharDirection constants: U_... 00020 * 11/11/1999 weiv added u_isalnum(), cleaned comments 00021 * 01/11/2000 helena Renamed u_getVersion to u_getUnicodeVersion(). 00022 ****************************************************************************** 00023 */ 00024 00025 #ifndef UCHAR_H 00026 #define UCHAR_H 00027 00028 #include "unicode/utypes.h" 00029 #include "unicode/stringoptions.h" 00030 #include "unicode/ucpmap.h" 00031 00032 #if !defined(USET_DEFINED) && !defined(U_IN_DOXYGEN) 00033 00034 #define USET_DEFINED 00035 00044 typedef struct USet USet; 00045 00046 #endif 00047 00048 00049 U_CDECL_BEGIN 00050 00051 /*==========================================================================*/ 00052 /* Unicode version number */ 00053 /*==========================================================================*/ 00063 #define U_UNICODE_VERSION "15.0" 00064 00157 #define UCHAR_MIN_VALUE 0 00158 00167 #define UCHAR_MAX_VALUE 0x10ffff 00168 00173 #define U_MASK(x) ((uint32_t)1<<(x)) 00174 00195 typedef enum UProperty { 00196 /* 00197 * Note: UProperty constants are parsed by preparseucd.py. 00198 * It matches lines like 00199 * UCHAR_<Unicode property name>=<integer>, 00200 */ 00201 00202 /* Note: Place UCHAR_ALPHABETIC before UCHAR_BINARY_START so that 00203 debuggers display UCHAR_ALPHABETIC as the symbolic name for 0, 00204 rather than UCHAR_BINARY_START. Likewise for other *_START 00205 identifiers. */ 00206 00209 UCHAR_ALPHABETIC=0, 00211 UCHAR_BINARY_START=UCHAR_ALPHABETIC, 00213 UCHAR_ASCII_HEX_DIGIT=1, 00217 UCHAR_BIDI_CONTROL=2, 00222 UCHAR_BIDI_MIRRORED=3, 00224 UCHAR_DASH=4, 00228 UCHAR_DEFAULT_IGNORABLE_CODE_POINT=5, 00231 UCHAR_DEPRECATED=6, 00234 UCHAR_DIACRITIC=7, 00238 UCHAR_EXTENDER=8, 00242 UCHAR_FULL_COMPOSITION_EXCLUSION=9, 00246 UCHAR_GRAPHEME_BASE=10, 00250 UCHAR_GRAPHEME_EXTEND=11, 00253 UCHAR_GRAPHEME_LINK=12, 00256 UCHAR_HEX_DIGIT=13, 00259 UCHAR_HYPHEN=14, 00264 UCHAR_ID_CONTINUE=15, 00268 UCHAR_ID_START=16, 00271 UCHAR_IDEOGRAPHIC=17, 00275 UCHAR_IDS_BINARY_OPERATOR=18, 00279 UCHAR_IDS_TRINARY_OPERATOR=19, 00282 UCHAR_JOIN_CONTROL=20, 00286 UCHAR_LOGICAL_ORDER_EXCEPTION=21, 00289 UCHAR_LOWERCASE=22, 00291 UCHAR_MATH=23, 00295 UCHAR_NONCHARACTER_CODE_POINT=24, 00297 UCHAR_QUOTATION_MARK=25, 00301 UCHAR_RADICAL=26, 00306 UCHAR_SOFT_DOTTED=27, 00310 UCHAR_TERMINAL_PUNCTUATION=28, 00314 UCHAR_UNIFIED_IDEOGRAPH=29, 00317 UCHAR_UPPERCASE=30, 00321 UCHAR_WHITE_SPACE=31, 00325 UCHAR_XID_CONTINUE=32, 00328 UCHAR_XID_START=33, 00332 UCHAR_CASE_SENSITIVE=34, 00337 UCHAR_S_TERM=35, 00343 UCHAR_VARIATION_SELECTOR=36, 00350 UCHAR_NFD_INERT=37, 00357 UCHAR_NFKD_INERT=38, 00364 UCHAR_NFC_INERT=39, 00371 UCHAR_NFKC_INERT=40, 00382 UCHAR_SEGMENT_STARTER=41, 00387 UCHAR_PATTERN_SYNTAX=42, 00392 UCHAR_PATTERN_WHITE_SPACE=43, 00397 UCHAR_POSIX_ALNUM=44, 00402 UCHAR_POSIX_BLANK=45, 00407 UCHAR_POSIX_GRAPH=46, 00412 UCHAR_POSIX_PRINT=47, 00417 UCHAR_POSIX_XDIGIT=48, 00419 UCHAR_CASED=49, 00421 UCHAR_CASE_IGNORABLE=50, 00423 UCHAR_CHANGES_WHEN_LOWERCASED=51, 00425 UCHAR_CHANGES_WHEN_UPPERCASED=52, 00427 UCHAR_CHANGES_WHEN_TITLECASED=53, 00429 UCHAR_CHANGES_WHEN_CASEFOLDED=54, 00431 UCHAR_CHANGES_WHEN_CASEMAPPED=55, 00433 UCHAR_CHANGES_WHEN_NFKC_CASEFOLDED=56, 00440 UCHAR_EMOJI=57, 00447 UCHAR_EMOJI_PRESENTATION=58, 00454 UCHAR_EMOJI_MODIFIER=59, 00461 UCHAR_EMOJI_MODIFIER_BASE=60, 00468 UCHAR_EMOJI_COMPONENT=61, 00473 UCHAR_REGIONAL_INDICATOR=62, 00478 UCHAR_PREPENDED_CONCATENATION_MARK=63, 00485 UCHAR_EXTENDED_PICTOGRAPHIC=64, 00492 UCHAR_BASIC_EMOJI=65, 00499 UCHAR_EMOJI_KEYCAP_SEQUENCE=66, 00506 UCHAR_RGI_EMOJI_MODIFIER_SEQUENCE=67, 00513 UCHAR_RGI_EMOJI_FLAG_SEQUENCE=68, 00520 UCHAR_RGI_EMOJI_TAG_SEQUENCE=69, 00527 UCHAR_RGI_EMOJI_ZWJ_SEQUENCE=70, 00534 UCHAR_RGI_EMOJI=71, 00535 #ifndef U_HIDE_DEPRECATED_API 00536 00540 UCHAR_BINARY_LIMIT=72, 00541 #endif // U_HIDE_DEPRECATED_API 00542 00545 UCHAR_BIDI_CLASS=0x1000, 00547 UCHAR_INT_START=UCHAR_BIDI_CLASS, 00550 UCHAR_BLOCK=0x1001, 00553 UCHAR_CANONICAL_COMBINING_CLASS=0x1002, 00556 UCHAR_DECOMPOSITION_TYPE=0x1003, 00560 UCHAR_EAST_ASIAN_WIDTH=0x1004, 00563 UCHAR_GENERAL_CATEGORY=0x1005, 00566 UCHAR_JOINING_GROUP=0x1006, 00569 UCHAR_JOINING_TYPE=0x1007, 00572 UCHAR_LINE_BREAK=0x1008, 00575 UCHAR_NUMERIC_TYPE=0x1009, 00578 UCHAR_SCRIPT=0x100A, 00581 UCHAR_HANGUL_SYLLABLE_TYPE=0x100B, 00584 UCHAR_NFD_QUICK_CHECK=0x100C, 00587 UCHAR_NFKD_QUICK_CHECK=0x100D, 00590 UCHAR_NFC_QUICK_CHECK=0x100E, 00593 UCHAR_NFKC_QUICK_CHECK=0x100F, 00600 UCHAR_LEAD_CANONICAL_COMBINING_CLASS=0x1010, 00607 UCHAR_TRAIL_CANONICAL_COMBINING_CLASS=0x1011, 00612 UCHAR_GRAPHEME_CLUSTER_BREAK=0x1012, 00617 UCHAR_SENTENCE_BREAK=0x1013, 00622 UCHAR_WORD_BREAK=0x1014, 00627 UCHAR_BIDI_PAIRED_BRACKET_TYPE=0x1015, 00635 UCHAR_INDIC_POSITIONAL_CATEGORY=0x1016, 00642 UCHAR_INDIC_SYLLABIC_CATEGORY=0x1017, 00649 UCHAR_VERTICAL_ORIENTATION=0x1018, 00650 #ifndef U_HIDE_DEPRECATED_API 00651 00655 UCHAR_INT_LIMIT=0x1019, 00656 #endif // U_HIDE_DEPRECATED_API 00657 00666 UCHAR_GENERAL_CATEGORY_MASK=0x2000, 00668 UCHAR_MASK_START=UCHAR_GENERAL_CATEGORY_MASK, 00669 #ifndef U_HIDE_DEPRECATED_API 00670 00674 UCHAR_MASK_LIMIT=0x2001, 00675 #endif // U_HIDE_DEPRECATED_API 00676 00679 UCHAR_NUMERIC_VALUE=0x3000, 00681 UCHAR_DOUBLE_START=UCHAR_NUMERIC_VALUE, 00682 #ifndef U_HIDE_DEPRECATED_API 00683 00687 UCHAR_DOUBLE_LIMIT=0x3001, 00688 #endif // U_HIDE_DEPRECATED_API 00689 00692 UCHAR_AGE=0x4000, 00694 UCHAR_STRING_START=UCHAR_AGE, 00697 UCHAR_BIDI_MIRRORING_GLYPH=0x4001, 00700 UCHAR_CASE_FOLDING=0x4002, 00701 #ifndef U_HIDE_DEPRECATED_API 00702 00704 UCHAR_ISO_COMMENT=0x4003, 00705 #endif /* U_HIDE_DEPRECATED_API */ 00706 00708 UCHAR_LOWERCASE_MAPPING=0x4004, 00711 UCHAR_NAME=0x4005, 00714 UCHAR_SIMPLE_CASE_FOLDING=0x4006, 00717 UCHAR_SIMPLE_LOWERCASE_MAPPING=0x4007, 00720 UCHAR_SIMPLE_TITLECASE_MAPPING=0x4008, 00723 UCHAR_SIMPLE_UPPERCASE_MAPPING=0x4009, 00726 UCHAR_TITLECASE_MAPPING=0x400A, 00727 #ifndef U_HIDE_DEPRECATED_API 00728 00732 UCHAR_UNICODE_1_NAME=0x400B, 00733 #endif /* U_HIDE_DEPRECATED_API */ 00734 00736 UCHAR_UPPERCASE_MAPPING=0x400C, 00739 UCHAR_BIDI_PAIRED_BRACKET=0x400D, 00740 #ifndef U_HIDE_DEPRECATED_API 00741 00745 UCHAR_STRING_LIMIT=0x400E, 00746 #endif // U_HIDE_DEPRECATED_API 00747 00753 UCHAR_SCRIPT_EXTENSIONS=0x7000, 00755 UCHAR_OTHER_PROPERTY_START=UCHAR_SCRIPT_EXTENSIONS, 00756 #ifndef U_HIDE_DEPRECATED_API 00757 00761 UCHAR_OTHER_PROPERTY_LIMIT=0x7001, 00762 #endif // U_HIDE_DEPRECATED_API 00763 00765 UCHAR_INVALID_CODE = -1 00766 } UProperty; 00767 00773 typedef enum UCharCategory 00774 { 00775 /* 00776 * Note: UCharCategory constants and their API comments are parsed by preparseucd.py. 00777 * It matches pairs of lines like 00778 * / ** <Unicode 2-letter General_Category value> comment... * / 00779 * U_<[A-Z_]+> = <integer>, 00780 */ 00781 00783 U_UNASSIGNED = 0, 00785 U_GENERAL_OTHER_TYPES = 0, 00787 U_UPPERCASE_LETTER = 1, 00789 U_LOWERCASE_LETTER = 2, 00791 U_TITLECASE_LETTER = 3, 00793 U_MODIFIER_LETTER = 4, 00795 U_OTHER_LETTER = 5, 00797 U_NON_SPACING_MARK = 6, 00799 U_ENCLOSING_MARK = 7, 00801 U_COMBINING_SPACING_MARK = 8, 00803 U_DECIMAL_DIGIT_NUMBER = 9, 00805 U_LETTER_NUMBER = 10, 00807 U_OTHER_NUMBER = 11, 00809 U_SPACE_SEPARATOR = 12, 00811 U_LINE_SEPARATOR = 13, 00813 U_PARAGRAPH_SEPARATOR = 14, 00815 U_CONTROL_CHAR = 15, 00817 U_FORMAT_CHAR = 16, 00819 U_PRIVATE_USE_CHAR = 17, 00821 U_SURROGATE = 18, 00823 U_DASH_PUNCTUATION = 19, 00825 U_START_PUNCTUATION = 20, 00827 U_END_PUNCTUATION = 21, 00829 U_CONNECTOR_PUNCTUATION = 22, 00831 U_OTHER_PUNCTUATION = 23, 00833 U_MATH_SYMBOL = 24, 00835 U_CURRENCY_SYMBOL = 25, 00837 U_MODIFIER_SYMBOL = 26, 00839 U_OTHER_SYMBOL = 27, 00841 U_INITIAL_PUNCTUATION = 28, 00843 U_FINAL_PUNCTUATION = 29, 00851 U_CHAR_CATEGORY_COUNT 00852 } UCharCategory; 00853 00868 #define U_GC_CN_MASK U_MASK(U_GENERAL_OTHER_TYPES) 00869 00871 #define U_GC_LU_MASK U_MASK(U_UPPERCASE_LETTER) 00872 00873 #define U_GC_LL_MASK U_MASK(U_LOWERCASE_LETTER) 00874 00875 #define U_GC_LT_MASK U_MASK(U_TITLECASE_LETTER) 00876 00877 #define U_GC_LM_MASK U_MASK(U_MODIFIER_LETTER) 00878 00879 #define U_GC_LO_MASK U_MASK(U_OTHER_LETTER) 00880 00882 #define U_GC_MN_MASK U_MASK(U_NON_SPACING_MARK) 00883 00884 #define U_GC_ME_MASK U_MASK(U_ENCLOSING_MARK) 00885 00886 #define U_GC_MC_MASK U_MASK(U_COMBINING_SPACING_MARK) 00887 00889 #define U_GC_ND_MASK U_MASK(U_DECIMAL_DIGIT_NUMBER) 00890 00891 #define U_GC_NL_MASK U_MASK(U_LETTER_NUMBER) 00892 00893 #define U_GC_NO_MASK U_MASK(U_OTHER_NUMBER) 00894 00896 #define U_GC_ZS_MASK U_MASK(U_SPACE_SEPARATOR) 00897 00898 #define U_GC_ZL_MASK U_MASK(U_LINE_SEPARATOR) 00899 00900 #define U_GC_ZP_MASK U_MASK(U_PARAGRAPH_SEPARATOR) 00901 00903 #define U_GC_CC_MASK U_MASK(U_CONTROL_CHAR) 00904 00905 #define U_GC_CF_MASK U_MASK(U_FORMAT_CHAR) 00906 00907 #define U_GC_CO_MASK U_MASK(U_PRIVATE_USE_CHAR) 00908 00909 #define U_GC_CS_MASK U_MASK(U_SURROGATE) 00910 00912 #define U_GC_PD_MASK U_MASK(U_DASH_PUNCTUATION) 00913 00914 #define U_GC_PS_MASK U_MASK(U_START_PUNCTUATION) 00915 00916 #define U_GC_PE_MASK U_MASK(U_END_PUNCTUATION) 00917 00918 #define U_GC_PC_MASK U_MASK(U_CONNECTOR_PUNCTUATION) 00919 00920 #define U_GC_PO_MASK U_MASK(U_OTHER_PUNCTUATION) 00921 00923 #define U_GC_SM_MASK U_MASK(U_MATH_SYMBOL) 00924 00925 #define U_GC_SC_MASK U_MASK(U_CURRENCY_SYMBOL) 00926 00927 #define U_GC_SK_MASK U_MASK(U_MODIFIER_SYMBOL) 00928 00929 #define U_GC_SO_MASK U_MASK(U_OTHER_SYMBOL) 00930 00932 #define U_GC_PI_MASK U_MASK(U_INITIAL_PUNCTUATION) 00933 00934 #define U_GC_PF_MASK U_MASK(U_FINAL_PUNCTUATION) 00935 00936 00938 #define U_GC_L_MASK \ 00939 (U_GC_LU_MASK|U_GC_LL_MASK|U_GC_LT_MASK|U_GC_LM_MASK|U_GC_LO_MASK) 00940 00942 #define U_GC_LC_MASK \ 00943 (U_GC_LU_MASK|U_GC_LL_MASK|U_GC_LT_MASK) 00944 00946 #define U_GC_M_MASK (U_GC_MN_MASK|U_GC_ME_MASK|U_GC_MC_MASK) 00947 00949 #define U_GC_N_MASK (U_GC_ND_MASK|U_GC_NL_MASK|U_GC_NO_MASK) 00950 00952 #define U_GC_Z_MASK (U_GC_ZS_MASK|U_GC_ZL_MASK|U_GC_ZP_MASK) 00953 00955 #define U_GC_C_MASK \ 00956 (U_GC_CN_MASK|U_GC_CC_MASK|U_GC_CF_MASK|U_GC_CO_MASK|U_GC_CS_MASK) 00957 00959 #define U_GC_P_MASK \ 00960 (U_GC_PD_MASK|U_GC_PS_MASK|U_GC_PE_MASK|U_GC_PC_MASK|U_GC_PO_MASK| \ 00961 U_GC_PI_MASK|U_GC_PF_MASK) 00962 00964 #define U_GC_S_MASK (U_GC_SM_MASK|U_GC_SC_MASK|U_GC_SK_MASK|U_GC_SO_MASK) 00965 00970 typedef enum UCharDirection { 00971 /* 00972 * Note: UCharDirection constants and their API comments are parsed by preparseucd.py. 00973 * It matches pairs of lines like 00974 * / ** <Unicode 1..3-letter Bidi_Class value> comment... * / 00975 * U_<[A-Z_]+> = <integer>, 00976 */ 00977 00979 U_LEFT_TO_RIGHT = 0, 00981 U_RIGHT_TO_LEFT = 1, 00983 U_EUROPEAN_NUMBER = 2, 00985 U_EUROPEAN_NUMBER_SEPARATOR = 3, 00987 U_EUROPEAN_NUMBER_TERMINATOR = 4, 00989 U_ARABIC_NUMBER = 5, 00991 U_COMMON_NUMBER_SEPARATOR = 6, 00993 U_BLOCK_SEPARATOR = 7, 00995 U_SEGMENT_SEPARATOR = 8, 00997 U_WHITE_SPACE_NEUTRAL = 9, 00999 U_OTHER_NEUTRAL = 10, 01001 U_LEFT_TO_RIGHT_EMBEDDING = 11, 01003 U_LEFT_TO_RIGHT_OVERRIDE = 12, 01005 U_RIGHT_TO_LEFT_ARABIC = 13, 01007 U_RIGHT_TO_LEFT_EMBEDDING = 14, 01009 U_RIGHT_TO_LEFT_OVERRIDE = 15, 01011 U_POP_DIRECTIONAL_FORMAT = 16, 01013 U_DIR_NON_SPACING_MARK = 17, 01015 U_BOUNDARY_NEUTRAL = 18, 01017 U_FIRST_STRONG_ISOLATE = 19, 01019 U_LEFT_TO_RIGHT_ISOLATE = 20, 01021 U_RIGHT_TO_LEFT_ISOLATE = 21, 01023 U_POP_DIRECTIONAL_ISOLATE = 22, 01024 #ifndef U_HIDE_DEPRECATED_API 01025 01031 U_CHAR_DIRECTION_COUNT 01032 #endif // U_HIDE_DEPRECATED_API 01033 } UCharDirection; 01034 01041 typedef enum UBidiPairedBracketType { 01042 /* 01043 * Note: UBidiPairedBracketType constants are parsed by preparseucd.py. 01044 * It matches lines like 01045 * U_BPT_<Unicode Bidi_Paired_Bracket_Type value name> 01046 */ 01047 01049 U_BPT_NONE, 01051 U_BPT_OPEN, 01053 U_BPT_CLOSE, 01054 #ifndef U_HIDE_DEPRECATED_API 01055 01061 U_BPT_COUNT /* 3 */ 01062 #endif // U_HIDE_DEPRECATED_API 01063 } UBidiPairedBracketType; 01064 01069 enum UBlockCode { 01070 /* 01071 * Note: UBlockCode constants are parsed by preparseucd.py. 01072 * It matches lines like 01073 * UBLOCK_<Unicode Block value name> = <integer>, 01074 */ 01075 01077 UBLOCK_NO_BLOCK = 0, /*[none]*/ /* Special range indicating No_Block */ 01078 01080 UBLOCK_BASIC_LATIN = 1, /*[0000]*/ 01081 01083 UBLOCK_LATIN_1_SUPPLEMENT=2, /*[0080]*/ 01084 01086 UBLOCK_LATIN_EXTENDED_A =3, /*[0100]*/ 01087 01089 UBLOCK_LATIN_EXTENDED_B =4, /*[0180]*/ 01090 01092 UBLOCK_IPA_EXTENSIONS =5, /*[0250]*/ 01093 01095 UBLOCK_SPACING_MODIFIER_LETTERS =6, /*[02B0]*/ 01096 01098 UBLOCK_COMBINING_DIACRITICAL_MARKS =7, /*[0300]*/ 01099 01104 UBLOCK_GREEK =8, /*[0370]*/ 01105 01107 UBLOCK_CYRILLIC =9, /*[0400]*/ 01108 01110 UBLOCK_ARMENIAN =10, /*[0530]*/ 01111 01113 UBLOCK_HEBREW =11, /*[0590]*/ 01114 01116 UBLOCK_ARABIC =12, /*[0600]*/ 01117 01119 UBLOCK_SYRIAC =13, /*[0700]*/ 01120 01122 UBLOCK_THAANA =14, /*[0780]*/ 01123 01125 UBLOCK_DEVANAGARI =15, /*[0900]*/ 01126 01128 UBLOCK_BENGALI =16, /*[0980]*/ 01129 01131 UBLOCK_GURMUKHI =17, /*[0A00]*/ 01132 01134 UBLOCK_GUJARATI =18, /*[0A80]*/ 01135 01137 UBLOCK_ORIYA =19, /*[0B00]*/ 01138 01140 UBLOCK_TAMIL =20, /*[0B80]*/ 01141 01143 UBLOCK_TELUGU =21, /*[0C00]*/ 01144 01146 UBLOCK_KANNADA =22, /*[0C80]*/ 01147 01149 UBLOCK_MALAYALAM =23, /*[0D00]*/ 01150 01152 UBLOCK_SINHALA =24, /*[0D80]*/ 01153 01155 UBLOCK_THAI =25, /*[0E00]*/ 01156 01158 UBLOCK_LAO =26, /*[0E80]*/ 01159 01161 UBLOCK_TIBETAN =27, /*[0F00]*/ 01162 01164 UBLOCK_MYANMAR =28, /*[1000]*/ 01165 01167 UBLOCK_GEORGIAN =29, /*[10A0]*/ 01168 01170 UBLOCK_HANGUL_JAMO =30, /*[1100]*/ 01171 01173 UBLOCK_ETHIOPIC =31, /*[1200]*/ 01174 01176 UBLOCK_CHEROKEE =32, /*[13A0]*/ 01177 01179 UBLOCK_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS =33, /*[1400]*/ 01180 01182 UBLOCK_OGHAM =34, /*[1680]*/ 01183 01185 UBLOCK_RUNIC =35, /*[16A0]*/ 01186 01188 UBLOCK_KHMER =36, /*[1780]*/ 01189 01191 UBLOCK_MONGOLIAN =37, /*[1800]*/ 01192 01194 UBLOCK_LATIN_EXTENDED_ADDITIONAL =38, /*[1E00]*/ 01195 01197 UBLOCK_GREEK_EXTENDED =39, /*[1F00]*/ 01198 01200 UBLOCK_GENERAL_PUNCTUATION =40, /*[2000]*/ 01201 01203 UBLOCK_SUPERSCRIPTS_AND_SUBSCRIPTS =41, /*[2070]*/ 01204 01206 UBLOCK_CURRENCY_SYMBOLS =42, /*[20A0]*/ 01207 01212 UBLOCK_COMBINING_MARKS_FOR_SYMBOLS =43, /*[20D0]*/ 01213 01215 UBLOCK_LETTERLIKE_SYMBOLS =44, /*[2100]*/ 01216 01218 UBLOCK_NUMBER_FORMS =45, /*[2150]*/ 01219 01221 UBLOCK_ARROWS =46, /*[2190]*/ 01222 01224 UBLOCK_MATHEMATICAL_OPERATORS =47, /*[2200]*/ 01225 01227 UBLOCK_MISCELLANEOUS_TECHNICAL =48, /*[2300]*/ 01228 01230 UBLOCK_CONTROL_PICTURES =49, /*[2400]*/ 01231 01233 UBLOCK_OPTICAL_CHARACTER_RECOGNITION =50, /*[2440]*/ 01234 01236 UBLOCK_ENCLOSED_ALPHANUMERICS =51, /*[2460]*/ 01237 01239 UBLOCK_BOX_DRAWING =52, /*[2500]*/ 01240 01242 UBLOCK_BLOCK_ELEMENTS =53, /*[2580]*/ 01243 01245 UBLOCK_GEOMETRIC_SHAPES =54, /*[25A0]*/ 01246 01248 UBLOCK_MISCELLANEOUS_SYMBOLS =55, /*[2600]*/ 01249 01251 UBLOCK_DINGBATS =56, /*[2700]*/ 01252 01254 UBLOCK_BRAILLE_PATTERNS =57, /*[2800]*/ 01255 01257 UBLOCK_CJK_RADICALS_SUPPLEMENT =58, /*[2E80]*/ 01258 01260 UBLOCK_KANGXI_RADICALS =59, /*[2F00]*/ 01261 01263 UBLOCK_IDEOGRAPHIC_DESCRIPTION_CHARACTERS =60, /*[2FF0]*/ 01264 01266 UBLOCK_CJK_SYMBOLS_AND_PUNCTUATION =61, /*[3000]*/ 01267 01269 UBLOCK_HIRAGANA =62, /*[3040]*/ 01270 01272 UBLOCK_KATAKANA =63, /*[30A0]*/ 01273 01275 UBLOCK_BOPOMOFO =64, /*[3100]*/ 01276 01278 UBLOCK_HANGUL_COMPATIBILITY_JAMO =65, /*[3130]*/ 01279 01281 UBLOCK_KANBUN =66, /*[3190]*/ 01282 01284 UBLOCK_BOPOMOFO_EXTENDED =67, /*[31A0]*/ 01285 01287 UBLOCK_ENCLOSED_CJK_LETTERS_AND_MONTHS =68, /*[3200]*/ 01288 01290 UBLOCK_CJK_COMPATIBILITY =69, /*[3300]*/ 01291 01293 UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A =70, /*[3400]*/ 01294 01296 UBLOCK_CJK_UNIFIED_IDEOGRAPHS =71, /*[4E00]*/ 01297 01299 UBLOCK_YI_SYLLABLES =72, /*[A000]*/ 01300 01302 UBLOCK_YI_RADICALS =73, /*[A490]*/ 01303 01305 UBLOCK_HANGUL_SYLLABLES =74, /*[AC00]*/ 01306 01308 UBLOCK_HIGH_SURROGATES =75, /*[D800]*/ 01309 01311 UBLOCK_HIGH_PRIVATE_USE_SURROGATES =76, /*[DB80]*/ 01312 01314 UBLOCK_LOW_SURROGATES =77, /*[DC00]*/ 01315 01325 UBLOCK_PRIVATE_USE_AREA =78, /*[E000]*/ 01335 UBLOCK_PRIVATE_USE = UBLOCK_PRIVATE_USE_AREA, 01336 01338 UBLOCK_CJK_COMPATIBILITY_IDEOGRAPHS =79, /*[F900]*/ 01339 01341 UBLOCK_ALPHABETIC_PRESENTATION_FORMS =80, /*[FB00]*/ 01342 01344 UBLOCK_ARABIC_PRESENTATION_FORMS_A =81, /*[FB50]*/ 01345 01347 UBLOCK_COMBINING_HALF_MARKS =82, /*[FE20]*/ 01348 01350 UBLOCK_CJK_COMPATIBILITY_FORMS =83, /*[FE30]*/ 01351 01353 UBLOCK_SMALL_FORM_VARIANTS =84, /*[FE50]*/ 01354 01356 UBLOCK_ARABIC_PRESENTATION_FORMS_B =85, /*[FE70]*/ 01357 01359 UBLOCK_SPECIALS =86, /*[FFF0]*/ 01360 01362 UBLOCK_HALFWIDTH_AND_FULLWIDTH_FORMS =87, /*[FF00]*/ 01363 01364 /* New blocks in Unicode 3.1 */ 01365 01367 UBLOCK_OLD_ITALIC = 88, /*[10300]*/ 01369 UBLOCK_GOTHIC = 89, /*[10330]*/ 01371 UBLOCK_DESERET = 90, /*[10400]*/ 01373 UBLOCK_BYZANTINE_MUSICAL_SYMBOLS = 91, /*[1D000]*/ 01375 UBLOCK_MUSICAL_SYMBOLS = 92, /*[1D100]*/ 01377 UBLOCK_MATHEMATICAL_ALPHANUMERIC_SYMBOLS = 93, /*[1D400]*/ 01379 UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B = 94, /*[20000]*/ 01381 UBLOCK_CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT = 95, /*[2F800]*/ 01383 UBLOCK_TAGS = 96, /*[E0000]*/ 01384 01385 /* New blocks in Unicode 3.2 */ 01386 01388 UBLOCK_CYRILLIC_SUPPLEMENT = 97, /*[0500]*/ 01393 UBLOCK_CYRILLIC_SUPPLEMENTARY = UBLOCK_CYRILLIC_SUPPLEMENT, 01395 UBLOCK_TAGALOG = 98, /*[1700]*/ 01397 UBLOCK_HANUNOO = 99, /*[1720]*/ 01399 UBLOCK_BUHID = 100, /*[1740]*/ 01401 UBLOCK_TAGBANWA = 101, /*[1760]*/ 01403 UBLOCK_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A = 102, /*[27C0]*/ 01405 UBLOCK_SUPPLEMENTAL_ARROWS_A = 103, /*[27F0]*/ 01407 UBLOCK_SUPPLEMENTAL_ARROWS_B = 104, /*[2900]*/ 01409 UBLOCK_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B = 105, /*[2980]*/ 01411 UBLOCK_SUPPLEMENTAL_MATHEMATICAL_OPERATORS = 106, /*[2A00]*/ 01413 UBLOCK_KATAKANA_PHONETIC_EXTENSIONS = 107, /*[31F0]*/ 01415 UBLOCK_VARIATION_SELECTORS = 108, /*[FE00]*/ 01417 UBLOCK_SUPPLEMENTARY_PRIVATE_USE_AREA_A = 109, /*[F0000]*/ 01419 UBLOCK_SUPPLEMENTARY_PRIVATE_USE_AREA_B = 110, /*[100000]*/ 01420 01421 /* New blocks in Unicode 4 */ 01422 01424 UBLOCK_LIMBU = 111, /*[1900]*/ 01426 UBLOCK_TAI_LE = 112, /*[1950]*/ 01428 UBLOCK_KHMER_SYMBOLS = 113, /*[19E0]*/ 01430 UBLOCK_PHONETIC_EXTENSIONS = 114, /*[1D00]*/ 01432 UBLOCK_MISCELLANEOUS_SYMBOLS_AND_ARROWS = 115, /*[2B00]*/ 01434 UBLOCK_YIJING_HEXAGRAM_SYMBOLS = 116, /*[4DC0]*/ 01436 UBLOCK_LINEAR_B_SYLLABARY = 117, /*[10000]*/ 01438 UBLOCK_LINEAR_B_IDEOGRAMS = 118, /*[10080]*/ 01440 UBLOCK_AEGEAN_NUMBERS = 119, /*[10100]*/ 01442 UBLOCK_UGARITIC = 120, /*[10380]*/ 01444 UBLOCK_SHAVIAN = 121, /*[10450]*/ 01446 UBLOCK_OSMANYA = 122, /*[10480]*/ 01448 UBLOCK_CYPRIOT_SYLLABARY = 123, /*[10800]*/ 01450 UBLOCK_TAI_XUAN_JING_SYMBOLS = 124, /*[1D300]*/ 01452 UBLOCK_VARIATION_SELECTORS_SUPPLEMENT = 125, /*[E0100]*/ 01453 01454 /* New blocks in Unicode 4.1 */ 01455 01457 UBLOCK_ANCIENT_GREEK_MUSICAL_NOTATION = 126, /*[1D200]*/ 01459 UBLOCK_ANCIENT_GREEK_NUMBERS = 127, /*[10140]*/ 01461 UBLOCK_ARABIC_SUPPLEMENT = 128, /*[0750]*/ 01463 UBLOCK_BUGINESE = 129, /*[1A00]*/ 01465 UBLOCK_CJK_STROKES = 130, /*[31C0]*/ 01467 UBLOCK_COMBINING_DIACRITICAL_MARKS_SUPPLEMENT = 131, /*[1DC0]*/ 01469 UBLOCK_COPTIC = 132, /*[2C80]*/ 01471 UBLOCK_ETHIOPIC_EXTENDED = 133, /*[2D80]*/ 01473 UBLOCK_ETHIOPIC_SUPPLEMENT = 134, /*[1380]*/ 01475 UBLOCK_GEORGIAN_SUPPLEMENT = 135, /*[2D00]*/ 01477 UBLOCK_GLAGOLITIC = 136, /*[2C00]*/ 01479 UBLOCK_KHAROSHTHI = 137, /*[10A00]*/ 01481 UBLOCK_MODIFIER_TONE_LETTERS = 138, /*[A700]*/ 01483 UBLOCK_NEW_TAI_LUE = 139, /*[1980]*/ 01485 UBLOCK_OLD_PERSIAN = 140, /*[103A0]*/ 01487 UBLOCK_PHONETIC_EXTENSIONS_SUPPLEMENT = 141, /*[1D80]*/ 01489 UBLOCK_SUPPLEMENTAL_PUNCTUATION = 142, /*[2E00]*/ 01491 UBLOCK_SYLOTI_NAGRI = 143, /*[A800]*/ 01493 UBLOCK_TIFINAGH = 144, /*[2D30]*/ 01495 UBLOCK_VERTICAL_FORMS = 145, /*[FE10]*/ 01496 01497 /* New blocks in Unicode 5.0 */ 01498 01500 UBLOCK_NKO = 146, /*[07C0]*/ 01502 UBLOCK_BALINESE = 147, /*[1B00]*/ 01504 UBLOCK_LATIN_EXTENDED_C = 148, /*[2C60]*/ 01506 UBLOCK_LATIN_EXTENDED_D = 149, /*[A720]*/ 01508 UBLOCK_PHAGS_PA = 150, /*[A840]*/ 01510 UBLOCK_PHOENICIAN = 151, /*[10900]*/ 01512 UBLOCK_CUNEIFORM = 152, /*[12000]*/ 01514 UBLOCK_CUNEIFORM_NUMBERS_AND_PUNCTUATION = 153, /*[12400]*/ 01516 UBLOCK_COUNTING_ROD_NUMERALS = 154, /*[1D360]*/ 01517 01518 /* New blocks in Unicode 5.1 */ 01519 01521 UBLOCK_SUNDANESE = 155, /*[1B80]*/ 01523 UBLOCK_LEPCHA = 156, /*[1C00]*/ 01525 UBLOCK_OL_CHIKI = 157, /*[1C50]*/ 01527 UBLOCK_CYRILLIC_EXTENDED_A = 158, /*[2DE0]*/ 01529 UBLOCK_VAI = 159, /*[A500]*/ 01531 UBLOCK_CYRILLIC_EXTENDED_B = 160, /*[A640]*/ 01533 UBLOCK_SAURASHTRA = 161, /*[A880]*/ 01535 UBLOCK_KAYAH_LI = 162, /*[A900]*/ 01537 UBLOCK_REJANG = 163, /*[A930]*/ 01539 UBLOCK_CHAM = 164, /*[AA00]*/ 01541 UBLOCK_ANCIENT_SYMBOLS = 165, /*[10190]*/ 01543 UBLOCK_PHAISTOS_DISC = 166, /*[101D0]*/ 01545 UBLOCK_LYCIAN = 167, /*[10280]*/ 01547 UBLOCK_CARIAN = 168, /*[102A0]*/ 01549 UBLOCK_LYDIAN = 169, /*[10920]*/ 01551 UBLOCK_MAHJONG_TILES = 170, /*[1F000]*/ 01553 UBLOCK_DOMINO_TILES = 171, /*[1F030]*/ 01554 01555 /* New blocks in Unicode 5.2 */ 01556 01558 UBLOCK_SAMARITAN = 172, /*[0800]*/ 01560 UBLOCK_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED = 173, /*[18B0]*/ 01562 UBLOCK_TAI_THAM = 174, /*[1A20]*/ 01564 UBLOCK_VEDIC_EXTENSIONS = 175, /*[1CD0]*/ 01566 UBLOCK_LISU = 176, /*[A4D0]*/ 01568 UBLOCK_BAMUM = 177, /*[A6A0]*/ 01570 UBLOCK_COMMON_INDIC_NUMBER_FORMS = 178, /*[A830]*/ 01572 UBLOCK_DEVANAGARI_EXTENDED = 179, /*[A8E0]*/ 01574 UBLOCK_HANGUL_JAMO_EXTENDED_A = 180, /*[A960]*/ 01576 UBLOCK_JAVANESE = 181, /*[A980]*/ 01578 UBLOCK_MYANMAR_EXTENDED_A = 182, /*[AA60]*/ 01580 UBLOCK_TAI_VIET = 183, /*[AA80]*/ 01582 UBLOCK_MEETEI_MAYEK = 184, /*[ABC0]*/ 01584 UBLOCK_HANGUL_JAMO_EXTENDED_B = 185, /*[D7B0]*/ 01586 UBLOCK_IMPERIAL_ARAMAIC = 186, /*[10840]*/ 01588 UBLOCK_OLD_SOUTH_ARABIAN = 187, /*[10A60]*/ 01590 UBLOCK_AVESTAN = 188, /*[10B00]*/ 01592 UBLOCK_INSCRIPTIONAL_PARTHIAN = 189, /*[10B40]*/ 01594 UBLOCK_INSCRIPTIONAL_PAHLAVI = 190, /*[10B60]*/ 01596 UBLOCK_OLD_TURKIC = 191, /*[10C00]*/ 01598 UBLOCK_RUMI_NUMERAL_SYMBOLS = 192, /*[10E60]*/ 01600 UBLOCK_KAITHI = 193, /*[11080]*/ 01602 UBLOCK_EGYPTIAN_HIEROGLYPHS = 194, /*[13000]*/ 01604 UBLOCK_ENCLOSED_ALPHANUMERIC_SUPPLEMENT = 195, /*[1F100]*/ 01606 UBLOCK_ENCLOSED_IDEOGRAPHIC_SUPPLEMENT = 196, /*[1F200]*/ 01608 UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C = 197, /*[2A700]*/ 01609 01610 /* New blocks in Unicode 6.0 */ 01611 01613 UBLOCK_MANDAIC = 198, /*[0840]*/ 01615 UBLOCK_BATAK = 199, /*[1BC0]*/ 01617 UBLOCK_ETHIOPIC_EXTENDED_A = 200, /*[AB00]*/ 01619 UBLOCK_BRAHMI = 201, /*[11000]*/ 01621 UBLOCK_BAMUM_SUPPLEMENT = 202, /*[16800]*/ 01623 UBLOCK_KANA_SUPPLEMENT = 203, /*[1B000]*/ 01625 UBLOCK_PLAYING_CARDS = 204, /*[1F0A0]*/ 01627 UBLOCK_MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS = 205, /*[1F300]*/ 01629 UBLOCK_EMOTICONS = 206, /*[1F600]*/ 01631 UBLOCK_TRANSPORT_AND_MAP_SYMBOLS = 207, /*[1F680]*/ 01633 UBLOCK_ALCHEMICAL_SYMBOLS = 208, /*[1F700]*/ 01635 UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D = 209, /*[2B740]*/ 01636 01637 /* New blocks in Unicode 6.1 */ 01638 01640 UBLOCK_ARABIC_EXTENDED_A = 210, /*[08A0]*/ 01642 UBLOCK_ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS = 211, /*[1EE00]*/ 01644 UBLOCK_CHAKMA = 212, /*[11100]*/ 01646 UBLOCK_MEETEI_MAYEK_EXTENSIONS = 213, /*[AAE0]*/ 01648 UBLOCK_MEROITIC_CURSIVE = 214, /*[109A0]*/ 01650 UBLOCK_MEROITIC_HIEROGLYPHS = 215, /*[10980]*/ 01652 UBLOCK_MIAO = 216, /*[16F00]*/ 01654 UBLOCK_SHARADA = 217, /*[11180]*/ 01656 UBLOCK_SORA_SOMPENG = 218, /*[110D0]*/ 01658 UBLOCK_SUNDANESE_SUPPLEMENT = 219, /*[1CC0]*/ 01660 UBLOCK_TAKRI = 220, /*[11680]*/ 01661 01662 /* New blocks in Unicode 7.0 */ 01663 01665 UBLOCK_BASSA_VAH = 221, /*[16AD0]*/ 01667 UBLOCK_CAUCASIAN_ALBANIAN = 222, /*[10530]*/ 01669 UBLOCK_COPTIC_EPACT_NUMBERS = 223, /*[102E0]*/ 01671 UBLOCK_COMBINING_DIACRITICAL_MARKS_EXTENDED = 224, /*[1AB0]*/ 01673 UBLOCK_DUPLOYAN = 225, /*[1BC00]*/ 01675 UBLOCK_ELBASAN = 226, /*[10500]*/ 01677 UBLOCK_GEOMETRIC_SHAPES_EXTENDED = 227, /*[1F780]*/ 01679 UBLOCK_GRANTHA = 228, /*[11300]*/ 01681 UBLOCK_KHOJKI = 229, /*[11200]*/ 01683 UBLOCK_KHUDAWADI = 230, /*[112B0]*/ 01685 UBLOCK_LATIN_EXTENDED_E = 231, /*[AB30]*/ 01687 UBLOCK_LINEAR_A = 232, /*[10600]*/ 01689 UBLOCK_MAHAJANI = 233, /*[11150]*/ 01691 UBLOCK_MANICHAEAN = 234, /*[10AC0]*/ 01693 UBLOCK_MENDE_KIKAKUI = 235, /*[1E800]*/ 01695 UBLOCK_MODI = 236, /*[11600]*/ 01697 UBLOCK_MRO = 237, /*[16A40]*/ 01699 UBLOCK_MYANMAR_EXTENDED_B = 238, /*[A9E0]*/ 01701 UBLOCK_NABATAEAN = 239, /*[10880]*/ 01703 UBLOCK_OLD_NORTH_ARABIAN = 240, /*[10A80]*/ 01705 UBLOCK_OLD_PERMIC = 241, /*[10350]*/ 01707 UBLOCK_ORNAMENTAL_DINGBATS = 242, /*[1F650]*/ 01709 UBLOCK_PAHAWH_HMONG = 243, /*[16B00]*/ 01711 UBLOCK_PALMYRENE = 244, /*[10860]*/ 01713 UBLOCK_PAU_CIN_HAU = 245, /*[11AC0]*/ 01715 UBLOCK_PSALTER_PAHLAVI = 246, /*[10B80]*/ 01717 UBLOCK_SHORTHAND_FORMAT_CONTROLS = 247, /*[1BCA0]*/ 01719 UBLOCK_SIDDHAM = 248, /*[11580]*/ 01721 UBLOCK_SINHALA_ARCHAIC_NUMBERS = 249, /*[111E0]*/ 01723 UBLOCK_SUPPLEMENTAL_ARROWS_C = 250, /*[1F800]*/ 01725 UBLOCK_TIRHUTA = 251, /*[11480]*/ 01727 UBLOCK_WARANG_CITI = 252, /*[118A0]*/ 01728 01729 /* New blocks in Unicode 8.0 */ 01730 01732 UBLOCK_AHOM = 253, /*[11700]*/ 01734 UBLOCK_ANATOLIAN_HIEROGLYPHS = 254, /*[14400]*/ 01736 UBLOCK_CHEROKEE_SUPPLEMENT = 255, /*[AB70]*/ 01738 UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_E = 256, /*[2B820]*/ 01740 UBLOCK_EARLY_DYNASTIC_CUNEIFORM = 257, /*[12480]*/ 01742 UBLOCK_HATRAN = 258, /*[108E0]*/ 01744 UBLOCK_MULTANI = 259, /*[11280]*/ 01746 UBLOCK_OLD_HUNGARIAN = 260, /*[10C80]*/ 01748 UBLOCK_SUPPLEMENTAL_SYMBOLS_AND_PICTOGRAPHS = 261, /*[1F900]*/ 01750 UBLOCK_SUTTON_SIGNWRITING = 262, /*[1D800]*/ 01751 01752 /* New blocks in Unicode 9.0 */ 01753 01755 UBLOCK_ADLAM = 263, /*[1E900]*/ 01757 UBLOCK_BHAIKSUKI = 264, /*[11C00]*/ 01759 UBLOCK_CYRILLIC_EXTENDED_C = 265, /*[1C80]*/ 01761 UBLOCK_GLAGOLITIC_SUPPLEMENT = 266, /*[1E000]*/ 01763 UBLOCK_IDEOGRAPHIC_SYMBOLS_AND_PUNCTUATION = 267, /*[16FE0]*/ 01765 UBLOCK_MARCHEN = 268, /*[11C70]*/ 01767 UBLOCK_MONGOLIAN_SUPPLEMENT = 269, /*[11660]*/ 01769 UBLOCK_NEWA = 270, /*[11400]*/ 01771 UBLOCK_OSAGE = 271, /*[104B0]*/ 01773 UBLOCK_TANGUT = 272, /*[17000]*/ 01775 UBLOCK_TANGUT_COMPONENTS = 273, /*[18800]*/ 01776 01777 // New blocks in Unicode 10.0 01778 01780 UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_F = 274, /*[2CEB0]*/ 01782 UBLOCK_KANA_EXTENDED_A = 275, /*[1B100]*/ 01784 UBLOCK_MASARAM_GONDI = 276, /*[11D00]*/ 01786 UBLOCK_NUSHU = 277, /*[1B170]*/ 01788 UBLOCK_SOYOMBO = 278, /*[11A50]*/ 01790 UBLOCK_SYRIAC_SUPPLEMENT = 279, /*[0860]*/ 01792 UBLOCK_ZANABAZAR_SQUARE = 280, /*[11A00]*/ 01793 01794 // New blocks in Unicode 11.0 01795 01797 UBLOCK_CHESS_SYMBOLS = 281, /*[1FA00]*/ 01799 UBLOCK_DOGRA = 282, /*[11800]*/ 01801 UBLOCK_GEORGIAN_EXTENDED = 283, /*[1C90]*/ 01803 UBLOCK_GUNJALA_GONDI = 284, /*[11D60]*/ 01805 UBLOCK_HANIFI_ROHINGYA = 285, /*[10D00]*/ 01807 UBLOCK_INDIC_SIYAQ_NUMBERS = 286, /*[1EC70]*/ 01809 UBLOCK_MAKASAR = 287, /*[11EE0]*/ 01811 UBLOCK_MAYAN_NUMERALS = 288, /*[1D2E0]*/ 01813 UBLOCK_MEDEFAIDRIN = 289, /*[16E40]*/ 01815 UBLOCK_OLD_SOGDIAN = 290, /*[10F00]*/ 01817 UBLOCK_SOGDIAN = 291, /*[10F30]*/ 01818 01819 // New blocks in Unicode 12.0 01820 01822 UBLOCK_EGYPTIAN_HIEROGLYPH_FORMAT_CONTROLS = 292, /*[13430]*/ 01824 UBLOCK_ELYMAIC = 293, /*[10FE0]*/ 01826 UBLOCK_NANDINAGARI = 294, /*[119A0]*/ 01828 UBLOCK_NYIAKENG_PUACHUE_HMONG = 295, /*[1E100]*/ 01830 UBLOCK_OTTOMAN_SIYAQ_NUMBERS = 296, /*[1ED00]*/ 01832 UBLOCK_SMALL_KANA_EXTENSION = 297, /*[1B130]*/ 01834 UBLOCK_SYMBOLS_AND_PICTOGRAPHS_EXTENDED_A = 298, /*[1FA70]*/ 01836 UBLOCK_TAMIL_SUPPLEMENT = 299, /*[11FC0]*/ 01838 UBLOCK_WANCHO = 300, /*[1E2C0]*/ 01839 01840 // New blocks in Unicode 13.0 01841 01843 UBLOCK_CHORASMIAN = 301, /*[10FB0]*/ 01845 UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_G = 302, /*[30000]*/ 01847 UBLOCK_DIVES_AKURU = 303, /*[11900]*/ 01849 UBLOCK_KHITAN_SMALL_SCRIPT = 304, /*[18B00]*/ 01851 UBLOCK_LISU_SUPPLEMENT = 305, /*[11FB0]*/ 01853 UBLOCK_SYMBOLS_FOR_LEGACY_COMPUTING = 306, /*[1FB00]*/ 01855 UBLOCK_TANGUT_SUPPLEMENT = 307, /*[18D00]*/ 01857 UBLOCK_YEZIDI = 308, /*[10E80]*/ 01858 01859 // New blocks in Unicode 14.0 01860 01862 UBLOCK_ARABIC_EXTENDED_B = 309, /*[0870]*/ 01864 UBLOCK_CYPRO_MINOAN = 310, /*[12F90]*/ 01866 UBLOCK_ETHIOPIC_EXTENDED_B = 311, /*[1E7E0]*/ 01868 UBLOCK_KANA_EXTENDED_B = 312, /*[1AFF0]*/ 01870 UBLOCK_LATIN_EXTENDED_F = 313, /*[10780]*/ 01872 UBLOCK_LATIN_EXTENDED_G = 314, /*[1DF00]*/ 01874 UBLOCK_OLD_UYGHUR = 315, /*[10F70]*/ 01876 UBLOCK_TANGSA = 316, /*[16A70]*/ 01878 UBLOCK_TOTO = 317, /*[1E290]*/ 01880 UBLOCK_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED_A = 318, /*[11AB0]*/ 01882 UBLOCK_VITHKUQI = 319, /*[10570]*/ 01884 UBLOCK_ZNAMENNY_MUSICAL_NOTATION = 320, /*[1CF00]*/ 01885 01886 // New blocks in Unicode 15.0 01887 01889 UBLOCK_ARABIC_EXTENDED_C = 321, /*[10EC0]*/ 01891 UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_H = 322, /*[31350]*/ 01893 UBLOCK_CYRILLIC_EXTENDED_D = 323, /*[1E030]*/ 01895 UBLOCK_DEVANAGARI_EXTENDED_A = 324, /*[11B00]*/ 01897 UBLOCK_KAKTOVIK_NUMERALS = 325, /*[1D2C0]*/ 01899 UBLOCK_KAWI = 326, /*[11F00]*/ 01901 UBLOCK_NAG_MUNDARI = 327, /*[1E4D0]*/ 01902 01903 #ifndef U_HIDE_DEPRECATED_API 01904 01910 UBLOCK_COUNT = 328, 01911 #endif // U_HIDE_DEPRECATED_API 01912 01914 UBLOCK_INVALID_CODE=-1 01915 }; 01916 01918 typedef enum UBlockCode UBlockCode; 01919 01927 typedef enum UEastAsianWidth { 01928 /* 01929 * Note: UEastAsianWidth constants are parsed by preparseucd.py. 01930 * It matches lines like 01931 * U_EA_<Unicode East_Asian_Width value name> 01932 */ 01933 01934 U_EA_NEUTRAL, /*[N]*/ 01935 U_EA_AMBIGUOUS, /*[A]*/ 01936 U_EA_HALFWIDTH, /*[H]*/ 01937 U_EA_FULLWIDTH, /*[F]*/ 01938 U_EA_NARROW, /*[Na]*/ 01939 U_EA_WIDE, /*[W]*/ 01940 #ifndef U_HIDE_DEPRECATED_API 01941 01947 U_EA_COUNT 01948 #endif // U_HIDE_DEPRECATED_API 01949 } UEastAsianWidth; 01950 01962 typedef enum UCharNameChoice { 01964 U_UNICODE_CHAR_NAME, 01965 #ifndef U_HIDE_DEPRECATED_API 01966 01971 U_UNICODE_10_CHAR_NAME, 01972 #endif /* U_HIDE_DEPRECATED_API */ 01973 01974 U_EXTENDED_CHAR_NAME = U_UNICODE_CHAR_NAME+2, 01976 U_CHAR_NAME_ALIAS, 01977 #ifndef U_HIDE_DEPRECATED_API 01978 01982 U_CHAR_NAME_CHOICE_COUNT 01983 #endif // U_HIDE_DEPRECATED_API 01984 } UCharNameChoice; 01985 01999 typedef enum UPropertyNameChoice { 02000 U_SHORT_PROPERTY_NAME, 02001 U_LONG_PROPERTY_NAME, 02002 #ifndef U_HIDE_DEPRECATED_API 02003 02007 U_PROPERTY_NAME_CHOICE_COUNT 02008 #endif // U_HIDE_DEPRECATED_API 02009 } UPropertyNameChoice; 02010 02017 typedef enum UDecompositionType { 02018 /* 02019 * Note: UDecompositionType constants are parsed by preparseucd.py. 02020 * It matches lines like 02021 * U_DT_<Unicode Decomposition_Type value name> 02022 */ 02023 02024 U_DT_NONE, /*[none]*/ 02025 U_DT_CANONICAL, /*[can]*/ 02026 U_DT_COMPAT, /*[com]*/ 02027 U_DT_CIRCLE, /*[enc]*/ 02028 U_DT_FINAL, /*[fin]*/ 02029 U_DT_FONT, /*[font]*/ 02030 U_DT_FRACTION, /*[fra]*/ 02031 U_DT_INITIAL, /*[init]*/ 02032 U_DT_ISOLATED, /*[iso]*/ 02033 U_DT_MEDIAL, /*[med]*/ 02034 U_DT_NARROW, /*[nar]*/ 02035 U_DT_NOBREAK, /*[nb]*/ 02036 U_DT_SMALL, /*[sml]*/ 02037 U_DT_SQUARE, /*[sqr]*/ 02038 U_DT_SUB, /*[sub]*/ 02039 U_DT_SUPER, /*[sup]*/ 02040 U_DT_VERTICAL, /*[vert]*/ 02041 U_DT_WIDE, /*[wide]*/ 02042 #ifndef U_HIDE_DEPRECATED_API 02043 02049 U_DT_COUNT /* 18 */ 02050 #endif // U_HIDE_DEPRECATED_API 02051 } UDecompositionType; 02052 02059 typedef enum UJoiningType { 02060 /* 02061 * Note: UJoiningType constants are parsed by preparseucd.py. 02062 * It matches lines like 02063 * U_JT_<Unicode Joining_Type value name> 02064 */ 02065 02066 U_JT_NON_JOINING, /*[U]*/ 02067 U_JT_JOIN_CAUSING, /*[C]*/ 02068 U_JT_DUAL_JOINING, /*[D]*/ 02069 U_JT_LEFT_JOINING, /*[L]*/ 02070 U_JT_RIGHT_JOINING, /*[R]*/ 02071 U_JT_TRANSPARENT, /*[T]*/ 02072 #ifndef U_HIDE_DEPRECATED_API 02073 02079 U_JT_COUNT /* 6 */ 02080 #endif // U_HIDE_DEPRECATED_API 02081 } UJoiningType; 02082 02089 typedef enum UJoiningGroup { 02090 /* 02091 * Note: UJoiningGroup constants are parsed by preparseucd.py. 02092 * It matches lines like 02093 * U_JG_<Unicode Joining_Group value name> 02094 */ 02095 02096 U_JG_NO_JOINING_GROUP, 02097 U_JG_AIN, 02098 U_JG_ALAPH, 02099 U_JG_ALEF, 02100 U_JG_BEH, 02101 U_JG_BETH, 02102 U_JG_DAL, 02103 U_JG_DALATH_RISH, 02104 U_JG_E, 02105 U_JG_FEH, 02106 U_JG_FINAL_SEMKATH, 02107 U_JG_GAF, 02108 U_JG_GAMAL, 02109 U_JG_HAH, 02110 U_JG_TEH_MARBUTA_GOAL, 02111 U_JG_HAMZA_ON_HEH_GOAL=U_JG_TEH_MARBUTA_GOAL, 02112 U_JG_HE, 02113 U_JG_HEH, 02114 U_JG_HEH_GOAL, 02115 U_JG_HETH, 02116 U_JG_KAF, 02117 U_JG_KAPH, 02118 U_JG_KNOTTED_HEH, 02119 U_JG_LAM, 02120 U_JG_LAMADH, 02121 U_JG_MEEM, 02122 U_JG_MIM, 02123 U_JG_NOON, 02124 U_JG_NUN, 02125 U_JG_PE, 02126 U_JG_QAF, 02127 U_JG_QAPH, 02128 U_JG_REH, 02129 U_JG_REVERSED_PE, 02130 U_JG_SAD, 02131 U_JG_SADHE, 02132 U_JG_SEEN, 02133 U_JG_SEMKATH, 02134 U_JG_SHIN, 02135 U_JG_SWASH_KAF, 02136 U_JG_SYRIAC_WAW, 02137 U_JG_TAH, 02138 U_JG_TAW, 02139 U_JG_TEH_MARBUTA, 02140 U_JG_TETH, 02141 U_JG_WAW, 02142 U_JG_YEH, 02143 U_JG_YEH_BARREE, 02144 U_JG_YEH_WITH_TAIL, 02145 U_JG_YUDH, 02146 U_JG_YUDH_HE, 02147 U_JG_ZAIN, 02148 U_JG_FE, 02149 U_JG_KHAPH, 02150 U_JG_ZHAIN, 02151 U_JG_BURUSHASKI_YEH_BARREE, 02152 U_JG_FARSI_YEH, 02153 U_JG_NYA, 02154 U_JG_ROHINGYA_YEH, 02155 U_JG_MANICHAEAN_ALEPH, 02156 U_JG_MANICHAEAN_AYIN, 02157 U_JG_MANICHAEAN_BETH, 02158 U_JG_MANICHAEAN_DALETH, 02159 U_JG_MANICHAEAN_DHAMEDH, 02160 U_JG_MANICHAEAN_FIVE, 02161 U_JG_MANICHAEAN_GIMEL, 02162 U_JG_MANICHAEAN_HETH, 02163 U_JG_MANICHAEAN_HUNDRED, 02164 U_JG_MANICHAEAN_KAPH, 02165 U_JG_MANICHAEAN_LAMEDH, 02166 U_JG_MANICHAEAN_MEM, 02167 U_JG_MANICHAEAN_NUN, 02168 U_JG_MANICHAEAN_ONE, 02169 U_JG_MANICHAEAN_PE, 02170 U_JG_MANICHAEAN_QOPH, 02171 U_JG_MANICHAEAN_RESH, 02172 U_JG_MANICHAEAN_SADHE, 02173 U_JG_MANICHAEAN_SAMEKH, 02174 U_JG_MANICHAEAN_TAW, 02175 U_JG_MANICHAEAN_TEN, 02176 U_JG_MANICHAEAN_TETH, 02177 U_JG_MANICHAEAN_THAMEDH, 02178 U_JG_MANICHAEAN_TWENTY, 02179 U_JG_MANICHAEAN_WAW, 02180 U_JG_MANICHAEAN_YODH, 02181 U_JG_MANICHAEAN_ZAYIN, 02182 U_JG_STRAIGHT_WAW, 02183 U_JG_AFRICAN_FEH, 02184 U_JG_AFRICAN_NOON, 02185 U_JG_AFRICAN_QAF, 02187 U_JG_MALAYALAM_BHA, 02188 U_JG_MALAYALAM_JA, 02189 U_JG_MALAYALAM_LLA, 02190 U_JG_MALAYALAM_LLLA, 02191 U_JG_MALAYALAM_NGA, 02192 U_JG_MALAYALAM_NNA, 02193 U_JG_MALAYALAM_NNNA, 02194 U_JG_MALAYALAM_NYA, 02195 U_JG_MALAYALAM_RA, 02196 U_JG_MALAYALAM_SSA, 02197 U_JG_MALAYALAM_TTA, 02199 U_JG_HANIFI_ROHINGYA_KINNA_YA, 02200 U_JG_HANIFI_ROHINGYA_PA, 02202 U_JG_THIN_YEH, 02203 U_JG_VERTICAL_TAIL, 02205 #ifndef U_HIDE_DEPRECATED_API 02206 02212 U_JG_COUNT 02213 #endif // U_HIDE_DEPRECATED_API 02214 } UJoiningGroup; 02215 02222 typedef enum UGraphemeClusterBreak { 02223 /* 02224 * Note: UGraphemeClusterBreak constants are parsed by preparseucd.py. 02225 * It matches lines like 02226 * U_GCB_<Unicode Grapheme_Cluster_Break value name> 02227 */ 02228 02229 U_GCB_OTHER = 0, /*[XX]*/ 02230 U_GCB_CONTROL = 1, /*[CN]*/ 02231 U_GCB_CR = 2, /*[CR]*/ 02232 U_GCB_EXTEND = 3, /*[EX]*/ 02233 U_GCB_L = 4, /*[L]*/ 02234 U_GCB_LF = 5, /*[LF]*/ 02235 U_GCB_LV = 6, /*[LV]*/ 02236 U_GCB_LVT = 7, /*[LVT]*/ 02237 U_GCB_T = 8, /*[T]*/ 02238 U_GCB_V = 9, /*[V]*/ 02240 U_GCB_SPACING_MARK = 10, /*[SM]*/ /* from here on: new in Unicode 5.1/ICU 4.0 */ 02242 U_GCB_PREPEND = 11, /*[PP]*/ 02244 U_GCB_REGIONAL_INDICATOR = 12, /*[RI]*/ /* new in Unicode 6.2/ICU 50 */ 02246 U_GCB_E_BASE = 13, /*[EB]*/ /* from here on: new in Unicode 9.0/ICU 58 */ 02248 U_GCB_E_BASE_GAZ = 14, /*[EBG]*/ 02250 U_GCB_E_MODIFIER = 15, /*[EM]*/ 02252 U_GCB_GLUE_AFTER_ZWJ = 16, /*[GAZ]*/ 02254 U_GCB_ZWJ = 17, /*[ZWJ]*/ 02255 02256 #ifndef U_HIDE_DEPRECATED_API 02257 02263 U_GCB_COUNT = 18 02264 #endif // U_HIDE_DEPRECATED_API 02265 } UGraphemeClusterBreak; 02266 02274 typedef enum UWordBreakValues { 02275 /* 02276 * Note: UWordBreakValues constants are parsed by preparseucd.py. 02277 * It matches lines like 02278 * U_WB_<Unicode Word_Break value name> 02279 */ 02280 02281 U_WB_OTHER = 0, /*[XX]*/ 02282 U_WB_ALETTER = 1, /*[LE]*/ 02283 U_WB_FORMAT = 2, /*[FO]*/ 02284 U_WB_KATAKANA = 3, /*[KA]*/ 02285 U_WB_MIDLETTER = 4, /*[ML]*/ 02286 U_WB_MIDNUM = 5, /*[MN]*/ 02287 U_WB_NUMERIC = 6, /*[NU]*/ 02288 U_WB_EXTENDNUMLET = 7, /*[EX]*/ 02290 U_WB_CR = 8, /*[CR]*/ /* from here on: new in Unicode 5.1/ICU 4.0 */ 02292 U_WB_EXTEND = 9, /*[Extend]*/ 02294 U_WB_LF = 10, /*[LF]*/ 02296 U_WB_MIDNUMLET =11, /*[MB]*/ 02298 U_WB_NEWLINE =12, /*[NL]*/ 02300 U_WB_REGIONAL_INDICATOR = 13, /*[RI]*/ /* new in Unicode 6.2/ICU 50 */ 02302 U_WB_HEBREW_LETTER = 14, /*[HL]*/ /* from here on: new in Unicode 6.3/ICU 52 */ 02304 U_WB_SINGLE_QUOTE = 15, /*[SQ]*/ 02306 U_WB_DOUBLE_QUOTE = 16, /*[DQ]*/ 02308 U_WB_E_BASE = 17, /*[EB]*/ /* from here on: new in Unicode 9.0/ICU 58 */ 02310 U_WB_E_BASE_GAZ = 18, /*[EBG]*/ 02312 U_WB_E_MODIFIER = 19, /*[EM]*/ 02314 U_WB_GLUE_AFTER_ZWJ = 20, /*[GAZ]*/ 02316 U_WB_ZWJ = 21, /*[ZWJ]*/ 02318 U_WB_WSEGSPACE = 22, /*[WSEGSPACE]*/ 02319 02320 #ifndef U_HIDE_DEPRECATED_API 02321 02327 U_WB_COUNT = 23 02328 #endif // U_HIDE_DEPRECATED_API 02329 } UWordBreakValues; 02330 02337 typedef enum USentenceBreak { 02338 /* 02339 * Note: USentenceBreak constants are parsed by preparseucd.py. 02340 * It matches lines like 02341 * U_SB_<Unicode Sentence_Break value name> 02342 */ 02343 02344 U_SB_OTHER = 0, /*[XX]*/ 02345 U_SB_ATERM = 1, /*[AT]*/ 02346 U_SB_CLOSE = 2, /*[CL]*/ 02347 U_SB_FORMAT = 3, /*[FO]*/ 02348 U_SB_LOWER = 4, /*[LO]*/ 02349 U_SB_NUMERIC = 5, /*[NU]*/ 02350 U_SB_OLETTER = 6, /*[LE]*/ 02351 U_SB_SEP = 7, /*[SE]*/ 02352 U_SB_SP = 8, /*[SP]*/ 02353 U_SB_STERM = 9, /*[ST]*/ 02354 U_SB_UPPER = 10, /*[UP]*/ 02355 U_SB_CR = 11, /*[CR]*/ /* from here on: new in Unicode 5.1/ICU 4.0 */ 02356 U_SB_EXTEND = 12, /*[EX]*/ 02357 U_SB_LF = 13, /*[LF]*/ 02358 U_SB_SCONTINUE = 14, /*[SC]*/ 02359 #ifndef U_HIDE_DEPRECATED_API 02360 02366 U_SB_COUNT = 15 02367 #endif // U_HIDE_DEPRECATED_API 02368 } USentenceBreak; 02369 02376 typedef enum ULineBreak { 02377 /* 02378 * Note: ULineBreak constants are parsed by preparseucd.py. 02379 * It matches lines like 02380 * U_LB_<Unicode Line_Break value name> 02381 */ 02382 02383 U_LB_UNKNOWN = 0, /*[XX]*/ 02384 U_LB_AMBIGUOUS = 1, /*[AI]*/ 02385 U_LB_ALPHABETIC = 2, /*[AL]*/ 02386 U_LB_BREAK_BOTH = 3, /*[B2]*/ 02387 U_LB_BREAK_AFTER = 4, /*[BA]*/ 02388 U_LB_BREAK_BEFORE = 5, /*[BB]*/ 02389 U_LB_MANDATORY_BREAK = 6, /*[BK]*/ 02390 U_LB_CONTINGENT_BREAK = 7, /*[CB]*/ 02391 U_LB_CLOSE_PUNCTUATION = 8, /*[CL]*/ 02392 U_LB_COMBINING_MARK = 9, /*[CM]*/ 02393 U_LB_CARRIAGE_RETURN = 10, /*[CR]*/ 02394 U_LB_EXCLAMATION = 11, /*[EX]*/ 02395 U_LB_GLUE = 12, /*[GL]*/ 02396 U_LB_HYPHEN = 13, /*[HY]*/ 02397 U_LB_IDEOGRAPHIC = 14, /*[ID]*/ 02399 U_LB_INSEPARABLE = 15, /*[IN]*/ 02400 U_LB_INSEPERABLE = U_LB_INSEPARABLE, 02401 U_LB_INFIX_NUMERIC = 16, /*[IS]*/ 02402 U_LB_LINE_FEED = 17, /*[LF]*/ 02403 U_LB_NONSTARTER = 18, /*[NS]*/ 02404 U_LB_NUMERIC = 19, /*[NU]*/ 02405 U_LB_OPEN_PUNCTUATION = 20, /*[OP]*/ 02406 U_LB_POSTFIX_NUMERIC = 21, /*[PO]*/ 02407 U_LB_PREFIX_NUMERIC = 22, /*[PR]*/ 02408 U_LB_QUOTATION = 23, /*[QU]*/ 02409 U_LB_COMPLEX_CONTEXT = 24, /*[SA]*/ 02410 U_LB_SURROGATE = 25, /*[SG]*/ 02411 U_LB_SPACE = 26, /*[SP]*/ 02412 U_LB_BREAK_SYMBOLS = 27, /*[SY]*/ 02413 U_LB_ZWSPACE = 28, /*[ZW]*/ 02415 U_LB_NEXT_LINE = 29, /*[NL]*/ /* from here on: new in Unicode 4/ICU 2.6 */ 02417 U_LB_WORD_JOINER = 30, /*[WJ]*/ 02419 U_LB_H2 = 31, /*[H2]*/ /* from here on: new in Unicode 4.1/ICU 3.4 */ 02421 U_LB_H3 = 32, /*[H3]*/ 02423 U_LB_JL = 33, /*[JL]*/ 02425 U_LB_JT = 34, /*[JT]*/ 02427 U_LB_JV = 35, /*[JV]*/ 02429 U_LB_CLOSE_PARENTHESIS = 36, /*[CP]*/ /* new in Unicode 5.2/ICU 4.4 */ 02431 U_LB_CONDITIONAL_JAPANESE_STARTER = 37,/*[CJ]*/ /* new in Unicode 6.1/ICU 49 */ 02433 U_LB_HEBREW_LETTER = 38, /*[HL]*/ /* new in Unicode 6.1/ICU 49 */ 02435 U_LB_REGIONAL_INDICATOR = 39,/*[RI]*/ /* new in Unicode 6.2/ICU 50 */ 02437 U_LB_E_BASE = 40, /*[EB]*/ /* from here on: new in Unicode 9.0/ICU 58 */ 02439 U_LB_E_MODIFIER = 41, /*[EM]*/ 02441 U_LB_ZWJ = 42, /*[ZWJ]*/ 02442 #ifndef U_HIDE_DEPRECATED_API 02443 02449 U_LB_COUNT = 43 02450 #endif // U_HIDE_DEPRECATED_API 02451 } ULineBreak; 02452 02459 typedef enum UNumericType { 02460 /* 02461 * Note: UNumericType constants are parsed by preparseucd.py. 02462 * It matches lines like 02463 * U_NT_<Unicode Numeric_Type value name> 02464 */ 02465 02466 U_NT_NONE, /*[None]*/ 02467 U_NT_DECIMAL, /*[de]*/ 02468 U_NT_DIGIT, /*[di]*/ 02469 U_NT_NUMERIC, /*[nu]*/ 02470 #ifndef U_HIDE_DEPRECATED_API 02471 02477 U_NT_COUNT 02478 #endif // U_HIDE_DEPRECATED_API 02479 } UNumericType; 02480 02487 typedef enum UHangulSyllableType { 02488 /* 02489 * Note: UHangulSyllableType constants are parsed by preparseucd.py. 02490 * It matches lines like 02491 * U_HST_<Unicode Hangul_Syllable_Type value name> 02492 */ 02493 02494 U_HST_NOT_APPLICABLE, /*[NA]*/ 02495 U_HST_LEADING_JAMO, /*[L]*/ 02496 U_HST_VOWEL_JAMO, /*[V]*/ 02497 U_HST_TRAILING_JAMO, /*[T]*/ 02498 U_HST_LV_SYLLABLE, /*[LV]*/ 02499 U_HST_LVT_SYLLABLE, /*[LVT]*/ 02500 #ifndef U_HIDE_DEPRECATED_API 02501 02507 U_HST_COUNT 02508 #endif // U_HIDE_DEPRECATED_API 02509 } UHangulSyllableType; 02510 02517 typedef enum UIndicPositionalCategory { 02518 /* 02519 * Note: UIndicPositionalCategory constants are parsed by preparseucd.py. 02520 * It matches lines like 02521 * U_INPC_<Unicode Indic_Positional_Category value name> 02522 */ 02523 02525 U_INPC_NA, 02527 U_INPC_BOTTOM, 02529 U_INPC_BOTTOM_AND_LEFT, 02531 U_INPC_BOTTOM_AND_RIGHT, 02533 U_INPC_LEFT, 02535 U_INPC_LEFT_AND_RIGHT, 02537 U_INPC_OVERSTRUCK, 02539 U_INPC_RIGHT, 02541 U_INPC_TOP, 02543 U_INPC_TOP_AND_BOTTOM, 02545 U_INPC_TOP_AND_BOTTOM_AND_RIGHT, 02547 U_INPC_TOP_AND_LEFT, 02549 U_INPC_TOP_AND_LEFT_AND_RIGHT, 02551 U_INPC_TOP_AND_RIGHT, 02553 U_INPC_VISUAL_ORDER_LEFT, 02555 U_INPC_TOP_AND_BOTTOM_AND_LEFT, 02556 } UIndicPositionalCategory; 02557 02564 typedef enum UIndicSyllabicCategory { 02565 /* 02566 * Note: UIndicSyllabicCategory constants are parsed by preparseucd.py. 02567 * It matches lines like 02568 * U_INSC_<Unicode Indic_Syllabic_Category value name> 02569 */ 02570 02572 U_INSC_OTHER, 02574 U_INSC_AVAGRAHA, 02576 U_INSC_BINDU, 02578 U_INSC_BRAHMI_JOINING_NUMBER, 02580 U_INSC_CANTILLATION_MARK, 02582 U_INSC_CONSONANT, 02584 U_INSC_CONSONANT_DEAD, 02586 U_INSC_CONSONANT_FINAL, 02588 U_INSC_CONSONANT_HEAD_LETTER, 02590 U_INSC_CONSONANT_INITIAL_POSTFIXED, 02592 U_INSC_CONSONANT_KILLER, 02594 U_INSC_CONSONANT_MEDIAL, 02596 U_INSC_CONSONANT_PLACEHOLDER, 02598 U_INSC_CONSONANT_PRECEDING_REPHA, 02600 U_INSC_CONSONANT_PREFIXED, 02602 U_INSC_CONSONANT_SUBJOINED, 02604 U_INSC_CONSONANT_SUCCEEDING_REPHA, 02606 U_INSC_CONSONANT_WITH_STACKER, 02608 U_INSC_GEMINATION_MARK, 02610 U_INSC_INVISIBLE_STACKER, 02612 U_INSC_JOINER, 02614 U_INSC_MODIFYING_LETTER, 02616 U_INSC_NON_JOINER, 02618 U_INSC_NUKTA, 02620 U_INSC_NUMBER, 02622 U_INSC_NUMBER_JOINER, 02624 U_INSC_PURE_KILLER, 02626 U_INSC_REGISTER_SHIFTER, 02628 U_INSC_SYLLABLE_MODIFIER, 02630 U_INSC_TONE_LETTER, 02632 U_INSC_TONE_MARK, 02634 U_INSC_VIRAMA, 02636 U_INSC_VISARGA, 02638 U_INSC_VOWEL, 02640 U_INSC_VOWEL_DEPENDENT, 02642 U_INSC_VOWEL_INDEPENDENT, 02643 } UIndicSyllabicCategory; 02644 02651 typedef enum UVerticalOrientation { 02652 /* 02653 * Note: UVerticalOrientation constants are parsed by preparseucd.py. 02654 * It matches lines like 02655 * U_VO_<Unicode Vertical_Orientation value name> 02656 */ 02657 02659 U_VO_ROTATED, 02661 U_VO_TRANSFORMED_ROTATED, 02663 U_VO_TRANSFORMED_UPRIGHT, 02665 U_VO_UPRIGHT, 02666 } UVerticalOrientation; 02667 02695 U_CAPI UBool U_EXPORT2 02696 u_hasBinaryProperty(UChar32 c, UProperty which); 02697 02722 U_CAPI UBool U_EXPORT2 02723 u_stringHasBinaryProperty(const UChar *s, int32_t length, UProperty which); 02724 02740 U_CAPI const USet * U_EXPORT2 02741 u_getBinaryPropertySet(UProperty property, UErrorCode *pErrorCode); 02742 02755 U_CAPI UBool U_EXPORT2 02756 u_isUAlphabetic(UChar32 c); 02757 02770 U_CAPI UBool U_EXPORT2 02771 u_isULowercase(UChar32 c); 02772 02785 U_CAPI UBool U_EXPORT2 02786 u_isUUppercase(UChar32 c); 02787 02806 U_CAPI UBool U_EXPORT2 02807 u_isUWhiteSpace(UChar32 c); 02808 02847 U_CAPI int32_t U_EXPORT2 02848 u_getIntPropertyValue(UChar32 c, UProperty which); 02849 02868 U_CAPI int32_t U_EXPORT2 02869 u_getIntPropertyMinValue(UProperty which); 02870 02897 U_CAPI int32_t U_EXPORT2 02898 u_getIntPropertyMaxValue(UProperty which); 02899 02915 U_CAPI const UCPMap * U_EXPORT2 02916 u_getIntPropertyMap(UProperty property, UErrorCode *pErrorCode); 02917 02940 U_CAPI double U_EXPORT2 02941 u_getNumericValue(UChar32 c); 02942 02950 #define U_NO_NUMERIC_VALUE ((double)-123456789.) 02951 02975 U_CAPI UBool U_EXPORT2 02976 u_islower(UChar32 c); 02977 03002 U_CAPI UBool U_EXPORT2 03003 u_isupper(UChar32 c); 03004 03019 U_CAPI UBool U_EXPORT2 03020 u_istitle(UChar32 c); 03021 03040 U_CAPI UBool U_EXPORT2 03041 u_isdigit(UChar32 c); 03042 03061 U_CAPI UBool U_EXPORT2 03062 u_isalpha(UChar32 c); 03063 03082 U_CAPI UBool U_EXPORT2 03083 u_isalnum(UChar32 c); 03084 03105 U_CAPI UBool U_EXPORT2 03106 u_isxdigit(UChar32 c); 03107 03121 U_CAPI UBool U_EXPORT2 03122 u_ispunct(UChar32 c); 03123 03140 U_CAPI UBool U_EXPORT2 03141 u_isgraph(UChar32 c); 03142 03168 U_CAPI UBool U_EXPORT2 03169 u_isblank(UChar32 c); 03170 03193 U_CAPI UBool U_EXPORT2 03194 u_isdefined(UChar32 c); 03195 03214 U_CAPI UBool U_EXPORT2 03215 u_isspace(UChar32 c); 03216 03235 U_CAPI UBool U_EXPORT2 03236 u_isJavaSpaceChar(UChar32 c); 03237 03275 U_CAPI UBool U_EXPORT2 03276 u_isWhitespace(UChar32 c); 03277 03299 U_CAPI UBool U_EXPORT2 03300 u_iscntrl(UChar32 c); 03301 03314 U_CAPI UBool U_EXPORT2 03315 u_isISOControl(UChar32 c); 03316 03332 U_CAPI UBool U_EXPORT2 03333 u_isprint(UChar32 c); 03334 03352 U_CAPI UBool U_EXPORT2 03353 u_isbase(UChar32 c); 03354 03371 U_CAPI UCharDirection U_EXPORT2 03372 u_charDirection(UChar32 c); 03373 03389 U_CAPI UBool U_EXPORT2 03390 u_isMirrored(UChar32 c); 03391 03411 U_CAPI UChar32 U_EXPORT2 03412 u_charMirror(UChar32 c); 03413 03430 U_CAPI UChar32 U_EXPORT2 03431 u_getBidiPairedBracket(UChar32 c); 03432 03444 U_CAPI int8_t U_EXPORT2 03445 u_charType(UChar32 c); 03446 03460 #define U_GET_GC_MASK(c) U_MASK(u_charType(c)) 03461 03479 typedef UBool U_CALLCONV 03480 UCharEnumTypeRange(const void *context, UChar32 start, UChar32 limit, UCharCategory type); 03481 03501 U_CAPI void U_EXPORT2 03502 u_enumCharTypes(UCharEnumTypeRange *enumRange, const void *context); 03503 03504 #if !UCONFIG_NO_NORMALIZATION 03505 03513 U_CAPI uint8_t U_EXPORT2 03514 u_getCombiningClass(UChar32 c); 03515 03516 #endif 03517 03541 U_CAPI int32_t U_EXPORT2 03542 u_charDigitValue(UChar32 c); 03543 03553 U_CAPI UBlockCode U_EXPORT2 03554 ublock_getCode(UChar32 c); 03555 03588 U_CAPI int32_t U_EXPORT2 03589 u_charName(UChar32 code, UCharNameChoice nameChoice, 03590 char *buffer, int32_t bufferLength, 03591 UErrorCode *pErrorCode); 03592 03593 #ifndef U_HIDE_DEPRECATED_API 03594 03612 U_DEPRECATED int32_t U_EXPORT2 03613 u_getISOComment(UChar32 c, 03614 char *dest, int32_t destCapacity, 03615 UErrorCode *pErrorCode); 03616 #endif /* U_HIDE_DEPRECATED_API */ 03617 03638 U_CAPI UChar32 U_EXPORT2 03639 u_charFromName(UCharNameChoice nameChoice, 03640 const char *name, 03641 UErrorCode *pErrorCode); 03642 03660 typedef UBool U_CALLCONV UEnumCharNamesFn(void *context, 03661 UChar32 code, 03662 UCharNameChoice nameChoice, 03663 const char *name, 03664 int32_t length); 03665 03687 U_CAPI void U_EXPORT2 03688 u_enumCharNames(UChar32 start, UChar32 limit, 03689 UEnumCharNamesFn *fn, 03690 void *context, 03691 UCharNameChoice nameChoice, 03692 UErrorCode *pErrorCode); 03693 03725 U_CAPI const char* U_EXPORT2 03726 u_getPropertyName(UProperty property, 03727 UPropertyNameChoice nameChoice); 03728 03748 U_CAPI UProperty U_EXPORT2 03749 u_getPropertyEnum(const char* alias); 03750 03798 U_CAPI const char* U_EXPORT2 03799 u_getPropertyValueName(UProperty property, 03800 int32_t value, 03801 UPropertyNameChoice nameChoice); 03802 03834 U_CAPI int32_t U_EXPORT2 03835 u_getPropertyValueEnum(UProperty property, 03836 const char* alias); 03837 03852 U_CAPI UBool U_EXPORT2 03853 u_isIDStart(UChar32 c); 03854 03869 U_CAPI UBool U_EXPORT2 03870 u_isIDPart(UChar32 c); 03871 03892 U_CAPI UBool U_EXPORT2 03893 u_isIDIgnorable(UChar32 c); 03894 03911 U_CAPI UBool U_EXPORT2 03912 u_isJavaIDStart(UChar32 c); 03913 03932 U_CAPI UBool U_EXPORT2 03933 u_isJavaIDPart(UChar32 c); 03934 03957 U_CAPI UChar32 U_EXPORT2 03958 u_tolower(UChar32 c); 03959 03982 U_CAPI UChar32 U_EXPORT2 03983 u_toupper(UChar32 c); 03984 04007 U_CAPI UChar32 U_EXPORT2 04008 u_totitle(UChar32 c); 04009 04032 U_CAPI UChar32 U_EXPORT2 04033 u_foldCase(UChar32 c, uint32_t options); 04034 04073 U_CAPI int32_t U_EXPORT2 04074 u_digit(UChar32 ch, int8_t radix); 04075 04104 U_CAPI UChar32 U_EXPORT2 04105 u_forDigit(int32_t digit, int8_t radix); 04106 04121 U_CAPI void U_EXPORT2 04122 u_charAge(UChar32 c, UVersionInfo versionArray); 04123 04135 U_CAPI void U_EXPORT2 04136 u_getUnicodeVersion(UVersionInfo versionArray); 04137 04138 #if !UCONFIG_NO_NORMALIZATION 04139 04160 U_CAPI int32_t U_EXPORT2 04161 u_getFC_NFKC_Closure(UChar32 c, UChar *dest, int32_t destCapacity, UErrorCode *pErrorCode); 04162 04163 #endif 04164 04165 04166 U_CDECL_END 04167 04168 #endif /*_UCHAR*/ 04169 /*eof*/
1.7.6.1