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 "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
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,
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
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
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
00777
00778
00779
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
00973
00974
00975
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
01044
01045
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
01062 #endif // U_HIDE_DEPRECATED_API
01063 } UBidiPairedBracketType;
01064
01069 enum UBlockCode {
01070
01071
01072
01073
01074
01075
01077 UBLOCK_NO_BLOCK = 0,
01078
01080 UBLOCK_BASIC_LATIN = 1,
01081
01083 UBLOCK_LATIN_1_SUPPLEMENT=2,
01084
01086 UBLOCK_LATIN_EXTENDED_A =3,
01087
01089 UBLOCK_LATIN_EXTENDED_B =4,
01090
01092 UBLOCK_IPA_EXTENSIONS =5,
01093
01095 UBLOCK_SPACING_MODIFIER_LETTERS =6,
01096
01098 UBLOCK_COMBINING_DIACRITICAL_MARKS =7,
01099
01104 UBLOCK_GREEK =8,
01105
01107 UBLOCK_CYRILLIC =9,
01108
01110 UBLOCK_ARMENIAN =10,
01111
01113 UBLOCK_HEBREW =11,
01114
01116 UBLOCK_ARABIC =12,
01117
01119 UBLOCK_SYRIAC =13,
01120
01122 UBLOCK_THAANA =14,
01123
01125 UBLOCK_DEVANAGARI =15,
01126
01128 UBLOCK_BENGALI =16,
01129
01131 UBLOCK_GURMUKHI =17,
01132
01134 UBLOCK_GUJARATI =18,
01135
01137 UBLOCK_ORIYA =19,
01138
01140 UBLOCK_TAMIL =20,
01141
01143 UBLOCK_TELUGU =21,
01144
01146 UBLOCK_KANNADA =22,
01147
01149 UBLOCK_MALAYALAM =23,
01150
01152 UBLOCK_SINHALA =24,
01153
01155 UBLOCK_THAI =25,
01156
01158 UBLOCK_LAO =26,
01159
01161 UBLOCK_TIBETAN =27,
01162
01164 UBLOCK_MYANMAR =28,
01165
01167 UBLOCK_GEORGIAN =29,
01168
01170 UBLOCK_HANGUL_JAMO =30,
01171
01173 UBLOCK_ETHIOPIC =31,
01174
01176 UBLOCK_CHEROKEE =32,
01177
01179 UBLOCK_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS =33,
01180
01182 UBLOCK_OGHAM =34,
01183
01185 UBLOCK_RUNIC =35,
01186
01188 UBLOCK_KHMER =36,
01189
01191 UBLOCK_MONGOLIAN =37,
01192
01194 UBLOCK_LATIN_EXTENDED_ADDITIONAL =38,
01195
01197 UBLOCK_GREEK_EXTENDED =39,
01198
01200 UBLOCK_GENERAL_PUNCTUATION =40,
01201
01203 UBLOCK_SUPERSCRIPTS_AND_SUBSCRIPTS =41,
01204
01206 UBLOCK_CURRENCY_SYMBOLS =42,
01207
01212 UBLOCK_COMBINING_MARKS_FOR_SYMBOLS =43,
01213
01215 UBLOCK_LETTERLIKE_SYMBOLS =44,
01216
01218 UBLOCK_NUMBER_FORMS =45,
01219
01221 UBLOCK_ARROWS =46,
01222
01224 UBLOCK_MATHEMATICAL_OPERATORS =47,
01225
01227 UBLOCK_MISCELLANEOUS_TECHNICAL =48,
01228
01230 UBLOCK_CONTROL_PICTURES =49,
01231
01233 UBLOCK_OPTICAL_CHARACTER_RECOGNITION =50,
01234
01236 UBLOCK_ENCLOSED_ALPHANUMERICS =51,
01237
01239 UBLOCK_BOX_DRAWING =52,
01240
01242 UBLOCK_BLOCK_ELEMENTS =53,
01243
01245 UBLOCK_GEOMETRIC_SHAPES =54,
01246
01248 UBLOCK_MISCELLANEOUS_SYMBOLS =55,
01249
01251 UBLOCK_DINGBATS =56,
01252
01254 UBLOCK_BRAILLE_PATTERNS =57,
01255
01257 UBLOCK_CJK_RADICALS_SUPPLEMENT =58,
01258
01260 UBLOCK_KANGXI_RADICALS =59,
01261
01263 UBLOCK_IDEOGRAPHIC_DESCRIPTION_CHARACTERS =60,
01264
01266 UBLOCK_CJK_SYMBOLS_AND_PUNCTUATION =61,
01267
01269 UBLOCK_HIRAGANA =62,
01270
01272 UBLOCK_KATAKANA =63,
01273
01275 UBLOCK_BOPOMOFO =64,
01276
01278 UBLOCK_HANGUL_COMPATIBILITY_JAMO =65,
01279
01281 UBLOCK_KANBUN =66,
01282
01284 UBLOCK_BOPOMOFO_EXTENDED =67,
01285
01287 UBLOCK_ENCLOSED_CJK_LETTERS_AND_MONTHS =68,
01288
01290 UBLOCK_CJK_COMPATIBILITY =69,
01291
01293 UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A =70,
01294
01296 UBLOCK_CJK_UNIFIED_IDEOGRAPHS =71,
01297
01299 UBLOCK_YI_SYLLABLES =72,
01300
01302 UBLOCK_YI_RADICALS =73,
01303
01305 UBLOCK_HANGUL_SYLLABLES =74,
01306
01308 UBLOCK_HIGH_SURROGATES =75,
01309
01311 UBLOCK_HIGH_PRIVATE_USE_SURROGATES =76,
01312
01314 UBLOCK_LOW_SURROGATES =77,
01315
01325 UBLOCK_PRIVATE_USE_AREA =78,
01335 UBLOCK_PRIVATE_USE = UBLOCK_PRIVATE_USE_AREA,
01336
01338 UBLOCK_CJK_COMPATIBILITY_IDEOGRAPHS =79,
01339
01341 UBLOCK_ALPHABETIC_PRESENTATION_FORMS =80,
01342
01344 UBLOCK_ARABIC_PRESENTATION_FORMS_A =81,
01345
01347 UBLOCK_COMBINING_HALF_MARKS =82,
01348
01350 UBLOCK_CJK_COMPATIBILITY_FORMS =83,
01351
01353 UBLOCK_SMALL_FORM_VARIANTS =84,
01354
01356 UBLOCK_ARABIC_PRESENTATION_FORMS_B =85,
01357
01359 UBLOCK_SPECIALS =86,
01360
01362 UBLOCK_HALFWIDTH_AND_FULLWIDTH_FORMS =87,
01363
01364
01365
01367 UBLOCK_OLD_ITALIC = 88,
01369 UBLOCK_GOTHIC = 89,
01371 UBLOCK_DESERET = 90,
01373 UBLOCK_BYZANTINE_MUSICAL_SYMBOLS = 91,
01375 UBLOCK_MUSICAL_SYMBOLS = 92,
01377 UBLOCK_MATHEMATICAL_ALPHANUMERIC_SYMBOLS = 93,
01379 UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B = 94,
01381 UBLOCK_CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT = 95,
01383 UBLOCK_TAGS = 96,
01384
01385
01386
01388 UBLOCK_CYRILLIC_SUPPLEMENT = 97,
01393 UBLOCK_CYRILLIC_SUPPLEMENTARY = UBLOCK_CYRILLIC_SUPPLEMENT,
01395 UBLOCK_TAGALOG = 98,
01397 UBLOCK_HANUNOO = 99,
01399 UBLOCK_BUHID = 100,
01401 UBLOCK_TAGBANWA = 101,
01403 UBLOCK_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A = 102,
01405 UBLOCK_SUPPLEMENTAL_ARROWS_A = 103,
01407 UBLOCK_SUPPLEMENTAL_ARROWS_B = 104,
01409 UBLOCK_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B = 105,
01411 UBLOCK_SUPPLEMENTAL_MATHEMATICAL_OPERATORS = 106,
01413 UBLOCK_KATAKANA_PHONETIC_EXTENSIONS = 107,
01415 UBLOCK_VARIATION_SELECTORS = 108,
01417 UBLOCK_SUPPLEMENTARY_PRIVATE_USE_AREA_A = 109,
01419 UBLOCK_SUPPLEMENTARY_PRIVATE_USE_AREA_B = 110,
01420
01421
01422
01424 UBLOCK_LIMBU = 111,
01426 UBLOCK_TAI_LE = 112,
01428 UBLOCK_KHMER_SYMBOLS = 113,
01430 UBLOCK_PHONETIC_EXTENSIONS = 114,
01432 UBLOCK_MISCELLANEOUS_SYMBOLS_AND_ARROWS = 115,
01434 UBLOCK_YIJING_HEXAGRAM_SYMBOLS = 116,
01436 UBLOCK_LINEAR_B_SYLLABARY = 117,
01438 UBLOCK_LINEAR_B_IDEOGRAMS = 118,
01440 UBLOCK_AEGEAN_NUMBERS = 119,
01442 UBLOCK_UGARITIC = 120,
01444 UBLOCK_SHAVIAN = 121,
01446 UBLOCK_OSMANYA = 122,
01448 UBLOCK_CYPRIOT_SYLLABARY = 123,
01450 UBLOCK_TAI_XUAN_JING_SYMBOLS = 124,
01452 UBLOCK_VARIATION_SELECTORS_SUPPLEMENT = 125,
01453
01454
01455
01457 UBLOCK_ANCIENT_GREEK_MUSICAL_NOTATION = 126,
01459 UBLOCK_ANCIENT_GREEK_NUMBERS = 127,
01461 UBLOCK_ARABIC_SUPPLEMENT = 128,
01463 UBLOCK_BUGINESE = 129,
01465 UBLOCK_CJK_STROKES = 130,
01467 UBLOCK_COMBINING_DIACRITICAL_MARKS_SUPPLEMENT = 131,
01469 UBLOCK_COPTIC = 132,
01471 UBLOCK_ETHIOPIC_EXTENDED = 133,
01473 UBLOCK_ETHIOPIC_SUPPLEMENT = 134,
01475 UBLOCK_GEORGIAN_SUPPLEMENT = 135,
01477 UBLOCK_GLAGOLITIC = 136,
01479 UBLOCK_KHAROSHTHI = 137,
01481 UBLOCK_MODIFIER_TONE_LETTERS = 138,
01483 UBLOCK_NEW_TAI_LUE = 139,
01485 UBLOCK_OLD_PERSIAN = 140,
01487 UBLOCK_PHONETIC_EXTENSIONS_SUPPLEMENT = 141,
01489 UBLOCK_SUPPLEMENTAL_PUNCTUATION = 142,
01491 UBLOCK_SYLOTI_NAGRI = 143,
01493 UBLOCK_TIFINAGH = 144,
01495 UBLOCK_VERTICAL_FORMS = 145,
01496
01497
01498
01500 UBLOCK_NKO = 146,
01502 UBLOCK_BALINESE = 147,
01504 UBLOCK_LATIN_EXTENDED_C = 148,
01506 UBLOCK_LATIN_EXTENDED_D = 149,
01508 UBLOCK_PHAGS_PA = 150,
01510 UBLOCK_PHOENICIAN = 151,
01512 UBLOCK_CUNEIFORM = 152,
01514 UBLOCK_CUNEIFORM_NUMBERS_AND_PUNCTUATION = 153,
01516 UBLOCK_COUNTING_ROD_NUMERALS = 154,
01517
01518
01519
01521 UBLOCK_SUNDANESE = 155,
01523 UBLOCK_LEPCHA = 156,
01525 UBLOCK_OL_CHIKI = 157,
01527 UBLOCK_CYRILLIC_EXTENDED_A = 158,
01529 UBLOCK_VAI = 159,
01531 UBLOCK_CYRILLIC_EXTENDED_B = 160,
01533 UBLOCK_SAURASHTRA = 161,
01535 UBLOCK_KAYAH_LI = 162,
01537 UBLOCK_REJANG = 163,
01539 UBLOCK_CHAM = 164,
01541 UBLOCK_ANCIENT_SYMBOLS = 165,
01543 UBLOCK_PHAISTOS_DISC = 166,
01545 UBLOCK_LYCIAN = 167,
01547 UBLOCK_CARIAN = 168,
01549 UBLOCK_LYDIAN = 169,
01551 UBLOCK_MAHJONG_TILES = 170,
01553 UBLOCK_DOMINO_TILES = 171,
01554
01555
01556
01558 UBLOCK_SAMARITAN = 172,
01560 UBLOCK_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED = 173,
01562 UBLOCK_TAI_THAM = 174,
01564 UBLOCK_VEDIC_EXTENSIONS = 175,
01566 UBLOCK_LISU = 176,
01568 UBLOCK_BAMUM = 177,
01570 UBLOCK_COMMON_INDIC_NUMBER_FORMS = 178,
01572 UBLOCK_DEVANAGARI_EXTENDED = 179,
01574 UBLOCK_HANGUL_JAMO_EXTENDED_A = 180,
01576 UBLOCK_JAVANESE = 181,
01578 UBLOCK_MYANMAR_EXTENDED_A = 182,
01580 UBLOCK_TAI_VIET = 183,
01582 UBLOCK_MEETEI_MAYEK = 184,
01584 UBLOCK_HANGUL_JAMO_EXTENDED_B = 185,
01586 UBLOCK_IMPERIAL_ARAMAIC = 186,
01588 UBLOCK_OLD_SOUTH_ARABIAN = 187,
01590 UBLOCK_AVESTAN = 188,
01592 UBLOCK_INSCRIPTIONAL_PARTHIAN = 189,
01594 UBLOCK_INSCRIPTIONAL_PAHLAVI = 190,
01596 UBLOCK_OLD_TURKIC = 191,
01598 UBLOCK_RUMI_NUMERAL_SYMBOLS = 192,
01600 UBLOCK_KAITHI = 193,
01602 UBLOCK_EGYPTIAN_HIEROGLYPHS = 194,
01604 UBLOCK_ENCLOSED_ALPHANUMERIC_SUPPLEMENT = 195,
01606 UBLOCK_ENCLOSED_IDEOGRAPHIC_SUPPLEMENT = 196,
01608 UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C = 197,
01609
01610
01611
01613 UBLOCK_MANDAIC = 198,
01615 UBLOCK_BATAK = 199,
01617 UBLOCK_ETHIOPIC_EXTENDED_A = 200,
01619 UBLOCK_BRAHMI = 201,
01621 UBLOCK_BAMUM_SUPPLEMENT = 202,
01623 UBLOCK_KANA_SUPPLEMENT = 203,
01625 UBLOCK_PLAYING_CARDS = 204,
01627 UBLOCK_MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS = 205,
01629 UBLOCK_EMOTICONS = 206,
01631 UBLOCK_TRANSPORT_AND_MAP_SYMBOLS = 207,
01633 UBLOCK_ALCHEMICAL_SYMBOLS = 208,
01635 UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D = 209,
01636
01637
01638
01640 UBLOCK_ARABIC_EXTENDED_A = 210,
01642 UBLOCK_ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS = 211,
01644 UBLOCK_CHAKMA = 212,
01646 UBLOCK_MEETEI_MAYEK_EXTENSIONS = 213,
01648 UBLOCK_MEROITIC_CURSIVE = 214,
01650 UBLOCK_MEROITIC_HIEROGLYPHS = 215,
01652 UBLOCK_MIAO = 216,
01654 UBLOCK_SHARADA = 217,
01656 UBLOCK_SORA_SOMPENG = 218,
01658 UBLOCK_SUNDANESE_SUPPLEMENT = 219,
01660 UBLOCK_TAKRI = 220,
01661
01662
01663
01665 UBLOCK_BASSA_VAH = 221,
01667 UBLOCK_CAUCASIAN_ALBANIAN = 222,
01669 UBLOCK_COPTIC_EPACT_NUMBERS = 223,
01671 UBLOCK_COMBINING_DIACRITICAL_MARKS_EXTENDED = 224,
01673 UBLOCK_DUPLOYAN = 225,
01675 UBLOCK_ELBASAN = 226,
01677 UBLOCK_GEOMETRIC_SHAPES_EXTENDED = 227,
01679 UBLOCK_GRANTHA = 228,
01681 UBLOCK_KHOJKI = 229,
01683 UBLOCK_KHUDAWADI = 230,
01685 UBLOCK_LATIN_EXTENDED_E = 231,
01687 UBLOCK_LINEAR_A = 232,
01689 UBLOCK_MAHAJANI = 233,
01691 UBLOCK_MANICHAEAN = 234,
01693 UBLOCK_MENDE_KIKAKUI = 235,
01695 UBLOCK_MODI = 236,
01697 UBLOCK_MRO = 237,
01699 UBLOCK_MYANMAR_EXTENDED_B = 238,
01701 UBLOCK_NABATAEAN = 239,
01703 UBLOCK_OLD_NORTH_ARABIAN = 240,
01705 UBLOCK_OLD_PERMIC = 241,
01707 UBLOCK_ORNAMENTAL_DINGBATS = 242,
01709 UBLOCK_PAHAWH_HMONG = 243,
01711 UBLOCK_PALMYRENE = 244,
01713 UBLOCK_PAU_CIN_HAU = 245,
01715 UBLOCK_PSALTER_PAHLAVI = 246,
01717 UBLOCK_SHORTHAND_FORMAT_CONTROLS = 247,
01719 UBLOCK_SIDDHAM = 248,
01721 UBLOCK_SINHALA_ARCHAIC_NUMBERS = 249,
01723 UBLOCK_SUPPLEMENTAL_ARROWS_C = 250,
01725 UBLOCK_TIRHUTA = 251,
01727 UBLOCK_WARANG_CITI = 252,
01728
01729
01730
01732 UBLOCK_AHOM = 253,
01734 UBLOCK_ANATOLIAN_HIEROGLYPHS = 254,
01736 UBLOCK_CHEROKEE_SUPPLEMENT = 255,
01738 UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_E = 256,
01740 UBLOCK_EARLY_DYNASTIC_CUNEIFORM = 257,
01742 UBLOCK_HATRAN = 258,
01744 UBLOCK_MULTANI = 259,
01746 UBLOCK_OLD_HUNGARIAN = 260,
01748 UBLOCK_SUPPLEMENTAL_SYMBOLS_AND_PICTOGRAPHS = 261,
01750 UBLOCK_SUTTON_SIGNWRITING = 262,
01751
01752
01753
01755 UBLOCK_ADLAM = 263,
01757 UBLOCK_BHAIKSUKI = 264,
01759 UBLOCK_CYRILLIC_EXTENDED_C = 265,
01761 UBLOCK_GLAGOLITIC_SUPPLEMENT = 266,
01763 UBLOCK_IDEOGRAPHIC_SYMBOLS_AND_PUNCTUATION = 267,
01765 UBLOCK_MARCHEN = 268,
01767 UBLOCK_MONGOLIAN_SUPPLEMENT = 269,
01769 UBLOCK_NEWA = 270,
01771 UBLOCK_OSAGE = 271,
01773 UBLOCK_TANGUT = 272,
01775 UBLOCK_TANGUT_COMPONENTS = 273,
01776
01777
01778
01780 UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_F = 274,
01782 UBLOCK_KANA_EXTENDED_A = 275,
01784 UBLOCK_MASARAM_GONDI = 276,
01786 UBLOCK_NUSHU = 277,
01788 UBLOCK_SOYOMBO = 278,
01790 UBLOCK_SYRIAC_SUPPLEMENT = 279,
01792 UBLOCK_ZANABAZAR_SQUARE = 280,
01793
01794
01795
01797 UBLOCK_CHESS_SYMBOLS = 281,
01799 UBLOCK_DOGRA = 282,
01801 UBLOCK_GEORGIAN_EXTENDED = 283,
01803 UBLOCK_GUNJALA_GONDI = 284,
01805 UBLOCK_HANIFI_ROHINGYA = 285,
01807 UBLOCK_INDIC_SIYAQ_NUMBERS = 286,
01809 UBLOCK_MAKASAR = 287,
01811 UBLOCK_MAYAN_NUMERALS = 288,
01813 UBLOCK_MEDEFAIDRIN = 289,
01815 UBLOCK_OLD_SOGDIAN = 290,
01817 UBLOCK_SOGDIAN = 291,
01818
01819
01820
01822 UBLOCK_EGYPTIAN_HIEROGLYPH_FORMAT_CONTROLS = 292,
01824 UBLOCK_ELYMAIC = 293,
01826 UBLOCK_NANDINAGARI = 294,
01828 UBLOCK_NYIAKENG_PUACHUE_HMONG = 295,
01830 UBLOCK_OTTOMAN_SIYAQ_NUMBERS = 296,
01832 UBLOCK_SMALL_KANA_EXTENSION = 297,
01834 UBLOCK_SYMBOLS_AND_PICTOGRAPHS_EXTENDED_A = 298,
01836 UBLOCK_TAMIL_SUPPLEMENT = 299,
01838 UBLOCK_WANCHO = 300,
01839
01840
01841
01843 UBLOCK_CHORASMIAN = 301,
01845 UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_G = 302,
01847 UBLOCK_DIVES_AKURU = 303,
01849 UBLOCK_KHITAN_SMALL_SCRIPT = 304,
01851 UBLOCK_LISU_SUPPLEMENT = 305,
01853 UBLOCK_SYMBOLS_FOR_LEGACY_COMPUTING = 306,
01855 UBLOCK_TANGUT_SUPPLEMENT = 307,
01857 UBLOCK_YEZIDI = 308,
01858
01859
01860
01862 UBLOCK_ARABIC_EXTENDED_B = 309,
01864 UBLOCK_CYPRO_MINOAN = 310,
01866 UBLOCK_ETHIOPIC_EXTENDED_B = 311,
01868 UBLOCK_KANA_EXTENDED_B = 312,
01870 UBLOCK_LATIN_EXTENDED_F = 313,
01872 UBLOCK_LATIN_EXTENDED_G = 314,
01874 UBLOCK_OLD_UYGHUR = 315,
01876 UBLOCK_TANGSA = 316,
01878 UBLOCK_TOTO = 317,
01880 UBLOCK_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED_A = 318,
01882 UBLOCK_VITHKUQI = 319,
01884 UBLOCK_ZNAMENNY_MUSICAL_NOTATION = 320,
01885
01886
01887
01889 UBLOCK_ARABIC_EXTENDED_C = 321,
01891 UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_H = 322,
01893 UBLOCK_CYRILLIC_EXTENDED_D = 323,
01895 UBLOCK_DEVANAGARI_EXTENDED_A = 324,
01897 UBLOCK_KAKTOVIK_NUMERALS = 325,
01899 UBLOCK_KAWI = 326,
01901 UBLOCK_NAG_MUNDARI = 327,
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
01930
01931
01932
01933
01934 U_EA_NEUTRAL,
01935 U_EA_AMBIGUOUS,
01936 U_EA_HALFWIDTH,
01937 U_EA_FULLWIDTH,
01938 U_EA_NARROW,
01939 U_EA_WIDE,
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
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
02020
02021
02022
02023
02024 U_DT_NONE,
02025 U_DT_CANONICAL,
02026 U_DT_COMPAT,
02027 U_DT_CIRCLE,
02028 U_DT_FINAL,
02029 U_DT_FONT,
02030 U_DT_FRACTION,
02031 U_DT_INITIAL,
02032 U_DT_ISOLATED,
02033 U_DT_MEDIAL,
02034 U_DT_NARROW,
02035 U_DT_NOBREAK,
02036 U_DT_SMALL,
02037 U_DT_SQUARE,
02038 U_DT_SUB,
02039 U_DT_SUPER,
02040 U_DT_VERTICAL,
02041 U_DT_WIDE,
02042 #ifndef U_HIDE_DEPRECATED_API
02043
02049 U_DT_COUNT
02050 #endif // U_HIDE_DEPRECATED_API
02051 } UDecompositionType;
02052
02059 typedef enum UJoiningType {
02060
02061
02062
02063
02064
02065
02066 U_JT_NON_JOINING,
02067 U_JT_JOIN_CAUSING,
02068 U_JT_DUAL_JOINING,
02069 U_JT_LEFT_JOINING,
02070 U_JT_RIGHT_JOINING,
02071 U_JT_TRANSPARENT,
02072 #ifndef U_HIDE_DEPRECATED_API
02073
02079 U_JT_COUNT
02080 #endif // U_HIDE_DEPRECATED_API
02081 } UJoiningType;
02082
02089 typedef enum UJoiningGroup {
02090
02091
02092
02093
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
02225
02226
02227
02228
02229 U_GCB_OTHER = 0,
02230 U_GCB_CONTROL = 1,
02231 U_GCB_CR = 2,
02232 U_GCB_EXTEND = 3,
02233 U_GCB_L = 4,
02234 U_GCB_LF = 5,
02235 U_GCB_LV = 6,
02236 U_GCB_LVT = 7,
02237 U_GCB_T = 8,
02238 U_GCB_V = 9,
02240 U_GCB_SPACING_MARK = 10,
02242 U_GCB_PREPEND = 11,
02244 U_GCB_REGIONAL_INDICATOR = 12,
02246 U_GCB_E_BASE = 13,
02248 U_GCB_E_BASE_GAZ = 14,
02250 U_GCB_E_MODIFIER = 15,
02252 U_GCB_GLUE_AFTER_ZWJ = 16,
02254 U_GCB_ZWJ = 17,
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
02277
02278
02279
02280
02281 U_WB_OTHER = 0,
02282 U_WB_ALETTER = 1,
02283 U_WB_FORMAT = 2,
02284 U_WB_KATAKANA = 3,
02285 U_WB_MIDLETTER = 4,
02286 U_WB_MIDNUM = 5,
02287 U_WB_NUMERIC = 6,
02288 U_WB_EXTENDNUMLET = 7,
02290 U_WB_CR = 8,
02292 U_WB_EXTEND = 9,
02294 U_WB_LF = 10,
02296 U_WB_MIDNUMLET =11,
02298 U_WB_NEWLINE =12,
02300 U_WB_REGIONAL_INDICATOR = 13,
02302 U_WB_HEBREW_LETTER = 14,
02304 U_WB_SINGLE_QUOTE = 15,
02306 U_WB_DOUBLE_QUOTE = 16,
02308 U_WB_E_BASE = 17,
02310 U_WB_E_BASE_GAZ = 18,
02312 U_WB_E_MODIFIER = 19,
02314 U_WB_GLUE_AFTER_ZWJ = 20,
02316 U_WB_ZWJ = 21,
02318 U_WB_WSEGSPACE = 22,
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
02340
02341
02342
02343
02344 U_SB_OTHER = 0,
02345 U_SB_ATERM = 1,
02346 U_SB_CLOSE = 2,
02347 U_SB_FORMAT = 3,
02348 U_SB_LOWER = 4,
02349 U_SB_NUMERIC = 5,
02350 U_SB_OLETTER = 6,
02351 U_SB_SEP = 7,
02352 U_SB_SP = 8,
02353 U_SB_STERM = 9,
02354 U_SB_UPPER = 10,
02355 U_SB_CR = 11,
02356 U_SB_EXTEND = 12,
02357 U_SB_LF = 13,
02358 U_SB_SCONTINUE = 14,
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
02379
02380
02381
02382
02383 U_LB_UNKNOWN = 0,
02384 U_LB_AMBIGUOUS = 1,
02385 U_LB_ALPHABETIC = 2,
02386 U_LB_BREAK_BOTH = 3,
02387 U_LB_BREAK_AFTER = 4,
02388 U_LB_BREAK_BEFORE = 5,
02389 U_LB_MANDATORY_BREAK = 6,
02390 U_LB_CONTINGENT_BREAK = 7,
02391 U_LB_CLOSE_PUNCTUATION = 8,
02392 U_LB_COMBINING_MARK = 9,
02393 U_LB_CARRIAGE_RETURN = 10,
02394 U_LB_EXCLAMATION = 11,
02395 U_LB_GLUE = 12,
02396 U_LB_HYPHEN = 13,
02397 U_LB_IDEOGRAPHIC = 14,
02399 U_LB_INSEPARABLE = 15,
02400 U_LB_INSEPERABLE = U_LB_INSEPARABLE,
02401 U_LB_INFIX_NUMERIC = 16,
02402 U_LB_LINE_FEED = 17,
02403 U_LB_NONSTARTER = 18,
02404 U_LB_NUMERIC = 19,
02405 U_LB_OPEN_PUNCTUATION = 20,
02406 U_LB_POSTFIX_NUMERIC = 21,
02407 U_LB_PREFIX_NUMERIC = 22,
02408 U_LB_QUOTATION = 23,
02409 U_LB_COMPLEX_CONTEXT = 24,
02410 U_LB_SURROGATE = 25,
02411 U_LB_SPACE = 26,
02412 U_LB_BREAK_SYMBOLS = 27,
02413 U_LB_ZWSPACE = 28,
02415 U_LB_NEXT_LINE = 29,
02417 U_LB_WORD_JOINER = 30,
02419 U_LB_H2 = 31,
02421 U_LB_H3 = 32,
02423 U_LB_JL = 33,
02425 U_LB_JT = 34,
02427 U_LB_JV = 35,
02429 U_LB_CLOSE_PARENTHESIS = 36,
02431 U_LB_CONDITIONAL_JAPANESE_STARTER = 37,
02433 U_LB_HEBREW_LETTER = 38,
02435 U_LB_REGIONAL_INDICATOR = 39,
02437 U_LB_E_BASE = 40,
02439 U_LB_E_MODIFIER = 41,
02441 U_LB_ZWJ = 42,
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
02462
02463
02464
02465
02466 U_NT_NONE,
02467 U_NT_DECIMAL,
02468 U_NT_DIGIT,
02469 U_NT_NUMERIC,
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
02490
02491
02492
02493
02494 U_HST_NOT_APPLICABLE,
02495 U_HST_LEADING_JAMO,
02496 U_HST_VOWEL_JAMO,
02497 U_HST_TRAILING_JAMO,
02498 U_HST_LV_SYLLABLE,
02499 U_HST_LVT_SYLLABLE,
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
02520
02521
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
02567
02568
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
02654
02655
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
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
04169