00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef UCHAR_H
00026 #define UCHAR_H
00027
00028 #include "unicode/utypes.h"
00029 #include "unicode/stringoptions.h"
00030
00031 U_CDECL_BEGIN
00032
00033
00034
00035
00045 #define U_UNICODE_VERSION "10.0"
00046
00127 #define UCHAR_MIN_VALUE 0
00128
00137 #define UCHAR_MAX_VALUE 0x10ffff
00138
00143 #define U_MASK(x) ((uint32_t)1<<(x))
00144
00165 typedef enum UProperty {
00166
00167
00168
00169
00170
00171
00172
00173
00174
00175
00176
00179 UCHAR_ALPHABETIC=0,
00181 UCHAR_BINARY_START=UCHAR_ALPHABETIC,
00183 UCHAR_ASCII_HEX_DIGIT=1,
00187 UCHAR_BIDI_CONTROL=2,
00192 UCHAR_BIDI_MIRRORED=3,
00194 UCHAR_DASH=4,
00198 UCHAR_DEFAULT_IGNORABLE_CODE_POINT=5,
00201 UCHAR_DEPRECATED=6,
00204 UCHAR_DIACRITIC=7,
00208 UCHAR_EXTENDER=8,
00212 UCHAR_FULL_COMPOSITION_EXCLUSION=9,
00216 UCHAR_GRAPHEME_BASE=10,
00220 UCHAR_GRAPHEME_EXTEND=11,
00223 UCHAR_GRAPHEME_LINK=12,
00226 UCHAR_HEX_DIGIT=13,
00229 UCHAR_HYPHEN=14,
00234 UCHAR_ID_CONTINUE=15,
00238 UCHAR_ID_START=16,
00241 UCHAR_IDEOGRAPHIC=17,
00245 UCHAR_IDS_BINARY_OPERATOR=18,
00249 UCHAR_IDS_TRINARY_OPERATOR=19,
00252 UCHAR_JOIN_CONTROL=20,
00256 UCHAR_LOGICAL_ORDER_EXCEPTION=21,
00259 UCHAR_LOWERCASE=22,
00261 UCHAR_MATH=23,
00265 UCHAR_NONCHARACTER_CODE_POINT=24,
00267 UCHAR_QUOTATION_MARK=25,
00271 UCHAR_RADICAL=26,
00276 UCHAR_SOFT_DOTTED=27,
00280 UCHAR_TERMINAL_PUNCTUATION=28,
00284 UCHAR_UNIFIED_IDEOGRAPH=29,
00287 UCHAR_UPPERCASE=30,
00291 UCHAR_WHITE_SPACE=31,
00295 UCHAR_XID_CONTINUE=32,
00298 UCHAR_XID_START=33,
00302 UCHAR_CASE_SENSITIVE=34,
00307 UCHAR_S_TERM=35,
00313 UCHAR_VARIATION_SELECTOR=36,
00320 UCHAR_NFD_INERT=37,
00327 UCHAR_NFKD_INERT=38,
00334 UCHAR_NFC_INERT=39,
00341 UCHAR_NFKC_INERT=40,
00352 UCHAR_SEGMENT_STARTER=41,
00357 UCHAR_PATTERN_SYNTAX=42,
00362 UCHAR_PATTERN_WHITE_SPACE=43,
00367 UCHAR_POSIX_ALNUM=44,
00372 UCHAR_POSIX_BLANK=45,
00377 UCHAR_POSIX_GRAPH=46,
00382 UCHAR_POSIX_PRINT=47,
00387 UCHAR_POSIX_XDIGIT=48,
00389 UCHAR_CASED=49,
00391 UCHAR_CASE_IGNORABLE=50,
00393 UCHAR_CHANGES_WHEN_LOWERCASED=51,
00395 UCHAR_CHANGES_WHEN_UPPERCASED=52,
00397 UCHAR_CHANGES_WHEN_TITLECASED=53,
00399 UCHAR_CHANGES_WHEN_CASEFOLDED=54,
00401 UCHAR_CHANGES_WHEN_CASEMAPPED=55,
00403 UCHAR_CHANGES_WHEN_NFKC_CASEFOLDED=56,
00410 UCHAR_EMOJI=57,
00417 UCHAR_EMOJI_PRESENTATION=58,
00424 UCHAR_EMOJI_MODIFIER=59,
00431 UCHAR_EMOJI_MODIFIER_BASE=60,
00438 UCHAR_EMOJI_COMPONENT=61,
00443 UCHAR_REGIONAL_INDICATOR=62,
00448 UCHAR_PREPENDED_CONCATENATION_MARK=63,
00449 #ifndef U_HIDE_DEPRECATED_API
00450
00454 UCHAR_BINARY_LIMIT,
00455 #endif // U_HIDE_DEPRECATED_API
00456
00459 UCHAR_BIDI_CLASS=0x1000,
00461 UCHAR_INT_START=UCHAR_BIDI_CLASS,
00464 UCHAR_BLOCK=0x1001,
00467 UCHAR_CANONICAL_COMBINING_CLASS=0x1002,
00470 UCHAR_DECOMPOSITION_TYPE=0x1003,
00474 UCHAR_EAST_ASIAN_WIDTH=0x1004,
00477 UCHAR_GENERAL_CATEGORY=0x1005,
00480 UCHAR_JOINING_GROUP=0x1006,
00483 UCHAR_JOINING_TYPE=0x1007,
00486 UCHAR_LINE_BREAK=0x1008,
00489 UCHAR_NUMERIC_TYPE=0x1009,
00492 UCHAR_SCRIPT=0x100A,
00495 UCHAR_HANGUL_SYLLABLE_TYPE=0x100B,
00498 UCHAR_NFD_QUICK_CHECK=0x100C,
00501 UCHAR_NFKD_QUICK_CHECK=0x100D,
00504 UCHAR_NFC_QUICK_CHECK=0x100E,
00507 UCHAR_NFKC_QUICK_CHECK=0x100F,
00514 UCHAR_LEAD_CANONICAL_COMBINING_CLASS=0x1010,
00521 UCHAR_TRAIL_CANONICAL_COMBINING_CLASS=0x1011,
00526 UCHAR_GRAPHEME_CLUSTER_BREAK=0x1012,
00531 UCHAR_SENTENCE_BREAK=0x1013,
00536 UCHAR_WORD_BREAK=0x1014,
00541 UCHAR_BIDI_PAIRED_BRACKET_TYPE=0x1015,
00542 #ifndef U_HIDE_DEPRECATED_API
00543
00547 UCHAR_INT_LIMIT=0x1016,
00548 #endif // U_HIDE_DEPRECATED_API
00549
00558 UCHAR_GENERAL_CATEGORY_MASK=0x2000,
00560 UCHAR_MASK_START=UCHAR_GENERAL_CATEGORY_MASK,
00561 #ifndef U_HIDE_DEPRECATED_API
00562
00566 UCHAR_MASK_LIMIT=0x2001,
00567 #endif // U_HIDE_DEPRECATED_API
00568
00571 UCHAR_NUMERIC_VALUE=0x3000,
00573 UCHAR_DOUBLE_START=UCHAR_NUMERIC_VALUE,
00574 #ifndef U_HIDE_DEPRECATED_API
00575
00579 UCHAR_DOUBLE_LIMIT=0x3001,
00580 #endif // U_HIDE_DEPRECATED_API
00581
00584 UCHAR_AGE=0x4000,
00586 UCHAR_STRING_START=UCHAR_AGE,
00589 UCHAR_BIDI_MIRRORING_GLYPH=0x4001,
00592 UCHAR_CASE_FOLDING=0x4002,
00593 #ifndef U_HIDE_DEPRECATED_API
00594
00596 UCHAR_ISO_COMMENT=0x4003,
00597 #endif
00598
00600 UCHAR_LOWERCASE_MAPPING=0x4004,
00603 UCHAR_NAME=0x4005,
00606 UCHAR_SIMPLE_CASE_FOLDING=0x4006,
00609 UCHAR_SIMPLE_LOWERCASE_MAPPING=0x4007,
00612 UCHAR_SIMPLE_TITLECASE_MAPPING=0x4008,
00615 UCHAR_SIMPLE_UPPERCASE_MAPPING=0x4009,
00618 UCHAR_TITLECASE_MAPPING=0x400A,
00619 #ifndef U_HIDE_DEPRECATED_API
00620
00624 UCHAR_UNICODE_1_NAME=0x400B,
00625 #endif
00626
00628 UCHAR_UPPERCASE_MAPPING=0x400C,
00631 UCHAR_BIDI_PAIRED_BRACKET=0x400D,
00632 #ifndef U_HIDE_DEPRECATED_API
00633
00637 UCHAR_STRING_LIMIT=0x400E,
00638 #endif // U_HIDE_DEPRECATED_API
00639
00645 UCHAR_SCRIPT_EXTENSIONS=0x7000,
00647 UCHAR_OTHER_PROPERTY_START=UCHAR_SCRIPT_EXTENSIONS,
00648 #ifndef U_HIDE_DEPRECATED_API
00649
00653 UCHAR_OTHER_PROPERTY_LIMIT=0x7001,
00654 #endif // U_HIDE_DEPRECATED_API
00655
00657 UCHAR_INVALID_CODE = -1
00658 } UProperty;
00659
00665 typedef enum UCharCategory
00666 {
00667
00668
00669
00670
00671
00672
00673
00675 U_UNASSIGNED = 0,
00677 U_GENERAL_OTHER_TYPES = 0,
00679 U_UPPERCASE_LETTER = 1,
00681 U_LOWERCASE_LETTER = 2,
00683 U_TITLECASE_LETTER = 3,
00685 U_MODIFIER_LETTER = 4,
00687 U_OTHER_LETTER = 5,
00689 U_NON_SPACING_MARK = 6,
00691 U_ENCLOSING_MARK = 7,
00693 U_COMBINING_SPACING_MARK = 8,
00695 U_DECIMAL_DIGIT_NUMBER = 9,
00697 U_LETTER_NUMBER = 10,
00699 U_OTHER_NUMBER = 11,
00701 U_SPACE_SEPARATOR = 12,
00703 U_LINE_SEPARATOR = 13,
00705 U_PARAGRAPH_SEPARATOR = 14,
00707 U_CONTROL_CHAR = 15,
00709 U_FORMAT_CHAR = 16,
00711 U_PRIVATE_USE_CHAR = 17,
00713 U_SURROGATE = 18,
00715 U_DASH_PUNCTUATION = 19,
00717 U_START_PUNCTUATION = 20,
00719 U_END_PUNCTUATION = 21,
00721 U_CONNECTOR_PUNCTUATION = 22,
00723 U_OTHER_PUNCTUATION = 23,
00725 U_MATH_SYMBOL = 24,
00727 U_CURRENCY_SYMBOL = 25,
00729 U_MODIFIER_SYMBOL = 26,
00731 U_OTHER_SYMBOL = 27,
00733 U_INITIAL_PUNCTUATION = 28,
00735 U_FINAL_PUNCTUATION = 29,
00743 U_CHAR_CATEGORY_COUNT
00744 } UCharCategory;
00745
00760 #define U_GC_CN_MASK U_MASK(U_GENERAL_OTHER_TYPES)
00761
00763 #define U_GC_LU_MASK U_MASK(U_UPPERCASE_LETTER)
00764
00765 #define U_GC_LL_MASK U_MASK(U_LOWERCASE_LETTER)
00766
00767 #define U_GC_LT_MASK U_MASK(U_TITLECASE_LETTER)
00768
00769 #define U_GC_LM_MASK U_MASK(U_MODIFIER_LETTER)
00770
00771 #define U_GC_LO_MASK U_MASK(U_OTHER_LETTER)
00772
00774 #define U_GC_MN_MASK U_MASK(U_NON_SPACING_MARK)
00775
00776 #define U_GC_ME_MASK U_MASK(U_ENCLOSING_MARK)
00777
00778 #define U_GC_MC_MASK U_MASK(U_COMBINING_SPACING_MARK)
00779
00781 #define U_GC_ND_MASK U_MASK(U_DECIMAL_DIGIT_NUMBER)
00782
00783 #define U_GC_NL_MASK U_MASK(U_LETTER_NUMBER)
00784
00785 #define U_GC_NO_MASK U_MASK(U_OTHER_NUMBER)
00786
00788 #define U_GC_ZS_MASK U_MASK(U_SPACE_SEPARATOR)
00789
00790 #define U_GC_ZL_MASK U_MASK(U_LINE_SEPARATOR)
00791
00792 #define U_GC_ZP_MASK U_MASK(U_PARAGRAPH_SEPARATOR)
00793
00795 #define U_GC_CC_MASK U_MASK(U_CONTROL_CHAR)
00796
00797 #define U_GC_CF_MASK U_MASK(U_FORMAT_CHAR)
00798
00799 #define U_GC_CO_MASK U_MASK(U_PRIVATE_USE_CHAR)
00800
00801 #define U_GC_CS_MASK U_MASK(U_SURROGATE)
00802
00804 #define U_GC_PD_MASK U_MASK(U_DASH_PUNCTUATION)
00805
00806 #define U_GC_PS_MASK U_MASK(U_START_PUNCTUATION)
00807
00808 #define U_GC_PE_MASK U_MASK(U_END_PUNCTUATION)
00809
00810 #define U_GC_PC_MASK U_MASK(U_CONNECTOR_PUNCTUATION)
00811
00812 #define U_GC_PO_MASK U_MASK(U_OTHER_PUNCTUATION)
00813
00815 #define U_GC_SM_MASK U_MASK(U_MATH_SYMBOL)
00816
00817 #define U_GC_SC_MASK U_MASK(U_CURRENCY_SYMBOL)
00818
00819 #define U_GC_SK_MASK U_MASK(U_MODIFIER_SYMBOL)
00820
00821 #define U_GC_SO_MASK U_MASK(U_OTHER_SYMBOL)
00822
00824 #define U_GC_PI_MASK U_MASK(U_INITIAL_PUNCTUATION)
00825
00826 #define U_GC_PF_MASK U_MASK(U_FINAL_PUNCTUATION)
00827
00828
00830 #define U_GC_L_MASK \
00831 (U_GC_LU_MASK|U_GC_LL_MASK|U_GC_LT_MASK|U_GC_LM_MASK|U_GC_LO_MASK)
00832
00834 #define U_GC_LC_MASK \
00835 (U_GC_LU_MASK|U_GC_LL_MASK|U_GC_LT_MASK)
00836
00838 #define U_GC_M_MASK (U_GC_MN_MASK|U_GC_ME_MASK|U_GC_MC_MASK)
00839
00841 #define U_GC_N_MASK (U_GC_ND_MASK|U_GC_NL_MASK|U_GC_NO_MASK)
00842
00844 #define U_GC_Z_MASK (U_GC_ZS_MASK|U_GC_ZL_MASK|U_GC_ZP_MASK)
00845
00847 #define U_GC_C_MASK \
00848 (U_GC_CN_MASK|U_GC_CC_MASK|U_GC_CF_MASK|U_GC_CO_MASK|U_GC_CS_MASK)
00849
00851 #define U_GC_P_MASK \
00852 (U_GC_PD_MASK|U_GC_PS_MASK|U_GC_PE_MASK|U_GC_PC_MASK|U_GC_PO_MASK| \
00853 U_GC_PI_MASK|U_GC_PF_MASK)
00854
00856 #define U_GC_S_MASK (U_GC_SM_MASK|U_GC_SC_MASK|U_GC_SK_MASK|U_GC_SO_MASK)
00857
00862 typedef enum UCharDirection {
00863
00864
00865
00866
00867
00868
00869
00871 U_LEFT_TO_RIGHT = 0,
00873 U_RIGHT_TO_LEFT = 1,
00875 U_EUROPEAN_NUMBER = 2,
00877 U_EUROPEAN_NUMBER_SEPARATOR = 3,
00879 U_EUROPEAN_NUMBER_TERMINATOR = 4,
00881 U_ARABIC_NUMBER = 5,
00883 U_COMMON_NUMBER_SEPARATOR = 6,
00885 U_BLOCK_SEPARATOR = 7,
00887 U_SEGMENT_SEPARATOR = 8,
00889 U_WHITE_SPACE_NEUTRAL = 9,
00891 U_OTHER_NEUTRAL = 10,
00893 U_LEFT_TO_RIGHT_EMBEDDING = 11,
00895 U_LEFT_TO_RIGHT_OVERRIDE = 12,
00897 U_RIGHT_TO_LEFT_ARABIC = 13,
00899 U_RIGHT_TO_LEFT_EMBEDDING = 14,
00901 U_RIGHT_TO_LEFT_OVERRIDE = 15,
00903 U_POP_DIRECTIONAL_FORMAT = 16,
00905 U_DIR_NON_SPACING_MARK = 17,
00907 U_BOUNDARY_NEUTRAL = 18,
00909 U_FIRST_STRONG_ISOLATE = 19,
00911 U_LEFT_TO_RIGHT_ISOLATE = 20,
00913 U_RIGHT_TO_LEFT_ISOLATE = 21,
00915 U_POP_DIRECTIONAL_ISOLATE = 22,
00916 #ifndef U_HIDE_DEPRECATED_API
00917
00923 U_CHAR_DIRECTION_COUNT
00924 #endif // U_HIDE_DEPRECATED_API
00925 } UCharDirection;
00926
00933 typedef enum UBidiPairedBracketType {
00934
00935
00936
00937
00938
00939
00941 U_BPT_NONE,
00943 U_BPT_OPEN,
00945 U_BPT_CLOSE,
00946 #ifndef U_HIDE_DEPRECATED_API
00947
00953 U_BPT_COUNT
00954 #endif // U_HIDE_DEPRECATED_API
00955 } UBidiPairedBracketType;
00956
00961 enum UBlockCode {
00962
00963
00964
00965
00966
00967
00969 UBLOCK_NO_BLOCK = 0,
00970
00972 UBLOCK_BASIC_LATIN = 1,
00973
00975 UBLOCK_LATIN_1_SUPPLEMENT=2,
00976
00978 UBLOCK_LATIN_EXTENDED_A =3,
00979
00981 UBLOCK_LATIN_EXTENDED_B =4,
00982
00984 UBLOCK_IPA_EXTENSIONS =5,
00985
00987 UBLOCK_SPACING_MODIFIER_LETTERS =6,
00988
00990 UBLOCK_COMBINING_DIACRITICAL_MARKS =7,
00991
00996 UBLOCK_GREEK =8,
00997
00999 UBLOCK_CYRILLIC =9,
01000
01002 UBLOCK_ARMENIAN =10,
01003
01005 UBLOCK_HEBREW =11,
01006
01008 UBLOCK_ARABIC =12,
01009
01011 UBLOCK_SYRIAC =13,
01012
01014 UBLOCK_THAANA =14,
01015
01017 UBLOCK_DEVANAGARI =15,
01018
01020 UBLOCK_BENGALI =16,
01021
01023 UBLOCK_GURMUKHI =17,
01024
01026 UBLOCK_GUJARATI =18,
01027
01029 UBLOCK_ORIYA =19,
01030
01032 UBLOCK_TAMIL =20,
01033
01035 UBLOCK_TELUGU =21,
01036
01038 UBLOCK_KANNADA =22,
01039
01041 UBLOCK_MALAYALAM =23,
01042
01044 UBLOCK_SINHALA =24,
01045
01047 UBLOCK_THAI =25,
01048
01050 UBLOCK_LAO =26,
01051
01053 UBLOCK_TIBETAN =27,
01054
01056 UBLOCK_MYANMAR =28,
01057
01059 UBLOCK_GEORGIAN =29,
01060
01062 UBLOCK_HANGUL_JAMO =30,
01063
01065 UBLOCK_ETHIOPIC =31,
01066
01068 UBLOCK_CHEROKEE =32,
01069
01071 UBLOCK_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS =33,
01072
01074 UBLOCK_OGHAM =34,
01075
01077 UBLOCK_RUNIC =35,
01078
01080 UBLOCK_KHMER =36,
01081
01083 UBLOCK_MONGOLIAN =37,
01084
01086 UBLOCK_LATIN_EXTENDED_ADDITIONAL =38,
01087
01089 UBLOCK_GREEK_EXTENDED =39,
01090
01092 UBLOCK_GENERAL_PUNCTUATION =40,
01093
01095 UBLOCK_SUPERSCRIPTS_AND_SUBSCRIPTS =41,
01096
01098 UBLOCK_CURRENCY_SYMBOLS =42,
01099
01104 UBLOCK_COMBINING_MARKS_FOR_SYMBOLS =43,
01105
01107 UBLOCK_LETTERLIKE_SYMBOLS =44,
01108
01110 UBLOCK_NUMBER_FORMS =45,
01111
01113 UBLOCK_ARROWS =46,
01114
01116 UBLOCK_MATHEMATICAL_OPERATORS =47,
01117
01119 UBLOCK_MISCELLANEOUS_TECHNICAL =48,
01120
01122 UBLOCK_CONTROL_PICTURES =49,
01123
01125 UBLOCK_OPTICAL_CHARACTER_RECOGNITION =50,
01126
01128 UBLOCK_ENCLOSED_ALPHANUMERICS =51,
01129
01131 UBLOCK_BOX_DRAWING =52,
01132
01134 UBLOCK_BLOCK_ELEMENTS =53,
01135
01137 UBLOCK_GEOMETRIC_SHAPES =54,
01138
01140 UBLOCK_MISCELLANEOUS_SYMBOLS =55,
01141
01143 UBLOCK_DINGBATS =56,
01144
01146 UBLOCK_BRAILLE_PATTERNS =57,
01147
01149 UBLOCK_CJK_RADICALS_SUPPLEMENT =58,
01150
01152 UBLOCK_KANGXI_RADICALS =59,
01153
01155 UBLOCK_IDEOGRAPHIC_DESCRIPTION_CHARACTERS =60,
01156
01158 UBLOCK_CJK_SYMBOLS_AND_PUNCTUATION =61,
01159
01161 UBLOCK_HIRAGANA =62,
01162
01164 UBLOCK_KATAKANA =63,
01165
01167 UBLOCK_BOPOMOFO =64,
01168
01170 UBLOCK_HANGUL_COMPATIBILITY_JAMO =65,
01171
01173 UBLOCK_KANBUN =66,
01174
01176 UBLOCK_BOPOMOFO_EXTENDED =67,
01177
01179 UBLOCK_ENCLOSED_CJK_LETTERS_AND_MONTHS =68,
01180
01182 UBLOCK_CJK_COMPATIBILITY =69,
01183
01185 UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A =70,
01186
01188 UBLOCK_CJK_UNIFIED_IDEOGRAPHS =71,
01189
01191 UBLOCK_YI_SYLLABLES =72,
01192
01194 UBLOCK_YI_RADICALS =73,
01195
01197 UBLOCK_HANGUL_SYLLABLES =74,
01198
01200 UBLOCK_HIGH_SURROGATES =75,
01201
01203 UBLOCK_HIGH_PRIVATE_USE_SURROGATES =76,
01204
01206 UBLOCK_LOW_SURROGATES =77,
01207
01217 UBLOCK_PRIVATE_USE_AREA =78,
01227 UBLOCK_PRIVATE_USE = UBLOCK_PRIVATE_USE_AREA,
01228
01230 UBLOCK_CJK_COMPATIBILITY_IDEOGRAPHS =79,
01231
01233 UBLOCK_ALPHABETIC_PRESENTATION_FORMS =80,
01234
01236 UBLOCK_ARABIC_PRESENTATION_FORMS_A =81,
01237
01239 UBLOCK_COMBINING_HALF_MARKS =82,
01240
01242 UBLOCK_CJK_COMPATIBILITY_FORMS =83,
01243
01245 UBLOCK_SMALL_FORM_VARIANTS =84,
01246
01248 UBLOCK_ARABIC_PRESENTATION_FORMS_B =85,
01249
01251 UBLOCK_SPECIALS =86,
01252
01254 UBLOCK_HALFWIDTH_AND_FULLWIDTH_FORMS =87,
01255
01256
01257
01259 UBLOCK_OLD_ITALIC = 88,
01261 UBLOCK_GOTHIC = 89,
01263 UBLOCK_DESERET = 90,
01265 UBLOCK_BYZANTINE_MUSICAL_SYMBOLS = 91,
01267 UBLOCK_MUSICAL_SYMBOLS = 92,
01269 UBLOCK_MATHEMATICAL_ALPHANUMERIC_SYMBOLS = 93,
01271 UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B = 94,
01273 UBLOCK_CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT = 95,
01275 UBLOCK_TAGS = 96,
01276
01277
01278
01280 UBLOCK_CYRILLIC_SUPPLEMENT = 97,
01285 UBLOCK_CYRILLIC_SUPPLEMENTARY = UBLOCK_CYRILLIC_SUPPLEMENT,
01287 UBLOCK_TAGALOG = 98,
01289 UBLOCK_HANUNOO = 99,
01291 UBLOCK_BUHID = 100,
01293 UBLOCK_TAGBANWA = 101,
01295 UBLOCK_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A = 102,
01297 UBLOCK_SUPPLEMENTAL_ARROWS_A = 103,
01299 UBLOCK_SUPPLEMENTAL_ARROWS_B = 104,
01301 UBLOCK_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B = 105,
01303 UBLOCK_SUPPLEMENTAL_MATHEMATICAL_OPERATORS = 106,
01305 UBLOCK_KATAKANA_PHONETIC_EXTENSIONS = 107,
01307 UBLOCK_VARIATION_SELECTORS = 108,
01309 UBLOCK_SUPPLEMENTARY_PRIVATE_USE_AREA_A = 109,
01311 UBLOCK_SUPPLEMENTARY_PRIVATE_USE_AREA_B = 110,
01312
01313
01314
01316 UBLOCK_LIMBU = 111,
01318 UBLOCK_TAI_LE = 112,
01320 UBLOCK_KHMER_SYMBOLS = 113,
01322 UBLOCK_PHONETIC_EXTENSIONS = 114,
01324 UBLOCK_MISCELLANEOUS_SYMBOLS_AND_ARROWS = 115,
01326 UBLOCK_YIJING_HEXAGRAM_SYMBOLS = 116,
01328 UBLOCK_LINEAR_B_SYLLABARY = 117,
01330 UBLOCK_LINEAR_B_IDEOGRAMS = 118,
01332 UBLOCK_AEGEAN_NUMBERS = 119,
01334 UBLOCK_UGARITIC = 120,
01336 UBLOCK_SHAVIAN = 121,
01338 UBLOCK_OSMANYA = 122,
01340 UBLOCK_CYPRIOT_SYLLABARY = 123,
01342 UBLOCK_TAI_XUAN_JING_SYMBOLS = 124,
01344 UBLOCK_VARIATION_SELECTORS_SUPPLEMENT = 125,
01345
01346
01347
01349 UBLOCK_ANCIENT_GREEK_MUSICAL_NOTATION = 126,
01351 UBLOCK_ANCIENT_GREEK_NUMBERS = 127,
01353 UBLOCK_ARABIC_SUPPLEMENT = 128,
01355 UBLOCK_BUGINESE = 129,
01357 UBLOCK_CJK_STROKES = 130,
01359 UBLOCK_COMBINING_DIACRITICAL_MARKS_SUPPLEMENT = 131,
01361 UBLOCK_COPTIC = 132,
01363 UBLOCK_ETHIOPIC_EXTENDED = 133,
01365 UBLOCK_ETHIOPIC_SUPPLEMENT = 134,
01367 UBLOCK_GEORGIAN_SUPPLEMENT = 135,
01369 UBLOCK_GLAGOLITIC = 136,
01371 UBLOCK_KHAROSHTHI = 137,
01373 UBLOCK_MODIFIER_TONE_LETTERS = 138,
01375 UBLOCK_NEW_TAI_LUE = 139,
01377 UBLOCK_OLD_PERSIAN = 140,
01379 UBLOCK_PHONETIC_EXTENSIONS_SUPPLEMENT = 141,
01381 UBLOCK_SUPPLEMENTAL_PUNCTUATION = 142,
01383 UBLOCK_SYLOTI_NAGRI = 143,
01385 UBLOCK_TIFINAGH = 144,
01387 UBLOCK_VERTICAL_FORMS = 145,
01388
01389
01390
01392 UBLOCK_NKO = 146,
01394 UBLOCK_BALINESE = 147,
01396 UBLOCK_LATIN_EXTENDED_C = 148,
01398 UBLOCK_LATIN_EXTENDED_D = 149,
01400 UBLOCK_PHAGS_PA = 150,
01402 UBLOCK_PHOENICIAN = 151,
01404 UBLOCK_CUNEIFORM = 152,
01406 UBLOCK_CUNEIFORM_NUMBERS_AND_PUNCTUATION = 153,
01408 UBLOCK_COUNTING_ROD_NUMERALS = 154,
01409
01410
01411
01413 UBLOCK_SUNDANESE = 155,
01415 UBLOCK_LEPCHA = 156,
01417 UBLOCK_OL_CHIKI = 157,
01419 UBLOCK_CYRILLIC_EXTENDED_A = 158,
01421 UBLOCK_VAI = 159,
01423 UBLOCK_CYRILLIC_EXTENDED_B = 160,
01425 UBLOCK_SAURASHTRA = 161,
01427 UBLOCK_KAYAH_LI = 162,
01429 UBLOCK_REJANG = 163,
01431 UBLOCK_CHAM = 164,
01433 UBLOCK_ANCIENT_SYMBOLS = 165,
01435 UBLOCK_PHAISTOS_DISC = 166,
01437 UBLOCK_LYCIAN = 167,
01439 UBLOCK_CARIAN = 168,
01441 UBLOCK_LYDIAN = 169,
01443 UBLOCK_MAHJONG_TILES = 170,
01445 UBLOCK_DOMINO_TILES = 171,
01446
01447
01448
01450 UBLOCK_SAMARITAN = 172,
01452 UBLOCK_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED = 173,
01454 UBLOCK_TAI_THAM = 174,
01456 UBLOCK_VEDIC_EXTENSIONS = 175,
01458 UBLOCK_LISU = 176,
01460 UBLOCK_BAMUM = 177,
01462 UBLOCK_COMMON_INDIC_NUMBER_FORMS = 178,
01464 UBLOCK_DEVANAGARI_EXTENDED = 179,
01466 UBLOCK_HANGUL_JAMO_EXTENDED_A = 180,
01468 UBLOCK_JAVANESE = 181,
01470 UBLOCK_MYANMAR_EXTENDED_A = 182,
01472 UBLOCK_TAI_VIET = 183,
01474 UBLOCK_MEETEI_MAYEK = 184,
01476 UBLOCK_HANGUL_JAMO_EXTENDED_B = 185,
01478 UBLOCK_IMPERIAL_ARAMAIC = 186,
01480 UBLOCK_OLD_SOUTH_ARABIAN = 187,
01482 UBLOCK_AVESTAN = 188,
01484 UBLOCK_INSCRIPTIONAL_PARTHIAN = 189,
01486 UBLOCK_INSCRIPTIONAL_PAHLAVI = 190,
01488 UBLOCK_OLD_TURKIC = 191,
01490 UBLOCK_RUMI_NUMERAL_SYMBOLS = 192,
01492 UBLOCK_KAITHI = 193,
01494 UBLOCK_EGYPTIAN_HIEROGLYPHS = 194,
01496 UBLOCK_ENCLOSED_ALPHANUMERIC_SUPPLEMENT = 195,
01498 UBLOCK_ENCLOSED_IDEOGRAPHIC_SUPPLEMENT = 196,
01500 UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C = 197,
01501
01502
01503
01505 UBLOCK_MANDAIC = 198,
01507 UBLOCK_BATAK = 199,
01509 UBLOCK_ETHIOPIC_EXTENDED_A = 200,
01511 UBLOCK_BRAHMI = 201,
01513 UBLOCK_BAMUM_SUPPLEMENT = 202,
01515 UBLOCK_KANA_SUPPLEMENT = 203,
01517 UBLOCK_PLAYING_CARDS = 204,
01519 UBLOCK_MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS = 205,
01521 UBLOCK_EMOTICONS = 206,
01523 UBLOCK_TRANSPORT_AND_MAP_SYMBOLS = 207,
01525 UBLOCK_ALCHEMICAL_SYMBOLS = 208,
01527 UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D = 209,
01528
01529
01530
01532 UBLOCK_ARABIC_EXTENDED_A = 210,
01534 UBLOCK_ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS = 211,
01536 UBLOCK_CHAKMA = 212,
01538 UBLOCK_MEETEI_MAYEK_EXTENSIONS = 213,
01540 UBLOCK_MEROITIC_CURSIVE = 214,
01542 UBLOCK_MEROITIC_HIEROGLYPHS = 215,
01544 UBLOCK_MIAO = 216,
01546 UBLOCK_SHARADA = 217,
01548 UBLOCK_SORA_SOMPENG = 218,
01550 UBLOCK_SUNDANESE_SUPPLEMENT = 219,
01552 UBLOCK_TAKRI = 220,
01553
01554
01555
01557 UBLOCK_BASSA_VAH = 221,
01559 UBLOCK_CAUCASIAN_ALBANIAN = 222,
01561 UBLOCK_COPTIC_EPACT_NUMBERS = 223,
01563 UBLOCK_COMBINING_DIACRITICAL_MARKS_EXTENDED = 224,
01565 UBLOCK_DUPLOYAN = 225,
01567 UBLOCK_ELBASAN = 226,
01569 UBLOCK_GEOMETRIC_SHAPES_EXTENDED = 227,
01571 UBLOCK_GRANTHA = 228,
01573 UBLOCK_KHOJKI = 229,
01575 UBLOCK_KHUDAWADI = 230,
01577 UBLOCK_LATIN_EXTENDED_E = 231,
01579 UBLOCK_LINEAR_A = 232,
01581 UBLOCK_MAHAJANI = 233,
01583 UBLOCK_MANICHAEAN = 234,
01585 UBLOCK_MENDE_KIKAKUI = 235,
01587 UBLOCK_MODI = 236,
01589 UBLOCK_MRO = 237,
01591 UBLOCK_MYANMAR_EXTENDED_B = 238,
01593 UBLOCK_NABATAEAN = 239,
01595 UBLOCK_OLD_NORTH_ARABIAN = 240,
01597 UBLOCK_OLD_PERMIC = 241,
01599 UBLOCK_ORNAMENTAL_DINGBATS = 242,
01601 UBLOCK_PAHAWH_HMONG = 243,
01603 UBLOCK_PALMYRENE = 244,
01605 UBLOCK_PAU_CIN_HAU = 245,
01607 UBLOCK_PSALTER_PAHLAVI = 246,
01609 UBLOCK_SHORTHAND_FORMAT_CONTROLS = 247,
01611 UBLOCK_SIDDHAM = 248,
01613 UBLOCK_SINHALA_ARCHAIC_NUMBERS = 249,
01615 UBLOCK_SUPPLEMENTAL_ARROWS_C = 250,
01617 UBLOCK_TIRHUTA = 251,
01619 UBLOCK_WARANG_CITI = 252,
01620
01621
01622
01624 UBLOCK_AHOM = 253,
01626 UBLOCK_ANATOLIAN_HIEROGLYPHS = 254,
01628 UBLOCK_CHEROKEE_SUPPLEMENT = 255,
01630 UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_E = 256,
01632 UBLOCK_EARLY_DYNASTIC_CUNEIFORM = 257,
01634 UBLOCK_HATRAN = 258,
01636 UBLOCK_MULTANI = 259,
01638 UBLOCK_OLD_HUNGARIAN = 260,
01640 UBLOCK_SUPPLEMENTAL_SYMBOLS_AND_PICTOGRAPHS = 261,
01642 UBLOCK_SUTTON_SIGNWRITING = 262,
01643
01644
01645
01647 UBLOCK_ADLAM = 263,
01649 UBLOCK_BHAIKSUKI = 264,
01651 UBLOCK_CYRILLIC_EXTENDED_C = 265,
01653 UBLOCK_GLAGOLITIC_SUPPLEMENT = 266,
01655 UBLOCK_IDEOGRAPHIC_SYMBOLS_AND_PUNCTUATION = 267,
01657 UBLOCK_MARCHEN = 268,
01659 UBLOCK_MONGOLIAN_SUPPLEMENT = 269,
01661 UBLOCK_NEWA = 270,
01663 UBLOCK_OSAGE = 271,
01665 UBLOCK_TANGUT = 272,
01667 UBLOCK_TANGUT_COMPONENTS = 273,
01668
01669
01670
01672 UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_F = 274,
01674 UBLOCK_KANA_EXTENDED_A = 275,
01676 UBLOCK_MASARAM_GONDI = 276,
01678 UBLOCK_NUSHU = 277,
01680 UBLOCK_SOYOMBO = 278,
01682 UBLOCK_SYRIAC_SUPPLEMENT = 279,
01684 UBLOCK_ZANABAZAR_SQUARE = 280,
01685
01686 #ifndef U_HIDE_DEPRECATED_API
01687
01693 UBLOCK_COUNT = 281,
01694 #endif // U_HIDE_DEPRECATED_API
01695
01697 UBLOCK_INVALID_CODE=-1
01698 };
01699
01701 typedef enum UBlockCode UBlockCode;
01702
01710 typedef enum UEastAsianWidth {
01711
01712
01713
01714
01715
01716
01717 U_EA_NEUTRAL,
01718 U_EA_AMBIGUOUS,
01719 U_EA_HALFWIDTH,
01720 U_EA_FULLWIDTH,
01721 U_EA_NARROW,
01722 U_EA_WIDE,
01723 #ifndef U_HIDE_DEPRECATED_API
01724
01730 U_EA_COUNT
01731 #endif // U_HIDE_DEPRECATED_API
01732 } UEastAsianWidth;
01733
01745 typedef enum UCharNameChoice {
01747 U_UNICODE_CHAR_NAME,
01748 #ifndef U_HIDE_DEPRECATED_API
01749
01754 U_UNICODE_10_CHAR_NAME,
01755 #endif
01756
01757 U_EXTENDED_CHAR_NAME = U_UNICODE_CHAR_NAME+2,
01759 U_CHAR_NAME_ALIAS,
01760 #ifndef U_HIDE_DEPRECATED_API
01761
01765 U_CHAR_NAME_CHOICE_COUNT
01766 #endif // U_HIDE_DEPRECATED_API
01767 } UCharNameChoice;
01768
01782 typedef enum UPropertyNameChoice {
01783 U_SHORT_PROPERTY_NAME,
01784 U_LONG_PROPERTY_NAME,
01785 #ifndef U_HIDE_DEPRECATED_API
01786
01790 U_PROPERTY_NAME_CHOICE_COUNT
01791 #endif // U_HIDE_DEPRECATED_API
01792 } UPropertyNameChoice;
01793
01800 typedef enum UDecompositionType {
01801
01802
01803
01804
01805
01806
01807 U_DT_NONE,
01808 U_DT_CANONICAL,
01809 U_DT_COMPAT,
01810 U_DT_CIRCLE,
01811 U_DT_FINAL,
01812 U_DT_FONT,
01813 U_DT_FRACTION,
01814 U_DT_INITIAL,
01815 U_DT_ISOLATED,
01816 U_DT_MEDIAL,
01817 U_DT_NARROW,
01818 U_DT_NOBREAK,
01819 U_DT_SMALL,
01820 U_DT_SQUARE,
01821 U_DT_SUB,
01822 U_DT_SUPER,
01823 U_DT_VERTICAL,
01824 U_DT_WIDE,
01825 #ifndef U_HIDE_DEPRECATED_API
01826
01832 U_DT_COUNT
01833 #endif // U_HIDE_DEPRECATED_API
01834 } UDecompositionType;
01835
01842 typedef enum UJoiningType {
01843
01844
01845
01846
01847
01848
01849 U_JT_NON_JOINING,
01850 U_JT_JOIN_CAUSING,
01851 U_JT_DUAL_JOINING,
01852 U_JT_LEFT_JOINING,
01853 U_JT_RIGHT_JOINING,
01854 U_JT_TRANSPARENT,
01855 #ifndef U_HIDE_DEPRECATED_API
01856
01862 U_JT_COUNT
01863 #endif // U_HIDE_DEPRECATED_API
01864 } UJoiningType;
01865
01872 typedef enum UJoiningGroup {
01873
01874
01875
01876
01877
01878
01879 U_JG_NO_JOINING_GROUP,
01880 U_JG_AIN,
01881 U_JG_ALAPH,
01882 U_JG_ALEF,
01883 U_JG_BEH,
01884 U_JG_BETH,
01885 U_JG_DAL,
01886 U_JG_DALATH_RISH,
01887 U_JG_E,
01888 U_JG_FEH,
01889 U_JG_FINAL_SEMKATH,
01890 U_JG_GAF,
01891 U_JG_GAMAL,
01892 U_JG_HAH,
01893 U_JG_TEH_MARBUTA_GOAL,
01894 U_JG_HAMZA_ON_HEH_GOAL=U_JG_TEH_MARBUTA_GOAL,
01895 U_JG_HE,
01896 U_JG_HEH,
01897 U_JG_HEH_GOAL,
01898 U_JG_HETH,
01899 U_JG_KAF,
01900 U_JG_KAPH,
01901 U_JG_KNOTTED_HEH,
01902 U_JG_LAM,
01903 U_JG_LAMADH,
01904 U_JG_MEEM,
01905 U_JG_MIM,
01906 U_JG_NOON,
01907 U_JG_NUN,
01908 U_JG_PE,
01909 U_JG_QAF,
01910 U_JG_QAPH,
01911 U_JG_REH,
01912 U_JG_REVERSED_PE,
01913 U_JG_SAD,
01914 U_JG_SADHE,
01915 U_JG_SEEN,
01916 U_JG_SEMKATH,
01917 U_JG_SHIN,
01918 U_JG_SWASH_KAF,
01919 U_JG_SYRIAC_WAW,
01920 U_JG_TAH,
01921 U_JG_TAW,
01922 U_JG_TEH_MARBUTA,
01923 U_JG_TETH,
01924 U_JG_WAW,
01925 U_JG_YEH,
01926 U_JG_YEH_BARREE,
01927 U_JG_YEH_WITH_TAIL,
01928 U_JG_YUDH,
01929 U_JG_YUDH_HE,
01930 U_JG_ZAIN,
01931 U_JG_FE,
01932 U_JG_KHAPH,
01933 U_JG_ZHAIN,
01934 U_JG_BURUSHASKI_YEH_BARREE,
01935 U_JG_FARSI_YEH,
01936 U_JG_NYA,
01937 U_JG_ROHINGYA_YEH,
01938 U_JG_MANICHAEAN_ALEPH,
01939 U_JG_MANICHAEAN_AYIN,
01940 U_JG_MANICHAEAN_BETH,
01941 U_JG_MANICHAEAN_DALETH,
01942 U_JG_MANICHAEAN_DHAMEDH,
01943 U_JG_MANICHAEAN_FIVE,
01944 U_JG_MANICHAEAN_GIMEL,
01945 U_JG_MANICHAEAN_HETH,
01946 U_JG_MANICHAEAN_HUNDRED,
01947 U_JG_MANICHAEAN_KAPH,
01948 U_JG_MANICHAEAN_LAMEDH,
01949 U_JG_MANICHAEAN_MEM,
01950 U_JG_MANICHAEAN_NUN,
01951 U_JG_MANICHAEAN_ONE,
01952 U_JG_MANICHAEAN_PE,
01953 U_JG_MANICHAEAN_QOPH,
01954 U_JG_MANICHAEAN_RESH,
01955 U_JG_MANICHAEAN_SADHE,
01956 U_JG_MANICHAEAN_SAMEKH,
01957 U_JG_MANICHAEAN_TAW,
01958 U_JG_MANICHAEAN_TEN,
01959 U_JG_MANICHAEAN_TETH,
01960 U_JG_MANICHAEAN_THAMEDH,
01961 U_JG_MANICHAEAN_TWENTY,
01962 U_JG_MANICHAEAN_WAW,
01963 U_JG_MANICHAEAN_YODH,
01964 U_JG_MANICHAEAN_ZAYIN,
01965 U_JG_STRAIGHT_WAW,
01966 U_JG_AFRICAN_FEH,
01967 U_JG_AFRICAN_NOON,
01968 U_JG_AFRICAN_QAF,
01970 U_JG_MALAYALAM_BHA,
01971 U_JG_MALAYALAM_JA,
01972 U_JG_MALAYALAM_LLA,
01973 U_JG_MALAYALAM_LLLA,
01974 U_JG_MALAYALAM_NGA,
01975 U_JG_MALAYALAM_NNA,
01976 U_JG_MALAYALAM_NNNA,
01977 U_JG_MALAYALAM_NYA,
01978 U_JG_MALAYALAM_RA,
01979 U_JG_MALAYALAM_SSA,
01980 U_JG_MALAYALAM_TTA,
01982 #ifndef U_HIDE_DEPRECATED_API
01983
01989 U_JG_COUNT
01990 #endif // U_HIDE_DEPRECATED_API
01991 } UJoiningGroup;
01992
01999 typedef enum UGraphemeClusterBreak {
02000
02001
02002
02003
02004
02005
02006 U_GCB_OTHER = 0,
02007 U_GCB_CONTROL = 1,
02008 U_GCB_CR = 2,
02009 U_GCB_EXTEND = 3,
02010 U_GCB_L = 4,
02011 U_GCB_LF = 5,
02012 U_GCB_LV = 6,
02013 U_GCB_LVT = 7,
02014 U_GCB_T = 8,
02015 U_GCB_V = 9,
02017 U_GCB_SPACING_MARK = 10,
02019 U_GCB_PREPEND = 11,
02021 U_GCB_REGIONAL_INDICATOR = 12,
02023 U_GCB_E_BASE = 13,
02025 U_GCB_E_BASE_GAZ = 14,
02027 U_GCB_E_MODIFIER = 15,
02029 U_GCB_GLUE_AFTER_ZWJ = 16,
02031 U_GCB_ZWJ = 17,
02032 #ifndef U_HIDE_DEPRECATED_API
02033
02039 U_GCB_COUNT = 18
02040 #endif // U_HIDE_DEPRECATED_API
02041 } UGraphemeClusterBreak;
02042
02050 typedef enum UWordBreakValues {
02051
02052
02053
02054
02055
02056
02057 U_WB_OTHER = 0,
02058 U_WB_ALETTER = 1,
02059 U_WB_FORMAT = 2,
02060 U_WB_KATAKANA = 3,
02061 U_WB_MIDLETTER = 4,
02062 U_WB_MIDNUM = 5,
02063 U_WB_NUMERIC = 6,
02064 U_WB_EXTENDNUMLET = 7,
02066 U_WB_CR = 8,
02068 U_WB_EXTEND = 9,
02070 U_WB_LF = 10,
02072 U_WB_MIDNUMLET =11,
02074 U_WB_NEWLINE =12,
02076 U_WB_REGIONAL_INDICATOR = 13,
02078 U_WB_HEBREW_LETTER = 14,
02080 U_WB_SINGLE_QUOTE = 15,
02082 U_WB_DOUBLE_QUOTE = 16,
02084 U_WB_E_BASE = 17,
02086 U_WB_E_BASE_GAZ = 18,
02088 U_WB_E_MODIFIER = 19,
02090 U_WB_GLUE_AFTER_ZWJ = 20,
02092 U_WB_ZWJ = 21,
02093 #ifndef U_HIDE_DEPRECATED_API
02094
02100 U_WB_COUNT = 22
02101 #endif // U_HIDE_DEPRECATED_API
02102 } UWordBreakValues;
02103
02110 typedef enum USentenceBreak {
02111
02112
02113
02114
02115
02116
02117 U_SB_OTHER = 0,
02118 U_SB_ATERM = 1,
02119 U_SB_CLOSE = 2,
02120 U_SB_FORMAT = 3,
02121 U_SB_LOWER = 4,
02122 U_SB_NUMERIC = 5,
02123 U_SB_OLETTER = 6,
02124 U_SB_SEP = 7,
02125 U_SB_SP = 8,
02126 U_SB_STERM = 9,
02127 U_SB_UPPER = 10,
02128 U_SB_CR = 11,
02129 U_SB_EXTEND = 12,
02130 U_SB_LF = 13,
02131 U_SB_SCONTINUE = 14,
02132 #ifndef U_HIDE_DEPRECATED_API
02133
02139 U_SB_COUNT = 15
02140 #endif // U_HIDE_DEPRECATED_API
02141 } USentenceBreak;
02142
02149 typedef enum ULineBreak {
02150
02151
02152
02153
02154
02155
02156 U_LB_UNKNOWN = 0,
02157 U_LB_AMBIGUOUS = 1,
02158 U_LB_ALPHABETIC = 2,
02159 U_LB_BREAK_BOTH = 3,
02160 U_LB_BREAK_AFTER = 4,
02161 U_LB_BREAK_BEFORE = 5,
02162 U_LB_MANDATORY_BREAK = 6,
02163 U_LB_CONTINGENT_BREAK = 7,
02164 U_LB_CLOSE_PUNCTUATION = 8,
02165 U_LB_COMBINING_MARK = 9,
02166 U_LB_CARRIAGE_RETURN = 10,
02167 U_LB_EXCLAMATION = 11,
02168 U_LB_GLUE = 12,
02169 U_LB_HYPHEN = 13,
02170 U_LB_IDEOGRAPHIC = 14,
02172 U_LB_INSEPARABLE = 15,
02173 U_LB_INSEPERABLE = U_LB_INSEPARABLE,
02174 U_LB_INFIX_NUMERIC = 16,
02175 U_LB_LINE_FEED = 17,
02176 U_LB_NONSTARTER = 18,
02177 U_LB_NUMERIC = 19,
02178 U_LB_OPEN_PUNCTUATION = 20,
02179 U_LB_POSTFIX_NUMERIC = 21,
02180 U_LB_PREFIX_NUMERIC = 22,
02181 U_LB_QUOTATION = 23,
02182 U_LB_COMPLEX_CONTEXT = 24,
02183 U_LB_SURROGATE = 25,
02184 U_LB_SPACE = 26,
02185 U_LB_BREAK_SYMBOLS = 27,
02186 U_LB_ZWSPACE = 28,
02188 U_LB_NEXT_LINE = 29,
02190 U_LB_WORD_JOINER = 30,
02192 U_LB_H2 = 31,
02194 U_LB_H3 = 32,
02196 U_LB_JL = 33,
02198 U_LB_JT = 34,
02200 U_LB_JV = 35,
02202 U_LB_CLOSE_PARENTHESIS = 36,
02204 U_LB_CONDITIONAL_JAPANESE_STARTER = 37,
02206 U_LB_HEBREW_LETTER = 38,
02208 U_LB_REGIONAL_INDICATOR = 39,
02210 U_LB_E_BASE = 40,
02212 U_LB_E_MODIFIER = 41,
02214 U_LB_ZWJ = 42,
02215 #ifndef U_HIDE_DEPRECATED_API
02216
02222 U_LB_COUNT = 43
02223 #endif // U_HIDE_DEPRECATED_API
02224 } ULineBreak;
02225
02232 typedef enum UNumericType {
02233
02234
02235
02236
02237
02238
02239 U_NT_NONE,
02240 U_NT_DECIMAL,
02241 U_NT_DIGIT,
02242 U_NT_NUMERIC,
02243 #ifndef U_HIDE_DEPRECATED_API
02244
02250 U_NT_COUNT
02251 #endif // U_HIDE_DEPRECATED_API
02252 } UNumericType;
02253
02260 typedef enum UHangulSyllableType {
02261
02262
02263
02264
02265
02266
02267 U_HST_NOT_APPLICABLE,
02268 U_HST_LEADING_JAMO,
02269 U_HST_VOWEL_JAMO,
02270 U_HST_TRAILING_JAMO,
02271 U_HST_LV_SYLLABLE,
02272 U_HST_LVT_SYLLABLE,
02273 #ifndef U_HIDE_DEPRECATED_API
02274
02280 U_HST_COUNT
02281 #endif // U_HIDE_DEPRECATED_API
02282 } UHangulSyllableType;
02283
02310 U_STABLE UBool U_EXPORT2
02311 u_hasBinaryProperty(UChar32 c, UProperty which);
02312
02325 U_STABLE UBool U_EXPORT2
02326 u_isUAlphabetic(UChar32 c);
02327
02340 U_STABLE UBool U_EXPORT2
02341 u_isULowercase(UChar32 c);
02342
02355 U_STABLE UBool U_EXPORT2
02356 u_isUUppercase(UChar32 c);
02357
02376 U_STABLE UBool U_EXPORT2
02377 u_isUWhiteSpace(UChar32 c);
02378
02416 U_STABLE int32_t U_EXPORT2
02417 u_getIntPropertyValue(UChar32 c, UProperty which);
02418
02437 U_STABLE int32_t U_EXPORT2
02438 u_getIntPropertyMinValue(UProperty which);
02439
02466 U_STABLE int32_t U_EXPORT2
02467 u_getIntPropertyMaxValue(UProperty which);
02468
02491 U_STABLE double U_EXPORT2
02492 u_getNumericValue(UChar32 c);
02493
02501 #define U_NO_NUMERIC_VALUE ((double)-123456789.)
02502
02526 U_STABLE UBool U_EXPORT2
02527 u_islower(UChar32 c);
02528
02553 U_STABLE UBool U_EXPORT2
02554 u_isupper(UChar32 c);
02555
02570 U_STABLE UBool U_EXPORT2
02571 u_istitle(UChar32 c);
02572
02591 U_STABLE UBool U_EXPORT2
02592 u_isdigit(UChar32 c);
02593
02612 U_STABLE UBool U_EXPORT2
02613 u_isalpha(UChar32 c);
02614
02633 U_STABLE UBool U_EXPORT2
02634 u_isalnum(UChar32 c);
02635
02656 U_STABLE UBool U_EXPORT2
02657 u_isxdigit(UChar32 c);
02658
02672 U_STABLE UBool U_EXPORT2
02673 u_ispunct(UChar32 c);
02674
02691 U_STABLE UBool U_EXPORT2
02692 u_isgraph(UChar32 c);
02693
02720 U_STABLE UBool U_EXPORT2
02721 u_isblank(UChar32 c);
02722
02745 U_STABLE UBool U_EXPORT2
02746 u_isdefined(UChar32 c);
02747
02766 U_STABLE UBool U_EXPORT2
02767 u_isspace(UChar32 c);
02768
02787 U_STABLE UBool U_EXPORT2
02788 u_isJavaSpaceChar(UChar32 c);
02789
02827 U_STABLE UBool U_EXPORT2
02828 u_isWhitespace(UChar32 c);
02829
02851 U_STABLE UBool U_EXPORT2
02852 u_iscntrl(UChar32 c);
02853
02866 U_STABLE UBool U_EXPORT2
02867 u_isISOControl(UChar32 c);
02868
02884 U_STABLE UBool U_EXPORT2
02885 u_isprint(UChar32 c);
02886
02905 U_STABLE UBool U_EXPORT2
02906 u_isbase(UChar32 c);
02907
02924 U_STABLE UCharDirection U_EXPORT2
02925 u_charDirection(UChar32 c);
02926
02942 U_STABLE UBool U_EXPORT2
02943 u_isMirrored(UChar32 c);
02944
02964 U_STABLE UChar32 U_EXPORT2
02965 u_charMirror(UChar32 c);
02966
02983 U_STABLE UChar32 U_EXPORT2
02984 u_getBidiPairedBracket(UChar32 c);
02985
02997 U_STABLE int8_t U_EXPORT2
02998 u_charType(UChar32 c);
02999
03013 #define U_GET_GC_MASK(c) U_MASK(u_charType(c))
03014
03032 typedef UBool U_CALLCONV
03033 UCharEnumTypeRange(const void *context, UChar32 start, UChar32 limit, UCharCategory type);
03034
03054 U_STABLE void U_EXPORT2
03055 u_enumCharTypes(UCharEnumTypeRange *enumRange, const void *context);
03056
03057 #if !UCONFIG_NO_NORMALIZATION
03058
03066 U_STABLE uint8_t U_EXPORT2
03067 u_getCombiningClass(UChar32 c);
03068
03069 #endif
03070
03094 U_STABLE int32_t U_EXPORT2
03095 u_charDigitValue(UChar32 c);
03096
03106 U_STABLE UBlockCode U_EXPORT2
03107 ublock_getCode(UChar32 c);
03108
03141 U_STABLE int32_t U_EXPORT2
03142 u_charName(UChar32 code, UCharNameChoice nameChoice,
03143 char *buffer, int32_t bufferLength,
03144 UErrorCode *pErrorCode);
03145
03146 #ifndef U_HIDE_DEPRECATED_API
03147
03165 U_DEPRECATED int32_t U_EXPORT2
03166 u_getISOComment(UChar32 c,
03167 char *dest, int32_t destCapacity,
03168 UErrorCode *pErrorCode);
03169 #endif
03170
03191 U_STABLE UChar32 U_EXPORT2
03192 u_charFromName(UCharNameChoice nameChoice,
03193 const char *name,
03194 UErrorCode *pErrorCode);
03195
03213 typedef UBool U_CALLCONV UEnumCharNamesFn(void *context,
03214 UChar32 code,
03215 UCharNameChoice nameChoice,
03216 const char *name,
03217 int32_t length);
03218
03240 U_STABLE void U_EXPORT2
03241 u_enumCharNames(UChar32 start, UChar32 limit,
03242 UEnumCharNamesFn *fn,
03243 void *context,
03244 UCharNameChoice nameChoice,
03245 UErrorCode *pErrorCode);
03246
03278 U_STABLE const char* U_EXPORT2
03279 u_getPropertyName(UProperty property,
03280 UPropertyNameChoice nameChoice);
03281
03301 U_STABLE UProperty U_EXPORT2
03302 u_getPropertyEnum(const char* alias);
03303
03351 U_STABLE const char* U_EXPORT2
03352 u_getPropertyValueName(UProperty property,
03353 int32_t value,
03354 UPropertyNameChoice nameChoice);
03355
03387 U_STABLE int32_t U_EXPORT2
03388 u_getPropertyValueEnum(UProperty property,
03389 const char* alias);
03390
03408 U_STABLE UBool U_EXPORT2
03409 u_isIDStart(UChar32 c);
03410
03432 U_STABLE UBool U_EXPORT2
03433 u_isIDPart(UChar32 c);
03434
03455 U_STABLE UBool U_EXPORT2
03456 u_isIDIgnorable(UChar32 c);
03457
03474 U_STABLE UBool U_EXPORT2
03475 u_isJavaIDStart(UChar32 c);
03476
03495 U_STABLE UBool U_EXPORT2
03496 u_isJavaIDPart(UChar32 c);
03497
03520 U_STABLE UChar32 U_EXPORT2
03521 u_tolower(UChar32 c);
03522
03545 U_STABLE UChar32 U_EXPORT2
03546 u_toupper(UChar32 c);
03547
03570 U_STABLE UChar32 U_EXPORT2
03571 u_totitle(UChar32 c);
03572
03595 U_STABLE UChar32 U_EXPORT2
03596 u_foldCase(UChar32 c, uint32_t options);
03597
03636 U_STABLE int32_t U_EXPORT2
03637 u_digit(UChar32 ch, int8_t radix);
03638
03667 U_STABLE UChar32 U_EXPORT2
03668 u_forDigit(int32_t digit, int8_t radix);
03669
03684 U_STABLE void U_EXPORT2
03685 u_charAge(UChar32 c, UVersionInfo versionArray);
03686
03698 U_STABLE void U_EXPORT2
03699 u_getUnicodeVersion(UVersionInfo versionArray);
03700
03701 #if !UCONFIG_NO_NORMALIZATION
03702
03723 U_STABLE int32_t U_EXPORT2
03724 u_getFC_NFKC_Closure(UChar32 c, UChar *dest, int32_t destCapacity, UErrorCode *pErrorCode);
03725
03726 #endif
03727
03728
03729 U_CDECL_END
03730
03731 #endif
03732