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 #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
00053
00063 #define U_UNICODE_VERSION "14.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
00198
00199
00200
00201
00202
00203
00204
00205
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,
00486 #ifndef U_HIDE_DRAFT_API
00487
00493 UCHAR_BASIC_EMOJI=65,
00500 UCHAR_EMOJI_KEYCAP_SEQUENCE=66,
00507 UCHAR_RGI_EMOJI_MODIFIER_SEQUENCE=67,
00514 UCHAR_RGI_EMOJI_FLAG_SEQUENCE=68,
00521 UCHAR_RGI_EMOJI_TAG_SEQUENCE=69,
00528 UCHAR_RGI_EMOJI_ZWJ_SEQUENCE=70,
00535 UCHAR_RGI_EMOJI=71,
00536 #endif // U_HIDE_DRAFT_API
00537 #ifndef U_HIDE_DEPRECATED_API
00538
00542 UCHAR_BINARY_LIMIT=72,
00543 #endif // U_HIDE_DEPRECATED_API
00544
00547 UCHAR_BIDI_CLASS=0x1000,
00549 UCHAR_INT_START=UCHAR_BIDI_CLASS,
00552 UCHAR_BLOCK=0x1001,
00555 UCHAR_CANONICAL_COMBINING_CLASS=0x1002,
00558 UCHAR_DECOMPOSITION_TYPE=0x1003,
00562 UCHAR_EAST_ASIAN_WIDTH=0x1004,
00565 UCHAR_GENERAL_CATEGORY=0x1005,
00568 UCHAR_JOINING_GROUP=0x1006,
00571 UCHAR_JOINING_TYPE=0x1007,
00574 UCHAR_LINE_BREAK=0x1008,
00577 UCHAR_NUMERIC_TYPE=0x1009,
00580 UCHAR_SCRIPT=0x100A,
00583 UCHAR_HANGUL_SYLLABLE_TYPE=0x100B,
00586 UCHAR_NFD_QUICK_CHECK=0x100C,
00589 UCHAR_NFKD_QUICK_CHECK=0x100D,
00592 UCHAR_NFC_QUICK_CHECK=0x100E,
00595 UCHAR_NFKC_QUICK_CHECK=0x100F,
00602 UCHAR_LEAD_CANONICAL_COMBINING_CLASS=0x1010,
00609 UCHAR_TRAIL_CANONICAL_COMBINING_CLASS=0x1011,
00614 UCHAR_GRAPHEME_CLUSTER_BREAK=0x1012,
00619 UCHAR_SENTENCE_BREAK=0x1013,
00624 UCHAR_WORD_BREAK=0x1014,
00629 UCHAR_BIDI_PAIRED_BRACKET_TYPE=0x1015,
00637 UCHAR_INDIC_POSITIONAL_CATEGORY=0x1016,
00644 UCHAR_INDIC_SYLLABIC_CATEGORY=0x1017,
00651 UCHAR_VERTICAL_ORIENTATION=0x1018,
00652 #ifndef U_HIDE_DEPRECATED_API
00653
00657 UCHAR_INT_LIMIT=0x1019,
00658 #endif // U_HIDE_DEPRECATED_API
00659
00668 UCHAR_GENERAL_CATEGORY_MASK=0x2000,
00670 UCHAR_MASK_START=UCHAR_GENERAL_CATEGORY_MASK,
00671 #ifndef U_HIDE_DEPRECATED_API
00672
00676 UCHAR_MASK_LIMIT=0x2001,
00677 #endif // U_HIDE_DEPRECATED_API
00678
00681 UCHAR_NUMERIC_VALUE=0x3000,
00683 UCHAR_DOUBLE_START=UCHAR_NUMERIC_VALUE,
00684 #ifndef U_HIDE_DEPRECATED_API
00685
00689 UCHAR_DOUBLE_LIMIT=0x3001,
00690 #endif // U_HIDE_DEPRECATED_API
00691
00694 UCHAR_AGE=0x4000,
00696 UCHAR_STRING_START=UCHAR_AGE,
00699 UCHAR_BIDI_MIRRORING_GLYPH=0x4001,
00702 UCHAR_CASE_FOLDING=0x4002,
00703 #ifndef U_HIDE_DEPRECATED_API
00704
00706 UCHAR_ISO_COMMENT=0x4003,
00707 #endif
00708
00710 UCHAR_LOWERCASE_MAPPING=0x4004,
00713 UCHAR_NAME=0x4005,
00716 UCHAR_SIMPLE_CASE_FOLDING=0x4006,
00719 UCHAR_SIMPLE_LOWERCASE_MAPPING=0x4007,
00722 UCHAR_SIMPLE_TITLECASE_MAPPING=0x4008,
00725 UCHAR_SIMPLE_UPPERCASE_MAPPING=0x4009,
00728 UCHAR_TITLECASE_MAPPING=0x400A,
00729 #ifndef U_HIDE_DEPRECATED_API
00730
00734 UCHAR_UNICODE_1_NAME=0x400B,
00735 #endif
00736
00738 UCHAR_UPPERCASE_MAPPING=0x400C,
00741 UCHAR_BIDI_PAIRED_BRACKET=0x400D,
00742 #ifndef U_HIDE_DEPRECATED_API
00743
00747 UCHAR_STRING_LIMIT=0x400E,
00748 #endif // U_HIDE_DEPRECATED_API
00749
00755 UCHAR_SCRIPT_EXTENSIONS=0x7000,
00757 UCHAR_OTHER_PROPERTY_START=UCHAR_SCRIPT_EXTENSIONS,
00758 #ifndef U_HIDE_DEPRECATED_API
00759
00763 UCHAR_OTHER_PROPERTY_LIMIT=0x7001,
00764 #endif // U_HIDE_DEPRECATED_API
00765
00767 UCHAR_INVALID_CODE = -1
00768 } UProperty;
00769
00775 typedef enum UCharCategory
00776 {
00777
00778
00779
00780
00781
00782
00783
00785 U_UNASSIGNED = 0,
00787 U_GENERAL_OTHER_TYPES = 0,
00789 U_UPPERCASE_LETTER = 1,
00791 U_LOWERCASE_LETTER = 2,
00793 U_TITLECASE_LETTER = 3,
00795 U_MODIFIER_LETTER = 4,
00797 U_OTHER_LETTER = 5,
00799 U_NON_SPACING_MARK = 6,
00801 U_ENCLOSING_MARK = 7,
00803 U_COMBINING_SPACING_MARK = 8,
00805 U_DECIMAL_DIGIT_NUMBER = 9,
00807 U_LETTER_NUMBER = 10,
00809 U_OTHER_NUMBER = 11,
00811 U_SPACE_SEPARATOR = 12,
00813 U_LINE_SEPARATOR = 13,
00815 U_PARAGRAPH_SEPARATOR = 14,
00817 U_CONTROL_CHAR = 15,
00819 U_FORMAT_CHAR = 16,
00821 U_PRIVATE_USE_CHAR = 17,
00823 U_SURROGATE = 18,
00825 U_DASH_PUNCTUATION = 19,
00827 U_START_PUNCTUATION = 20,
00829 U_END_PUNCTUATION = 21,
00831 U_CONNECTOR_PUNCTUATION = 22,
00833 U_OTHER_PUNCTUATION = 23,
00835 U_MATH_SYMBOL = 24,
00837 U_CURRENCY_SYMBOL = 25,
00839 U_MODIFIER_SYMBOL = 26,
00841 U_OTHER_SYMBOL = 27,
00843 U_INITIAL_PUNCTUATION = 28,
00845 U_FINAL_PUNCTUATION = 29,
00853 U_CHAR_CATEGORY_COUNT
00854 } UCharCategory;
00855
00870 #define U_GC_CN_MASK U_MASK(U_GENERAL_OTHER_TYPES)
00871
00873 #define U_GC_LU_MASK U_MASK(U_UPPERCASE_LETTER)
00874
00875 #define U_GC_LL_MASK U_MASK(U_LOWERCASE_LETTER)
00876
00877 #define U_GC_LT_MASK U_MASK(U_TITLECASE_LETTER)
00878
00879 #define U_GC_LM_MASK U_MASK(U_MODIFIER_LETTER)
00880
00881 #define U_GC_LO_MASK U_MASK(U_OTHER_LETTER)
00882
00884 #define U_GC_MN_MASK U_MASK(U_NON_SPACING_MARK)
00885
00886 #define U_GC_ME_MASK U_MASK(U_ENCLOSING_MARK)
00887
00888 #define U_GC_MC_MASK U_MASK(U_COMBINING_SPACING_MARK)
00889
00891 #define U_GC_ND_MASK U_MASK(U_DECIMAL_DIGIT_NUMBER)
00892
00893 #define U_GC_NL_MASK U_MASK(U_LETTER_NUMBER)
00894
00895 #define U_GC_NO_MASK U_MASK(U_OTHER_NUMBER)
00896
00898 #define U_GC_ZS_MASK U_MASK(U_SPACE_SEPARATOR)
00899
00900 #define U_GC_ZL_MASK U_MASK(U_LINE_SEPARATOR)
00901
00902 #define U_GC_ZP_MASK U_MASK(U_PARAGRAPH_SEPARATOR)
00903
00905 #define U_GC_CC_MASK U_MASK(U_CONTROL_CHAR)
00906
00907 #define U_GC_CF_MASK U_MASK(U_FORMAT_CHAR)
00908
00909 #define U_GC_CO_MASK U_MASK(U_PRIVATE_USE_CHAR)
00910
00911 #define U_GC_CS_MASK U_MASK(U_SURROGATE)
00912
00914 #define U_GC_PD_MASK U_MASK(U_DASH_PUNCTUATION)
00915
00916 #define U_GC_PS_MASK U_MASK(U_START_PUNCTUATION)
00917
00918 #define U_GC_PE_MASK U_MASK(U_END_PUNCTUATION)
00919
00920 #define U_GC_PC_MASK U_MASK(U_CONNECTOR_PUNCTUATION)
00921
00922 #define U_GC_PO_MASK U_MASK(U_OTHER_PUNCTUATION)
00923
00925 #define U_GC_SM_MASK U_MASK(U_MATH_SYMBOL)
00926
00927 #define U_GC_SC_MASK U_MASK(U_CURRENCY_SYMBOL)
00928
00929 #define U_GC_SK_MASK U_MASK(U_MODIFIER_SYMBOL)
00930
00931 #define U_GC_SO_MASK U_MASK(U_OTHER_SYMBOL)
00932
00934 #define U_GC_PI_MASK U_MASK(U_INITIAL_PUNCTUATION)
00935
00936 #define U_GC_PF_MASK U_MASK(U_FINAL_PUNCTUATION)
00937
00938
00940 #define U_GC_L_MASK \
00941 (U_GC_LU_MASK|U_GC_LL_MASK|U_GC_LT_MASK|U_GC_LM_MASK|U_GC_LO_MASK)
00942
00944 #define U_GC_LC_MASK \
00945 (U_GC_LU_MASK|U_GC_LL_MASK|U_GC_LT_MASK)
00946
00948 #define U_GC_M_MASK (U_GC_MN_MASK|U_GC_ME_MASK|U_GC_MC_MASK)
00949
00951 #define U_GC_N_MASK (U_GC_ND_MASK|U_GC_NL_MASK|U_GC_NO_MASK)
00952
00954 #define U_GC_Z_MASK (U_GC_ZS_MASK|U_GC_ZL_MASK|U_GC_ZP_MASK)
00955
00957 #define U_GC_C_MASK \
00958 (U_GC_CN_MASK|U_GC_CC_MASK|U_GC_CF_MASK|U_GC_CO_MASK|U_GC_CS_MASK)
00959
00961 #define U_GC_P_MASK \
00962 (U_GC_PD_MASK|U_GC_PS_MASK|U_GC_PE_MASK|U_GC_PC_MASK|U_GC_PO_MASK| \
00963 U_GC_PI_MASK|U_GC_PF_MASK)
00964
00966 #define U_GC_S_MASK (U_GC_SM_MASK|U_GC_SC_MASK|U_GC_SK_MASK|U_GC_SO_MASK)
00967
00972 typedef enum UCharDirection {
00973
00974
00975
00976
00977
00978
00979
00981 U_LEFT_TO_RIGHT = 0,
00983 U_RIGHT_TO_LEFT = 1,
00985 U_EUROPEAN_NUMBER = 2,
00987 U_EUROPEAN_NUMBER_SEPARATOR = 3,
00989 U_EUROPEAN_NUMBER_TERMINATOR = 4,
00991 U_ARABIC_NUMBER = 5,
00993 U_COMMON_NUMBER_SEPARATOR = 6,
00995 U_BLOCK_SEPARATOR = 7,
00997 U_SEGMENT_SEPARATOR = 8,
00999 U_WHITE_SPACE_NEUTRAL = 9,
01001 U_OTHER_NEUTRAL = 10,
01003 U_LEFT_TO_RIGHT_EMBEDDING = 11,
01005 U_LEFT_TO_RIGHT_OVERRIDE = 12,
01007 U_RIGHT_TO_LEFT_ARABIC = 13,
01009 U_RIGHT_TO_LEFT_EMBEDDING = 14,
01011 U_RIGHT_TO_LEFT_OVERRIDE = 15,
01013 U_POP_DIRECTIONAL_FORMAT = 16,
01015 U_DIR_NON_SPACING_MARK = 17,
01017 U_BOUNDARY_NEUTRAL = 18,
01019 U_FIRST_STRONG_ISOLATE = 19,
01021 U_LEFT_TO_RIGHT_ISOLATE = 20,
01023 U_RIGHT_TO_LEFT_ISOLATE = 21,
01025 U_POP_DIRECTIONAL_ISOLATE = 22,
01026 #ifndef U_HIDE_DEPRECATED_API
01027
01033 U_CHAR_DIRECTION_COUNT
01034 #endif // U_HIDE_DEPRECATED_API
01035 } UCharDirection;
01036
01043 typedef enum UBidiPairedBracketType {
01044
01045
01046
01047
01048
01049
01051 U_BPT_NONE,
01053 U_BPT_OPEN,
01055 U_BPT_CLOSE,
01056 #ifndef U_HIDE_DEPRECATED_API
01057
01063 U_BPT_COUNT
01064 #endif // U_HIDE_DEPRECATED_API
01065 } UBidiPairedBracketType;
01066
01071 enum UBlockCode {
01072
01073
01074
01075
01076
01077
01079 UBLOCK_NO_BLOCK = 0,
01080
01082 UBLOCK_BASIC_LATIN = 1,
01083
01085 UBLOCK_LATIN_1_SUPPLEMENT=2,
01086
01088 UBLOCK_LATIN_EXTENDED_A =3,
01089
01091 UBLOCK_LATIN_EXTENDED_B =4,
01092
01094 UBLOCK_IPA_EXTENSIONS =5,
01095
01097 UBLOCK_SPACING_MODIFIER_LETTERS =6,
01098
01100 UBLOCK_COMBINING_DIACRITICAL_MARKS =7,
01101
01106 UBLOCK_GREEK =8,
01107
01109 UBLOCK_CYRILLIC =9,
01110
01112 UBLOCK_ARMENIAN =10,
01113
01115 UBLOCK_HEBREW =11,
01116
01118 UBLOCK_ARABIC =12,
01119
01121 UBLOCK_SYRIAC =13,
01122
01124 UBLOCK_THAANA =14,
01125
01127 UBLOCK_DEVANAGARI =15,
01128
01130 UBLOCK_BENGALI =16,
01131
01133 UBLOCK_GURMUKHI =17,
01134
01136 UBLOCK_GUJARATI =18,
01137
01139 UBLOCK_ORIYA =19,
01140
01142 UBLOCK_TAMIL =20,
01143
01145 UBLOCK_TELUGU =21,
01146
01148 UBLOCK_KANNADA =22,
01149
01151 UBLOCK_MALAYALAM =23,
01152
01154 UBLOCK_SINHALA =24,
01155
01157 UBLOCK_THAI =25,
01158
01160 UBLOCK_LAO =26,
01161
01163 UBLOCK_TIBETAN =27,
01164
01166 UBLOCK_MYANMAR =28,
01167
01169 UBLOCK_GEORGIAN =29,
01170
01172 UBLOCK_HANGUL_JAMO =30,
01173
01175 UBLOCK_ETHIOPIC =31,
01176
01178 UBLOCK_CHEROKEE =32,
01179
01181 UBLOCK_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS =33,
01182
01184 UBLOCK_OGHAM =34,
01185
01187 UBLOCK_RUNIC =35,
01188
01190 UBLOCK_KHMER =36,
01191
01193 UBLOCK_MONGOLIAN =37,
01194
01196 UBLOCK_LATIN_EXTENDED_ADDITIONAL =38,
01197
01199 UBLOCK_GREEK_EXTENDED =39,
01200
01202 UBLOCK_GENERAL_PUNCTUATION =40,
01203
01205 UBLOCK_SUPERSCRIPTS_AND_SUBSCRIPTS =41,
01206
01208 UBLOCK_CURRENCY_SYMBOLS =42,
01209
01214 UBLOCK_COMBINING_MARKS_FOR_SYMBOLS =43,
01215
01217 UBLOCK_LETTERLIKE_SYMBOLS =44,
01218
01220 UBLOCK_NUMBER_FORMS =45,
01221
01223 UBLOCK_ARROWS =46,
01224
01226 UBLOCK_MATHEMATICAL_OPERATORS =47,
01227
01229 UBLOCK_MISCELLANEOUS_TECHNICAL =48,
01230
01232 UBLOCK_CONTROL_PICTURES =49,
01233
01235 UBLOCK_OPTICAL_CHARACTER_RECOGNITION =50,
01236
01238 UBLOCK_ENCLOSED_ALPHANUMERICS =51,
01239
01241 UBLOCK_BOX_DRAWING =52,
01242
01244 UBLOCK_BLOCK_ELEMENTS =53,
01245
01247 UBLOCK_GEOMETRIC_SHAPES =54,
01248
01250 UBLOCK_MISCELLANEOUS_SYMBOLS =55,
01251
01253 UBLOCK_DINGBATS =56,
01254
01256 UBLOCK_BRAILLE_PATTERNS =57,
01257
01259 UBLOCK_CJK_RADICALS_SUPPLEMENT =58,
01260
01262 UBLOCK_KANGXI_RADICALS =59,
01263
01265 UBLOCK_IDEOGRAPHIC_DESCRIPTION_CHARACTERS =60,
01266
01268 UBLOCK_CJK_SYMBOLS_AND_PUNCTUATION =61,
01269
01271 UBLOCK_HIRAGANA =62,
01272
01274 UBLOCK_KATAKANA =63,
01275
01277 UBLOCK_BOPOMOFO =64,
01278
01280 UBLOCK_HANGUL_COMPATIBILITY_JAMO =65,
01281
01283 UBLOCK_KANBUN =66,
01284
01286 UBLOCK_BOPOMOFO_EXTENDED =67,
01287
01289 UBLOCK_ENCLOSED_CJK_LETTERS_AND_MONTHS =68,
01290
01292 UBLOCK_CJK_COMPATIBILITY =69,
01293
01295 UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A =70,
01296
01298 UBLOCK_CJK_UNIFIED_IDEOGRAPHS =71,
01299
01301 UBLOCK_YI_SYLLABLES =72,
01302
01304 UBLOCK_YI_RADICALS =73,
01305
01307 UBLOCK_HANGUL_SYLLABLES =74,
01308
01310 UBLOCK_HIGH_SURROGATES =75,
01311
01313 UBLOCK_HIGH_PRIVATE_USE_SURROGATES =76,
01314
01316 UBLOCK_LOW_SURROGATES =77,
01317
01327 UBLOCK_PRIVATE_USE_AREA =78,
01337 UBLOCK_PRIVATE_USE = UBLOCK_PRIVATE_USE_AREA,
01338
01340 UBLOCK_CJK_COMPATIBILITY_IDEOGRAPHS =79,
01341
01343 UBLOCK_ALPHABETIC_PRESENTATION_FORMS =80,
01344
01346 UBLOCK_ARABIC_PRESENTATION_FORMS_A =81,
01347
01349 UBLOCK_COMBINING_HALF_MARKS =82,
01350
01352 UBLOCK_CJK_COMPATIBILITY_FORMS =83,
01353
01355 UBLOCK_SMALL_FORM_VARIANTS =84,
01356
01358 UBLOCK_ARABIC_PRESENTATION_FORMS_B =85,
01359
01361 UBLOCK_SPECIALS =86,
01362
01364 UBLOCK_HALFWIDTH_AND_FULLWIDTH_FORMS =87,
01365
01366
01367
01369 UBLOCK_OLD_ITALIC = 88,
01371 UBLOCK_GOTHIC = 89,
01373 UBLOCK_DESERET = 90,
01375 UBLOCK_BYZANTINE_MUSICAL_SYMBOLS = 91,
01377 UBLOCK_MUSICAL_SYMBOLS = 92,
01379 UBLOCK_MATHEMATICAL_ALPHANUMERIC_SYMBOLS = 93,
01381 UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B = 94,
01383 UBLOCK_CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT = 95,
01385 UBLOCK_TAGS = 96,
01386
01387
01388
01390 UBLOCK_CYRILLIC_SUPPLEMENT = 97,
01395 UBLOCK_CYRILLIC_SUPPLEMENTARY = UBLOCK_CYRILLIC_SUPPLEMENT,
01397 UBLOCK_TAGALOG = 98,
01399 UBLOCK_HANUNOO = 99,
01401 UBLOCK_BUHID = 100,
01403 UBLOCK_TAGBANWA = 101,
01405 UBLOCK_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A = 102,
01407 UBLOCK_SUPPLEMENTAL_ARROWS_A = 103,
01409 UBLOCK_SUPPLEMENTAL_ARROWS_B = 104,
01411 UBLOCK_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B = 105,
01413 UBLOCK_SUPPLEMENTAL_MATHEMATICAL_OPERATORS = 106,
01415 UBLOCK_KATAKANA_PHONETIC_EXTENSIONS = 107,
01417 UBLOCK_VARIATION_SELECTORS = 108,
01419 UBLOCK_SUPPLEMENTARY_PRIVATE_USE_AREA_A = 109,
01421 UBLOCK_SUPPLEMENTARY_PRIVATE_USE_AREA_B = 110,
01422
01423
01424
01426 UBLOCK_LIMBU = 111,
01428 UBLOCK_TAI_LE = 112,
01430 UBLOCK_KHMER_SYMBOLS = 113,
01432 UBLOCK_PHONETIC_EXTENSIONS = 114,
01434 UBLOCK_MISCELLANEOUS_SYMBOLS_AND_ARROWS = 115,
01436 UBLOCK_YIJING_HEXAGRAM_SYMBOLS = 116,
01438 UBLOCK_LINEAR_B_SYLLABARY = 117,
01440 UBLOCK_LINEAR_B_IDEOGRAMS = 118,
01442 UBLOCK_AEGEAN_NUMBERS = 119,
01444 UBLOCK_UGARITIC = 120,
01446 UBLOCK_SHAVIAN = 121,
01448 UBLOCK_OSMANYA = 122,
01450 UBLOCK_CYPRIOT_SYLLABARY = 123,
01452 UBLOCK_TAI_XUAN_JING_SYMBOLS = 124,
01454 UBLOCK_VARIATION_SELECTORS_SUPPLEMENT = 125,
01455
01456
01457
01459 UBLOCK_ANCIENT_GREEK_MUSICAL_NOTATION = 126,
01461 UBLOCK_ANCIENT_GREEK_NUMBERS = 127,
01463 UBLOCK_ARABIC_SUPPLEMENT = 128,
01465 UBLOCK_BUGINESE = 129,
01467 UBLOCK_CJK_STROKES = 130,
01469 UBLOCK_COMBINING_DIACRITICAL_MARKS_SUPPLEMENT = 131,
01471 UBLOCK_COPTIC = 132,
01473 UBLOCK_ETHIOPIC_EXTENDED = 133,
01475 UBLOCK_ETHIOPIC_SUPPLEMENT = 134,
01477 UBLOCK_GEORGIAN_SUPPLEMENT = 135,
01479 UBLOCK_GLAGOLITIC = 136,
01481 UBLOCK_KHAROSHTHI = 137,
01483 UBLOCK_MODIFIER_TONE_LETTERS = 138,
01485 UBLOCK_NEW_TAI_LUE = 139,
01487 UBLOCK_OLD_PERSIAN = 140,
01489 UBLOCK_PHONETIC_EXTENSIONS_SUPPLEMENT = 141,
01491 UBLOCK_SUPPLEMENTAL_PUNCTUATION = 142,
01493 UBLOCK_SYLOTI_NAGRI = 143,
01495 UBLOCK_TIFINAGH = 144,
01497 UBLOCK_VERTICAL_FORMS = 145,
01498
01499
01500
01502 UBLOCK_NKO = 146,
01504 UBLOCK_BALINESE = 147,
01506 UBLOCK_LATIN_EXTENDED_C = 148,
01508 UBLOCK_LATIN_EXTENDED_D = 149,
01510 UBLOCK_PHAGS_PA = 150,
01512 UBLOCK_PHOENICIAN = 151,
01514 UBLOCK_CUNEIFORM = 152,
01516 UBLOCK_CUNEIFORM_NUMBERS_AND_PUNCTUATION = 153,
01518 UBLOCK_COUNTING_ROD_NUMERALS = 154,
01519
01520
01521
01523 UBLOCK_SUNDANESE = 155,
01525 UBLOCK_LEPCHA = 156,
01527 UBLOCK_OL_CHIKI = 157,
01529 UBLOCK_CYRILLIC_EXTENDED_A = 158,
01531 UBLOCK_VAI = 159,
01533 UBLOCK_CYRILLIC_EXTENDED_B = 160,
01535 UBLOCK_SAURASHTRA = 161,
01537 UBLOCK_KAYAH_LI = 162,
01539 UBLOCK_REJANG = 163,
01541 UBLOCK_CHAM = 164,
01543 UBLOCK_ANCIENT_SYMBOLS = 165,
01545 UBLOCK_PHAISTOS_DISC = 166,
01547 UBLOCK_LYCIAN = 167,
01549 UBLOCK_CARIAN = 168,
01551 UBLOCK_LYDIAN = 169,
01553 UBLOCK_MAHJONG_TILES = 170,
01555 UBLOCK_DOMINO_TILES = 171,
01556
01557
01558
01560 UBLOCK_SAMARITAN = 172,
01562 UBLOCK_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED = 173,
01564 UBLOCK_TAI_THAM = 174,
01566 UBLOCK_VEDIC_EXTENSIONS = 175,
01568 UBLOCK_LISU = 176,
01570 UBLOCK_BAMUM = 177,
01572 UBLOCK_COMMON_INDIC_NUMBER_FORMS = 178,
01574 UBLOCK_DEVANAGARI_EXTENDED = 179,
01576 UBLOCK_HANGUL_JAMO_EXTENDED_A = 180,
01578 UBLOCK_JAVANESE = 181,
01580 UBLOCK_MYANMAR_EXTENDED_A = 182,
01582 UBLOCK_TAI_VIET = 183,
01584 UBLOCK_MEETEI_MAYEK = 184,
01586 UBLOCK_HANGUL_JAMO_EXTENDED_B = 185,
01588 UBLOCK_IMPERIAL_ARAMAIC = 186,
01590 UBLOCK_OLD_SOUTH_ARABIAN = 187,
01592 UBLOCK_AVESTAN = 188,
01594 UBLOCK_INSCRIPTIONAL_PARTHIAN = 189,
01596 UBLOCK_INSCRIPTIONAL_PAHLAVI = 190,
01598 UBLOCK_OLD_TURKIC = 191,
01600 UBLOCK_RUMI_NUMERAL_SYMBOLS = 192,
01602 UBLOCK_KAITHI = 193,
01604 UBLOCK_EGYPTIAN_HIEROGLYPHS = 194,
01606 UBLOCK_ENCLOSED_ALPHANUMERIC_SUPPLEMENT = 195,
01608 UBLOCK_ENCLOSED_IDEOGRAPHIC_SUPPLEMENT = 196,
01610 UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C = 197,
01611
01612
01613
01615 UBLOCK_MANDAIC = 198,
01617 UBLOCK_BATAK = 199,
01619 UBLOCK_ETHIOPIC_EXTENDED_A = 200,
01621 UBLOCK_BRAHMI = 201,
01623 UBLOCK_BAMUM_SUPPLEMENT = 202,
01625 UBLOCK_KANA_SUPPLEMENT = 203,
01627 UBLOCK_PLAYING_CARDS = 204,
01629 UBLOCK_MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS = 205,
01631 UBLOCK_EMOTICONS = 206,
01633 UBLOCK_TRANSPORT_AND_MAP_SYMBOLS = 207,
01635 UBLOCK_ALCHEMICAL_SYMBOLS = 208,
01637 UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D = 209,
01638
01639
01640
01642 UBLOCK_ARABIC_EXTENDED_A = 210,
01644 UBLOCK_ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS = 211,
01646 UBLOCK_CHAKMA = 212,
01648 UBLOCK_MEETEI_MAYEK_EXTENSIONS = 213,
01650 UBLOCK_MEROITIC_CURSIVE = 214,
01652 UBLOCK_MEROITIC_HIEROGLYPHS = 215,
01654 UBLOCK_MIAO = 216,
01656 UBLOCK_SHARADA = 217,
01658 UBLOCK_SORA_SOMPENG = 218,
01660 UBLOCK_SUNDANESE_SUPPLEMENT = 219,
01662 UBLOCK_TAKRI = 220,
01663
01664
01665
01667 UBLOCK_BASSA_VAH = 221,
01669 UBLOCK_CAUCASIAN_ALBANIAN = 222,
01671 UBLOCK_COPTIC_EPACT_NUMBERS = 223,
01673 UBLOCK_COMBINING_DIACRITICAL_MARKS_EXTENDED = 224,
01675 UBLOCK_DUPLOYAN = 225,
01677 UBLOCK_ELBASAN = 226,
01679 UBLOCK_GEOMETRIC_SHAPES_EXTENDED = 227,
01681 UBLOCK_GRANTHA = 228,
01683 UBLOCK_KHOJKI = 229,
01685 UBLOCK_KHUDAWADI = 230,
01687 UBLOCK_LATIN_EXTENDED_E = 231,
01689 UBLOCK_LINEAR_A = 232,
01691 UBLOCK_MAHAJANI = 233,
01693 UBLOCK_MANICHAEAN = 234,
01695 UBLOCK_MENDE_KIKAKUI = 235,
01697 UBLOCK_MODI = 236,
01699 UBLOCK_MRO = 237,
01701 UBLOCK_MYANMAR_EXTENDED_B = 238,
01703 UBLOCK_NABATAEAN = 239,
01705 UBLOCK_OLD_NORTH_ARABIAN = 240,
01707 UBLOCK_OLD_PERMIC = 241,
01709 UBLOCK_ORNAMENTAL_DINGBATS = 242,
01711 UBLOCK_PAHAWH_HMONG = 243,
01713 UBLOCK_PALMYRENE = 244,
01715 UBLOCK_PAU_CIN_HAU = 245,
01717 UBLOCK_PSALTER_PAHLAVI = 246,
01719 UBLOCK_SHORTHAND_FORMAT_CONTROLS = 247,
01721 UBLOCK_SIDDHAM = 248,
01723 UBLOCK_SINHALA_ARCHAIC_NUMBERS = 249,
01725 UBLOCK_SUPPLEMENTAL_ARROWS_C = 250,
01727 UBLOCK_TIRHUTA = 251,
01729 UBLOCK_WARANG_CITI = 252,
01730
01731
01732
01734 UBLOCK_AHOM = 253,
01736 UBLOCK_ANATOLIAN_HIEROGLYPHS = 254,
01738 UBLOCK_CHEROKEE_SUPPLEMENT = 255,
01740 UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_E = 256,
01742 UBLOCK_EARLY_DYNASTIC_CUNEIFORM = 257,
01744 UBLOCK_HATRAN = 258,
01746 UBLOCK_MULTANI = 259,
01748 UBLOCK_OLD_HUNGARIAN = 260,
01750 UBLOCK_SUPPLEMENTAL_SYMBOLS_AND_PICTOGRAPHS = 261,
01752 UBLOCK_SUTTON_SIGNWRITING = 262,
01753
01754
01755
01757 UBLOCK_ADLAM = 263,
01759 UBLOCK_BHAIKSUKI = 264,
01761 UBLOCK_CYRILLIC_EXTENDED_C = 265,
01763 UBLOCK_GLAGOLITIC_SUPPLEMENT = 266,
01765 UBLOCK_IDEOGRAPHIC_SYMBOLS_AND_PUNCTUATION = 267,
01767 UBLOCK_MARCHEN = 268,
01769 UBLOCK_MONGOLIAN_SUPPLEMENT = 269,
01771 UBLOCK_NEWA = 270,
01773 UBLOCK_OSAGE = 271,
01775 UBLOCK_TANGUT = 272,
01777 UBLOCK_TANGUT_COMPONENTS = 273,
01778
01779
01780
01782 UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_F = 274,
01784 UBLOCK_KANA_EXTENDED_A = 275,
01786 UBLOCK_MASARAM_GONDI = 276,
01788 UBLOCK_NUSHU = 277,
01790 UBLOCK_SOYOMBO = 278,
01792 UBLOCK_SYRIAC_SUPPLEMENT = 279,
01794 UBLOCK_ZANABAZAR_SQUARE = 280,
01795
01796
01797
01799 UBLOCK_CHESS_SYMBOLS = 281,
01801 UBLOCK_DOGRA = 282,
01803 UBLOCK_GEORGIAN_EXTENDED = 283,
01805 UBLOCK_GUNJALA_GONDI = 284,
01807 UBLOCK_HANIFI_ROHINGYA = 285,
01809 UBLOCK_INDIC_SIYAQ_NUMBERS = 286,
01811 UBLOCK_MAKASAR = 287,
01813 UBLOCK_MAYAN_NUMERALS = 288,
01815 UBLOCK_MEDEFAIDRIN = 289,
01817 UBLOCK_OLD_SOGDIAN = 290,
01819 UBLOCK_SOGDIAN = 291,
01820
01821
01822
01824 UBLOCK_EGYPTIAN_HIEROGLYPH_FORMAT_CONTROLS = 292,
01826 UBLOCK_ELYMAIC = 293,
01828 UBLOCK_NANDINAGARI = 294,
01830 UBLOCK_NYIAKENG_PUACHUE_HMONG = 295,
01832 UBLOCK_OTTOMAN_SIYAQ_NUMBERS = 296,
01834 UBLOCK_SMALL_KANA_EXTENSION = 297,
01836 UBLOCK_SYMBOLS_AND_PICTOGRAPHS_EXTENDED_A = 298,
01838 UBLOCK_TAMIL_SUPPLEMENT = 299,
01840 UBLOCK_WANCHO = 300,
01841
01842
01843
01845 UBLOCK_CHORASMIAN = 301,
01847 UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_G = 302,
01849 UBLOCK_DIVES_AKURU = 303,
01851 UBLOCK_KHITAN_SMALL_SCRIPT = 304,
01853 UBLOCK_LISU_SUPPLEMENT = 305,
01855 UBLOCK_SYMBOLS_FOR_LEGACY_COMPUTING = 306,
01857 UBLOCK_TANGUT_SUPPLEMENT = 307,
01859 UBLOCK_YEZIDI = 308,
01860
01861
01862
01864 UBLOCK_ARABIC_EXTENDED_B = 309,
01866 UBLOCK_CYPRO_MINOAN = 310,
01868 UBLOCK_ETHIOPIC_EXTENDED_B = 311,
01870 UBLOCK_KANA_EXTENDED_B = 312,
01872 UBLOCK_LATIN_EXTENDED_F = 313,
01874 UBLOCK_LATIN_EXTENDED_G = 314,
01876 UBLOCK_OLD_UYGHUR = 315,
01878 UBLOCK_TANGSA = 316,
01880 UBLOCK_TOTO = 317,
01882 UBLOCK_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED_A = 318,
01884 UBLOCK_VITHKUQI = 319,
01886 UBLOCK_ZNAMENNY_MUSICAL_NOTATION = 320,
01887
01888 #ifndef U_HIDE_DEPRECATED_API
01889
01895 UBLOCK_COUNT = 321,
01896 #endif // U_HIDE_DEPRECATED_API
01897
01899 UBLOCK_INVALID_CODE=-1
01900 };
01901
01903 typedef enum UBlockCode UBlockCode;
01904
01912 typedef enum UEastAsianWidth {
01913
01914
01915
01916
01917
01918
01919 U_EA_NEUTRAL,
01920 U_EA_AMBIGUOUS,
01921 U_EA_HALFWIDTH,
01922 U_EA_FULLWIDTH,
01923 U_EA_NARROW,
01924 U_EA_WIDE,
01925 #ifndef U_HIDE_DEPRECATED_API
01926
01932 U_EA_COUNT
01933 #endif // U_HIDE_DEPRECATED_API
01934 } UEastAsianWidth;
01935
01947 typedef enum UCharNameChoice {
01949 U_UNICODE_CHAR_NAME,
01950 #ifndef U_HIDE_DEPRECATED_API
01951
01956 U_UNICODE_10_CHAR_NAME,
01957 #endif
01958
01959 U_EXTENDED_CHAR_NAME = U_UNICODE_CHAR_NAME+2,
01961 U_CHAR_NAME_ALIAS,
01962 #ifndef U_HIDE_DEPRECATED_API
01963
01967 U_CHAR_NAME_CHOICE_COUNT
01968 #endif // U_HIDE_DEPRECATED_API
01969 } UCharNameChoice;
01970
01984 typedef enum UPropertyNameChoice {
01985 U_SHORT_PROPERTY_NAME,
01986 U_LONG_PROPERTY_NAME,
01987 #ifndef U_HIDE_DEPRECATED_API
01988
01992 U_PROPERTY_NAME_CHOICE_COUNT
01993 #endif // U_HIDE_DEPRECATED_API
01994 } UPropertyNameChoice;
01995
02002 typedef enum UDecompositionType {
02003
02004
02005
02006
02007
02008
02009 U_DT_NONE,
02010 U_DT_CANONICAL,
02011 U_DT_COMPAT,
02012 U_DT_CIRCLE,
02013 U_DT_FINAL,
02014 U_DT_FONT,
02015 U_DT_FRACTION,
02016 U_DT_INITIAL,
02017 U_DT_ISOLATED,
02018 U_DT_MEDIAL,
02019 U_DT_NARROW,
02020 U_DT_NOBREAK,
02021 U_DT_SMALL,
02022 U_DT_SQUARE,
02023 U_DT_SUB,
02024 U_DT_SUPER,
02025 U_DT_VERTICAL,
02026 U_DT_WIDE,
02027 #ifndef U_HIDE_DEPRECATED_API
02028
02034 U_DT_COUNT
02035 #endif // U_HIDE_DEPRECATED_API
02036 } UDecompositionType;
02037
02044 typedef enum UJoiningType {
02045
02046
02047
02048
02049
02050
02051 U_JT_NON_JOINING,
02052 U_JT_JOIN_CAUSING,
02053 U_JT_DUAL_JOINING,
02054 U_JT_LEFT_JOINING,
02055 U_JT_RIGHT_JOINING,
02056 U_JT_TRANSPARENT,
02057 #ifndef U_HIDE_DEPRECATED_API
02058
02064 U_JT_COUNT
02065 #endif // U_HIDE_DEPRECATED_API
02066 } UJoiningType;
02067
02074 typedef enum UJoiningGroup {
02075
02076
02077
02078
02079
02080
02081 U_JG_NO_JOINING_GROUP,
02082 U_JG_AIN,
02083 U_JG_ALAPH,
02084 U_JG_ALEF,
02085 U_JG_BEH,
02086 U_JG_BETH,
02087 U_JG_DAL,
02088 U_JG_DALATH_RISH,
02089 U_JG_E,
02090 U_JG_FEH,
02091 U_JG_FINAL_SEMKATH,
02092 U_JG_GAF,
02093 U_JG_GAMAL,
02094 U_JG_HAH,
02095 U_JG_TEH_MARBUTA_GOAL,
02096 U_JG_HAMZA_ON_HEH_GOAL=U_JG_TEH_MARBUTA_GOAL,
02097 U_JG_HE,
02098 U_JG_HEH,
02099 U_JG_HEH_GOAL,
02100 U_JG_HETH,
02101 U_JG_KAF,
02102 U_JG_KAPH,
02103 U_JG_KNOTTED_HEH,
02104 U_JG_LAM,
02105 U_JG_LAMADH,
02106 U_JG_MEEM,
02107 U_JG_MIM,
02108 U_JG_NOON,
02109 U_JG_NUN,
02110 U_JG_PE,
02111 U_JG_QAF,
02112 U_JG_QAPH,
02113 U_JG_REH,
02114 U_JG_REVERSED_PE,
02115 U_JG_SAD,
02116 U_JG_SADHE,
02117 U_JG_SEEN,
02118 U_JG_SEMKATH,
02119 U_JG_SHIN,
02120 U_JG_SWASH_KAF,
02121 U_JG_SYRIAC_WAW,
02122 U_JG_TAH,
02123 U_JG_TAW,
02124 U_JG_TEH_MARBUTA,
02125 U_JG_TETH,
02126 U_JG_WAW,
02127 U_JG_YEH,
02128 U_JG_YEH_BARREE,
02129 U_JG_YEH_WITH_TAIL,
02130 U_JG_YUDH,
02131 U_JG_YUDH_HE,
02132 U_JG_ZAIN,
02133 U_JG_FE,
02134 U_JG_KHAPH,
02135 U_JG_ZHAIN,
02136 U_JG_BURUSHASKI_YEH_BARREE,
02137 U_JG_FARSI_YEH,
02138 U_JG_NYA,
02139 U_JG_ROHINGYA_YEH,
02140 U_JG_MANICHAEAN_ALEPH,
02141 U_JG_MANICHAEAN_AYIN,
02142 U_JG_MANICHAEAN_BETH,
02143 U_JG_MANICHAEAN_DALETH,
02144 U_JG_MANICHAEAN_DHAMEDH,
02145 U_JG_MANICHAEAN_FIVE,
02146 U_JG_MANICHAEAN_GIMEL,
02147 U_JG_MANICHAEAN_HETH,
02148 U_JG_MANICHAEAN_HUNDRED,
02149 U_JG_MANICHAEAN_KAPH,
02150 U_JG_MANICHAEAN_LAMEDH,
02151 U_JG_MANICHAEAN_MEM,
02152 U_JG_MANICHAEAN_NUN,
02153 U_JG_MANICHAEAN_ONE,
02154 U_JG_MANICHAEAN_PE,
02155 U_JG_MANICHAEAN_QOPH,
02156 U_JG_MANICHAEAN_RESH,
02157 U_JG_MANICHAEAN_SADHE,
02158 U_JG_MANICHAEAN_SAMEKH,
02159 U_JG_MANICHAEAN_TAW,
02160 U_JG_MANICHAEAN_TEN,
02161 U_JG_MANICHAEAN_TETH,
02162 U_JG_MANICHAEAN_THAMEDH,
02163 U_JG_MANICHAEAN_TWENTY,
02164 U_JG_MANICHAEAN_WAW,
02165 U_JG_MANICHAEAN_YODH,
02166 U_JG_MANICHAEAN_ZAYIN,
02167 U_JG_STRAIGHT_WAW,
02168 U_JG_AFRICAN_FEH,
02169 U_JG_AFRICAN_NOON,
02170 U_JG_AFRICAN_QAF,
02172 U_JG_MALAYALAM_BHA,
02173 U_JG_MALAYALAM_JA,
02174 U_JG_MALAYALAM_LLA,
02175 U_JG_MALAYALAM_LLLA,
02176 U_JG_MALAYALAM_NGA,
02177 U_JG_MALAYALAM_NNA,
02178 U_JG_MALAYALAM_NNNA,
02179 U_JG_MALAYALAM_NYA,
02180 U_JG_MALAYALAM_RA,
02181 U_JG_MALAYALAM_SSA,
02182 U_JG_MALAYALAM_TTA,
02184 U_JG_HANIFI_ROHINGYA_KINNA_YA,
02185 U_JG_HANIFI_ROHINGYA_PA,
02187 U_JG_THIN_YEH,
02188 U_JG_VERTICAL_TAIL,
02190 #ifndef U_HIDE_DEPRECATED_API
02191
02197 U_JG_COUNT
02198 #endif // U_HIDE_DEPRECATED_API
02199 } UJoiningGroup;
02200
02207 typedef enum UGraphemeClusterBreak {
02208
02209
02210
02211
02212
02213
02214 U_GCB_OTHER = 0,
02215 U_GCB_CONTROL = 1,
02216 U_GCB_CR = 2,
02217 U_GCB_EXTEND = 3,
02218 U_GCB_L = 4,
02219 U_GCB_LF = 5,
02220 U_GCB_LV = 6,
02221 U_GCB_LVT = 7,
02222 U_GCB_T = 8,
02223 U_GCB_V = 9,
02225 U_GCB_SPACING_MARK = 10,
02227 U_GCB_PREPEND = 11,
02229 U_GCB_REGIONAL_INDICATOR = 12,
02231 U_GCB_E_BASE = 13,
02233 U_GCB_E_BASE_GAZ = 14,
02235 U_GCB_E_MODIFIER = 15,
02237 U_GCB_GLUE_AFTER_ZWJ = 16,
02239 U_GCB_ZWJ = 17,
02240
02241 #ifndef U_HIDE_DEPRECATED_API
02242
02248 U_GCB_COUNT = 18
02249 #endif // U_HIDE_DEPRECATED_API
02250 } UGraphemeClusterBreak;
02251
02259 typedef enum UWordBreakValues {
02260
02261
02262
02263
02264
02265
02266 U_WB_OTHER = 0,
02267 U_WB_ALETTER = 1,
02268 U_WB_FORMAT = 2,
02269 U_WB_KATAKANA = 3,
02270 U_WB_MIDLETTER = 4,
02271 U_WB_MIDNUM = 5,
02272 U_WB_NUMERIC = 6,
02273 U_WB_EXTENDNUMLET = 7,
02275 U_WB_CR = 8,
02277 U_WB_EXTEND = 9,
02279 U_WB_LF = 10,
02281 U_WB_MIDNUMLET =11,
02283 U_WB_NEWLINE =12,
02285 U_WB_REGIONAL_INDICATOR = 13,
02287 U_WB_HEBREW_LETTER = 14,
02289 U_WB_SINGLE_QUOTE = 15,
02291 U_WB_DOUBLE_QUOTE = 16,
02293 U_WB_E_BASE = 17,
02295 U_WB_E_BASE_GAZ = 18,
02297 U_WB_E_MODIFIER = 19,
02299 U_WB_GLUE_AFTER_ZWJ = 20,
02301 U_WB_ZWJ = 21,
02303 U_WB_WSEGSPACE = 22,
02304
02305 #ifndef U_HIDE_DEPRECATED_API
02306
02312 U_WB_COUNT = 23
02313 #endif // U_HIDE_DEPRECATED_API
02314 } UWordBreakValues;
02315
02322 typedef enum USentenceBreak {
02323
02324
02325
02326
02327
02328
02329 U_SB_OTHER = 0,
02330 U_SB_ATERM = 1,
02331 U_SB_CLOSE = 2,
02332 U_SB_FORMAT = 3,
02333 U_SB_LOWER = 4,
02334 U_SB_NUMERIC = 5,
02335 U_SB_OLETTER = 6,
02336 U_SB_SEP = 7,
02337 U_SB_SP = 8,
02338 U_SB_STERM = 9,
02339 U_SB_UPPER = 10,
02340 U_SB_CR = 11,
02341 U_SB_EXTEND = 12,
02342 U_SB_LF = 13,
02343 U_SB_SCONTINUE = 14,
02344 #ifndef U_HIDE_DEPRECATED_API
02345
02351 U_SB_COUNT = 15
02352 #endif // U_HIDE_DEPRECATED_API
02353 } USentenceBreak;
02354
02361 typedef enum ULineBreak {
02362
02363
02364
02365
02366
02367
02368 U_LB_UNKNOWN = 0,
02369 U_LB_AMBIGUOUS = 1,
02370 U_LB_ALPHABETIC = 2,
02371 U_LB_BREAK_BOTH = 3,
02372 U_LB_BREAK_AFTER = 4,
02373 U_LB_BREAK_BEFORE = 5,
02374 U_LB_MANDATORY_BREAK = 6,
02375 U_LB_CONTINGENT_BREAK = 7,
02376 U_LB_CLOSE_PUNCTUATION = 8,
02377 U_LB_COMBINING_MARK = 9,
02378 U_LB_CARRIAGE_RETURN = 10,
02379 U_LB_EXCLAMATION = 11,
02380 U_LB_GLUE = 12,
02381 U_LB_HYPHEN = 13,
02382 U_LB_IDEOGRAPHIC = 14,
02384 U_LB_INSEPARABLE = 15,
02385 U_LB_INSEPERABLE = U_LB_INSEPARABLE,
02386 U_LB_INFIX_NUMERIC = 16,
02387 U_LB_LINE_FEED = 17,
02388 U_LB_NONSTARTER = 18,
02389 U_LB_NUMERIC = 19,
02390 U_LB_OPEN_PUNCTUATION = 20,
02391 U_LB_POSTFIX_NUMERIC = 21,
02392 U_LB_PREFIX_NUMERIC = 22,
02393 U_LB_QUOTATION = 23,
02394 U_LB_COMPLEX_CONTEXT = 24,
02395 U_LB_SURROGATE = 25,
02396 U_LB_SPACE = 26,
02397 U_LB_BREAK_SYMBOLS = 27,
02398 U_LB_ZWSPACE = 28,
02400 U_LB_NEXT_LINE = 29,
02402 U_LB_WORD_JOINER = 30,
02404 U_LB_H2 = 31,
02406 U_LB_H3 = 32,
02408 U_LB_JL = 33,
02410 U_LB_JT = 34,
02412 U_LB_JV = 35,
02414 U_LB_CLOSE_PARENTHESIS = 36,
02416 U_LB_CONDITIONAL_JAPANESE_STARTER = 37,
02418 U_LB_HEBREW_LETTER = 38,
02420 U_LB_REGIONAL_INDICATOR = 39,
02422 U_LB_E_BASE = 40,
02424 U_LB_E_MODIFIER = 41,
02426 U_LB_ZWJ = 42,
02427 #ifndef U_HIDE_DEPRECATED_API
02428
02434 U_LB_COUNT = 43
02435 #endif // U_HIDE_DEPRECATED_API
02436 } ULineBreak;
02437
02444 typedef enum UNumericType {
02445
02446
02447
02448
02449
02450
02451 U_NT_NONE,
02452 U_NT_DECIMAL,
02453 U_NT_DIGIT,
02454 U_NT_NUMERIC,
02455 #ifndef U_HIDE_DEPRECATED_API
02456
02462 U_NT_COUNT
02463 #endif // U_HIDE_DEPRECATED_API
02464 } UNumericType;
02465
02472 typedef enum UHangulSyllableType {
02473
02474
02475
02476
02477
02478
02479 U_HST_NOT_APPLICABLE,
02480 U_HST_LEADING_JAMO,
02481 U_HST_VOWEL_JAMO,
02482 U_HST_TRAILING_JAMO,
02483 U_HST_LV_SYLLABLE,
02484 U_HST_LVT_SYLLABLE,
02485 #ifndef U_HIDE_DEPRECATED_API
02486
02492 U_HST_COUNT
02493 #endif // U_HIDE_DEPRECATED_API
02494 } UHangulSyllableType;
02495
02502 typedef enum UIndicPositionalCategory {
02503
02504
02505
02506
02507
02508
02510 U_INPC_NA,
02512 U_INPC_BOTTOM,
02514 U_INPC_BOTTOM_AND_LEFT,
02516 U_INPC_BOTTOM_AND_RIGHT,
02518 U_INPC_LEFT,
02520 U_INPC_LEFT_AND_RIGHT,
02522 U_INPC_OVERSTRUCK,
02524 U_INPC_RIGHT,
02526 U_INPC_TOP,
02528 U_INPC_TOP_AND_BOTTOM,
02530 U_INPC_TOP_AND_BOTTOM_AND_RIGHT,
02532 U_INPC_TOP_AND_LEFT,
02534 U_INPC_TOP_AND_LEFT_AND_RIGHT,
02536 U_INPC_TOP_AND_RIGHT,
02538 U_INPC_VISUAL_ORDER_LEFT,
02540 U_INPC_TOP_AND_BOTTOM_AND_LEFT,
02541 } UIndicPositionalCategory;
02542
02549 typedef enum UIndicSyllabicCategory {
02550
02551
02552
02553
02554
02555
02557 U_INSC_OTHER,
02559 U_INSC_AVAGRAHA,
02561 U_INSC_BINDU,
02563 U_INSC_BRAHMI_JOINING_NUMBER,
02565 U_INSC_CANTILLATION_MARK,
02567 U_INSC_CONSONANT,
02569 U_INSC_CONSONANT_DEAD,
02571 U_INSC_CONSONANT_FINAL,
02573 U_INSC_CONSONANT_HEAD_LETTER,
02575 U_INSC_CONSONANT_INITIAL_POSTFIXED,
02577 U_INSC_CONSONANT_KILLER,
02579 U_INSC_CONSONANT_MEDIAL,
02581 U_INSC_CONSONANT_PLACEHOLDER,
02583 U_INSC_CONSONANT_PRECEDING_REPHA,
02585 U_INSC_CONSONANT_PREFIXED,
02587 U_INSC_CONSONANT_SUBJOINED,
02589 U_INSC_CONSONANT_SUCCEEDING_REPHA,
02591 U_INSC_CONSONANT_WITH_STACKER,
02593 U_INSC_GEMINATION_MARK,
02595 U_INSC_INVISIBLE_STACKER,
02597 U_INSC_JOINER,
02599 U_INSC_MODIFYING_LETTER,
02601 U_INSC_NON_JOINER,
02603 U_INSC_NUKTA,
02605 U_INSC_NUMBER,
02607 U_INSC_NUMBER_JOINER,
02609 U_INSC_PURE_KILLER,
02611 U_INSC_REGISTER_SHIFTER,
02613 U_INSC_SYLLABLE_MODIFIER,
02615 U_INSC_TONE_LETTER,
02617 U_INSC_TONE_MARK,
02619 U_INSC_VIRAMA,
02621 U_INSC_VISARGA,
02623 U_INSC_VOWEL,
02625 U_INSC_VOWEL_DEPENDENT,
02627 U_INSC_VOWEL_INDEPENDENT,
02628 } UIndicSyllabicCategory;
02629
02636 typedef enum UVerticalOrientation {
02637
02638
02639
02640
02641
02642
02644 U_VO_ROTATED,
02646 U_VO_TRANSFORMED_ROTATED,
02648 U_VO_TRANSFORMED_UPRIGHT,
02650 U_VO_UPRIGHT,
02651 } UVerticalOrientation;
02652
02680 U_CAPI UBool U_EXPORT2
02681 u_hasBinaryProperty(UChar32 c, UProperty which);
02682
02683 #ifndef U_HIDE_DRAFT_API
02684
02709 U_CAPI UBool U_EXPORT2
02710 u_stringHasBinaryProperty(const UChar *s, int32_t length, UProperty which);
02711
02712 #endif // U_HIDE_DRAFT_API
02713
02729 U_CAPI const USet * U_EXPORT2
02730 u_getBinaryPropertySet(UProperty property, UErrorCode *pErrorCode);
02731
02744 U_CAPI UBool U_EXPORT2
02745 u_isUAlphabetic(UChar32 c);
02746
02759 U_CAPI UBool U_EXPORT2
02760 u_isULowercase(UChar32 c);
02761
02774 U_CAPI UBool U_EXPORT2
02775 u_isUUppercase(UChar32 c);
02776
02795 U_CAPI UBool U_EXPORT2
02796 u_isUWhiteSpace(UChar32 c);
02797
02836 U_CAPI int32_t U_EXPORT2
02837 u_getIntPropertyValue(UChar32 c, UProperty which);
02838
02857 U_CAPI int32_t U_EXPORT2
02858 u_getIntPropertyMinValue(UProperty which);
02859
02886 U_CAPI int32_t U_EXPORT2
02887 u_getIntPropertyMaxValue(UProperty which);
02888
02904 U_CAPI const UCPMap * U_EXPORT2
02905 u_getIntPropertyMap(UProperty property, UErrorCode *pErrorCode);
02906
02929 U_CAPI double U_EXPORT2
02930 u_getNumericValue(UChar32 c);
02931
02939 #define U_NO_NUMERIC_VALUE ((double)-123456789.)
02940
02964 U_CAPI UBool U_EXPORT2
02965 u_islower(UChar32 c);
02966
02991 U_CAPI UBool U_EXPORT2
02992 u_isupper(UChar32 c);
02993
03008 U_CAPI UBool U_EXPORT2
03009 u_istitle(UChar32 c);
03010
03029 U_CAPI UBool U_EXPORT2
03030 u_isdigit(UChar32 c);
03031
03050 U_CAPI UBool U_EXPORT2
03051 u_isalpha(UChar32 c);
03052
03071 U_CAPI UBool U_EXPORT2
03072 u_isalnum(UChar32 c);
03073
03094 U_CAPI UBool U_EXPORT2
03095 u_isxdigit(UChar32 c);
03096
03110 U_CAPI UBool U_EXPORT2
03111 u_ispunct(UChar32 c);
03112
03129 U_CAPI UBool U_EXPORT2
03130 u_isgraph(UChar32 c);
03131
03157 U_CAPI UBool U_EXPORT2
03158 u_isblank(UChar32 c);
03159
03182 U_CAPI UBool U_EXPORT2
03183 u_isdefined(UChar32 c);
03184
03203 U_CAPI UBool U_EXPORT2
03204 u_isspace(UChar32 c);
03205
03224 U_CAPI UBool U_EXPORT2
03225 u_isJavaSpaceChar(UChar32 c);
03226
03264 U_CAPI UBool U_EXPORT2
03265 u_isWhitespace(UChar32 c);
03266
03288 U_CAPI UBool U_EXPORT2
03289 u_iscntrl(UChar32 c);
03290
03303 U_CAPI UBool U_EXPORT2
03304 u_isISOControl(UChar32 c);
03305
03321 U_CAPI UBool U_EXPORT2
03322 u_isprint(UChar32 c);
03323
03341 U_CAPI UBool U_EXPORT2
03342 u_isbase(UChar32 c);
03343
03360 U_CAPI UCharDirection U_EXPORT2
03361 u_charDirection(UChar32 c);
03362
03378 U_CAPI UBool U_EXPORT2
03379 u_isMirrored(UChar32 c);
03380
03400 U_CAPI UChar32 U_EXPORT2
03401 u_charMirror(UChar32 c);
03402
03419 U_CAPI UChar32 U_EXPORT2
03420 u_getBidiPairedBracket(UChar32 c);
03421
03433 U_CAPI int8_t U_EXPORT2
03434 u_charType(UChar32 c);
03435
03449 #define U_GET_GC_MASK(c) U_MASK(u_charType(c))
03450
03468 typedef UBool U_CALLCONV
03469 UCharEnumTypeRange(const void *context, UChar32 start, UChar32 limit, UCharCategory type);
03470
03490 U_CAPI void U_EXPORT2
03491 u_enumCharTypes(UCharEnumTypeRange *enumRange, const void *context);
03492
03493 #if !UCONFIG_NO_NORMALIZATION
03494
03502 U_CAPI uint8_t U_EXPORT2
03503 u_getCombiningClass(UChar32 c);
03504
03505 #endif
03506
03530 U_CAPI int32_t U_EXPORT2
03531 u_charDigitValue(UChar32 c);
03532
03542 U_CAPI UBlockCode U_EXPORT2
03543 ublock_getCode(UChar32 c);
03544
03577 U_CAPI int32_t U_EXPORT2
03578 u_charName(UChar32 code, UCharNameChoice nameChoice,
03579 char *buffer, int32_t bufferLength,
03580 UErrorCode *pErrorCode);
03581
03582 #ifndef U_HIDE_DEPRECATED_API
03583
03601 U_DEPRECATED int32_t U_EXPORT2
03602 u_getISOComment(UChar32 c,
03603 char *dest, int32_t destCapacity,
03604 UErrorCode *pErrorCode);
03605 #endif
03606
03627 U_CAPI UChar32 U_EXPORT2
03628 u_charFromName(UCharNameChoice nameChoice,
03629 const char *name,
03630 UErrorCode *pErrorCode);
03631
03649 typedef UBool U_CALLCONV UEnumCharNamesFn(void *context,
03650 UChar32 code,
03651 UCharNameChoice nameChoice,
03652 const char *name,
03653 int32_t length);
03654
03676 U_CAPI void U_EXPORT2
03677 u_enumCharNames(UChar32 start, UChar32 limit,
03678 UEnumCharNamesFn *fn,
03679 void *context,
03680 UCharNameChoice nameChoice,
03681 UErrorCode *pErrorCode);
03682
03714 U_CAPI const char* U_EXPORT2
03715 u_getPropertyName(UProperty property,
03716 UPropertyNameChoice nameChoice);
03717
03737 U_CAPI UProperty U_EXPORT2
03738 u_getPropertyEnum(const char* alias);
03739
03787 U_CAPI const char* U_EXPORT2
03788 u_getPropertyValueName(UProperty property,
03789 int32_t value,
03790 UPropertyNameChoice nameChoice);
03791
03823 U_CAPI int32_t U_EXPORT2
03824 u_getPropertyValueEnum(UProperty property,
03825 const char* alias);
03826
03844 U_CAPI UBool U_EXPORT2
03845 u_isIDStart(UChar32 c);
03846
03868 U_CAPI UBool U_EXPORT2
03869 u_isIDPart(UChar32 c);
03870
03891 U_CAPI UBool U_EXPORT2
03892 u_isIDIgnorable(UChar32 c);
03893
03910 U_CAPI UBool U_EXPORT2
03911 u_isJavaIDStart(UChar32 c);
03912
03931 U_CAPI UBool U_EXPORT2
03932 u_isJavaIDPart(UChar32 c);
03933
03956 U_CAPI UChar32 U_EXPORT2
03957 u_tolower(UChar32 c);
03958
03981 U_CAPI UChar32 U_EXPORT2
03982 u_toupper(UChar32 c);
03983
04006 U_CAPI UChar32 U_EXPORT2
04007 u_totitle(UChar32 c);
04008
04031 U_CAPI UChar32 U_EXPORT2
04032 u_foldCase(UChar32 c, uint32_t options);
04033
04072 U_CAPI int32_t U_EXPORT2
04073 u_digit(UChar32 ch, int8_t radix);
04074
04103 U_CAPI UChar32 U_EXPORT2
04104 u_forDigit(int32_t digit, int8_t radix);
04105
04120 U_CAPI void U_EXPORT2
04121 u_charAge(UChar32 c, UVersionInfo versionArray);
04122
04134 U_CAPI void U_EXPORT2
04135 u_getUnicodeVersion(UVersionInfo versionArray);
04136
04137 #if !UCONFIG_NO_NORMALIZATION
04138
04159 U_CAPI int32_t U_EXPORT2
04160 u_getFC_NFKC_Closure(UChar32 c, UChar *dest, int32_t destCapacity, UErrorCode *pErrorCode);
04161
04162 #endif
04163
04164
04165 U_CDECL_END
04166
04167 #endif
04168