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 "11.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_DEPRECATED_API
00487
00491 UCHAR_BINARY_LIMIT,
00492 #endif // U_HIDE_DEPRECATED_API
00493
00496 UCHAR_BIDI_CLASS=0x1000,
00498 UCHAR_INT_START=UCHAR_BIDI_CLASS,
00501 UCHAR_BLOCK=0x1001,
00504 UCHAR_CANONICAL_COMBINING_CLASS=0x1002,
00507 UCHAR_DECOMPOSITION_TYPE=0x1003,
00511 UCHAR_EAST_ASIAN_WIDTH=0x1004,
00514 UCHAR_GENERAL_CATEGORY=0x1005,
00517 UCHAR_JOINING_GROUP=0x1006,
00520 UCHAR_JOINING_TYPE=0x1007,
00523 UCHAR_LINE_BREAK=0x1008,
00526 UCHAR_NUMERIC_TYPE=0x1009,
00529 UCHAR_SCRIPT=0x100A,
00532 UCHAR_HANGUL_SYLLABLE_TYPE=0x100B,
00535 UCHAR_NFD_QUICK_CHECK=0x100C,
00538 UCHAR_NFKD_QUICK_CHECK=0x100D,
00541 UCHAR_NFC_QUICK_CHECK=0x100E,
00544 UCHAR_NFKC_QUICK_CHECK=0x100F,
00551 UCHAR_LEAD_CANONICAL_COMBINING_CLASS=0x1010,
00558 UCHAR_TRAIL_CANONICAL_COMBINING_CLASS=0x1011,
00563 UCHAR_GRAPHEME_CLUSTER_BREAK=0x1012,
00568 UCHAR_SENTENCE_BREAK=0x1013,
00573 UCHAR_WORD_BREAK=0x1014,
00578 UCHAR_BIDI_PAIRED_BRACKET_TYPE=0x1015,
00586 UCHAR_INDIC_POSITIONAL_CATEGORY=0x1016,
00593 UCHAR_INDIC_SYLLABIC_CATEGORY=0x1017,
00600 UCHAR_VERTICAL_ORIENTATION=0x1018,
00601 #ifndef U_HIDE_DEPRECATED_API
00602
00606 UCHAR_INT_LIMIT=0x1019,
00607 #endif // U_HIDE_DEPRECATED_API
00608
00617 UCHAR_GENERAL_CATEGORY_MASK=0x2000,
00619 UCHAR_MASK_START=UCHAR_GENERAL_CATEGORY_MASK,
00620 #ifndef U_HIDE_DEPRECATED_API
00621
00625 UCHAR_MASK_LIMIT=0x2001,
00626 #endif // U_HIDE_DEPRECATED_API
00627
00630 UCHAR_NUMERIC_VALUE=0x3000,
00632 UCHAR_DOUBLE_START=UCHAR_NUMERIC_VALUE,
00633 #ifndef U_HIDE_DEPRECATED_API
00634
00638 UCHAR_DOUBLE_LIMIT=0x3001,
00639 #endif // U_HIDE_DEPRECATED_API
00640
00643 UCHAR_AGE=0x4000,
00645 UCHAR_STRING_START=UCHAR_AGE,
00648 UCHAR_BIDI_MIRRORING_GLYPH=0x4001,
00651 UCHAR_CASE_FOLDING=0x4002,
00652 #ifndef U_HIDE_DEPRECATED_API
00653
00655 UCHAR_ISO_COMMENT=0x4003,
00656 #endif
00657
00659 UCHAR_LOWERCASE_MAPPING=0x4004,
00662 UCHAR_NAME=0x4005,
00665 UCHAR_SIMPLE_CASE_FOLDING=0x4006,
00668 UCHAR_SIMPLE_LOWERCASE_MAPPING=0x4007,
00671 UCHAR_SIMPLE_TITLECASE_MAPPING=0x4008,
00674 UCHAR_SIMPLE_UPPERCASE_MAPPING=0x4009,
00677 UCHAR_TITLECASE_MAPPING=0x400A,
00678 #ifndef U_HIDE_DEPRECATED_API
00679
00683 UCHAR_UNICODE_1_NAME=0x400B,
00684 #endif
00685
00687 UCHAR_UPPERCASE_MAPPING=0x400C,
00690 UCHAR_BIDI_PAIRED_BRACKET=0x400D,
00691 #ifndef U_HIDE_DEPRECATED_API
00692
00696 UCHAR_STRING_LIMIT=0x400E,
00697 #endif // U_HIDE_DEPRECATED_API
00698
00704 UCHAR_SCRIPT_EXTENSIONS=0x7000,
00706 UCHAR_OTHER_PROPERTY_START=UCHAR_SCRIPT_EXTENSIONS,
00707 #ifndef U_HIDE_DEPRECATED_API
00708
00712 UCHAR_OTHER_PROPERTY_LIMIT=0x7001,
00713 #endif // U_HIDE_DEPRECATED_API
00714
00716 UCHAR_INVALID_CODE = -1
00717 } UProperty;
00718
00724 typedef enum UCharCategory
00725 {
00726
00727
00728
00729
00730
00731
00732
00734 U_UNASSIGNED = 0,
00736 U_GENERAL_OTHER_TYPES = 0,
00738 U_UPPERCASE_LETTER = 1,
00740 U_LOWERCASE_LETTER = 2,
00742 U_TITLECASE_LETTER = 3,
00744 U_MODIFIER_LETTER = 4,
00746 U_OTHER_LETTER = 5,
00748 U_NON_SPACING_MARK = 6,
00750 U_ENCLOSING_MARK = 7,
00752 U_COMBINING_SPACING_MARK = 8,
00754 U_DECIMAL_DIGIT_NUMBER = 9,
00756 U_LETTER_NUMBER = 10,
00758 U_OTHER_NUMBER = 11,
00760 U_SPACE_SEPARATOR = 12,
00762 U_LINE_SEPARATOR = 13,
00764 U_PARAGRAPH_SEPARATOR = 14,
00766 U_CONTROL_CHAR = 15,
00768 U_FORMAT_CHAR = 16,
00770 U_PRIVATE_USE_CHAR = 17,
00772 U_SURROGATE = 18,
00774 U_DASH_PUNCTUATION = 19,
00776 U_START_PUNCTUATION = 20,
00778 U_END_PUNCTUATION = 21,
00780 U_CONNECTOR_PUNCTUATION = 22,
00782 U_OTHER_PUNCTUATION = 23,
00784 U_MATH_SYMBOL = 24,
00786 U_CURRENCY_SYMBOL = 25,
00788 U_MODIFIER_SYMBOL = 26,
00790 U_OTHER_SYMBOL = 27,
00792 U_INITIAL_PUNCTUATION = 28,
00794 U_FINAL_PUNCTUATION = 29,
00802 U_CHAR_CATEGORY_COUNT
00803 } UCharCategory;
00804
00819 #define U_GC_CN_MASK U_MASK(U_GENERAL_OTHER_TYPES)
00820
00822 #define U_GC_LU_MASK U_MASK(U_UPPERCASE_LETTER)
00823
00824 #define U_GC_LL_MASK U_MASK(U_LOWERCASE_LETTER)
00825
00826 #define U_GC_LT_MASK U_MASK(U_TITLECASE_LETTER)
00827
00828 #define U_GC_LM_MASK U_MASK(U_MODIFIER_LETTER)
00829
00830 #define U_GC_LO_MASK U_MASK(U_OTHER_LETTER)
00831
00833 #define U_GC_MN_MASK U_MASK(U_NON_SPACING_MARK)
00834
00835 #define U_GC_ME_MASK U_MASK(U_ENCLOSING_MARK)
00836
00837 #define U_GC_MC_MASK U_MASK(U_COMBINING_SPACING_MARK)
00838
00840 #define U_GC_ND_MASK U_MASK(U_DECIMAL_DIGIT_NUMBER)
00841
00842 #define U_GC_NL_MASK U_MASK(U_LETTER_NUMBER)
00843
00844 #define U_GC_NO_MASK U_MASK(U_OTHER_NUMBER)
00845
00847 #define U_GC_ZS_MASK U_MASK(U_SPACE_SEPARATOR)
00848
00849 #define U_GC_ZL_MASK U_MASK(U_LINE_SEPARATOR)
00850
00851 #define U_GC_ZP_MASK U_MASK(U_PARAGRAPH_SEPARATOR)
00852
00854 #define U_GC_CC_MASK U_MASK(U_CONTROL_CHAR)
00855
00856 #define U_GC_CF_MASK U_MASK(U_FORMAT_CHAR)
00857
00858 #define U_GC_CO_MASK U_MASK(U_PRIVATE_USE_CHAR)
00859
00860 #define U_GC_CS_MASK U_MASK(U_SURROGATE)
00861
00863 #define U_GC_PD_MASK U_MASK(U_DASH_PUNCTUATION)
00864
00865 #define U_GC_PS_MASK U_MASK(U_START_PUNCTUATION)
00866
00867 #define U_GC_PE_MASK U_MASK(U_END_PUNCTUATION)
00868
00869 #define U_GC_PC_MASK U_MASK(U_CONNECTOR_PUNCTUATION)
00870
00871 #define U_GC_PO_MASK U_MASK(U_OTHER_PUNCTUATION)
00872
00874 #define U_GC_SM_MASK U_MASK(U_MATH_SYMBOL)
00875
00876 #define U_GC_SC_MASK U_MASK(U_CURRENCY_SYMBOL)
00877
00878 #define U_GC_SK_MASK U_MASK(U_MODIFIER_SYMBOL)
00879
00880 #define U_GC_SO_MASK U_MASK(U_OTHER_SYMBOL)
00881
00883 #define U_GC_PI_MASK U_MASK(U_INITIAL_PUNCTUATION)
00884
00885 #define U_GC_PF_MASK U_MASK(U_FINAL_PUNCTUATION)
00886
00887
00889 #define U_GC_L_MASK \
00890 (U_GC_LU_MASK|U_GC_LL_MASK|U_GC_LT_MASK|U_GC_LM_MASK|U_GC_LO_MASK)
00891
00893 #define U_GC_LC_MASK \
00894 (U_GC_LU_MASK|U_GC_LL_MASK|U_GC_LT_MASK)
00895
00897 #define U_GC_M_MASK (U_GC_MN_MASK|U_GC_ME_MASK|U_GC_MC_MASK)
00898
00900 #define U_GC_N_MASK (U_GC_ND_MASK|U_GC_NL_MASK|U_GC_NO_MASK)
00901
00903 #define U_GC_Z_MASK (U_GC_ZS_MASK|U_GC_ZL_MASK|U_GC_ZP_MASK)
00904
00906 #define U_GC_C_MASK \
00907 (U_GC_CN_MASK|U_GC_CC_MASK|U_GC_CF_MASK|U_GC_CO_MASK|U_GC_CS_MASK)
00908
00910 #define U_GC_P_MASK \
00911 (U_GC_PD_MASK|U_GC_PS_MASK|U_GC_PE_MASK|U_GC_PC_MASK|U_GC_PO_MASK| \
00912 U_GC_PI_MASK|U_GC_PF_MASK)
00913
00915 #define U_GC_S_MASK (U_GC_SM_MASK|U_GC_SC_MASK|U_GC_SK_MASK|U_GC_SO_MASK)
00916
00921 typedef enum UCharDirection {
00922
00923
00924
00925
00926
00927
00928
00930 U_LEFT_TO_RIGHT = 0,
00932 U_RIGHT_TO_LEFT = 1,
00934 U_EUROPEAN_NUMBER = 2,
00936 U_EUROPEAN_NUMBER_SEPARATOR = 3,
00938 U_EUROPEAN_NUMBER_TERMINATOR = 4,
00940 U_ARABIC_NUMBER = 5,
00942 U_COMMON_NUMBER_SEPARATOR = 6,
00944 U_BLOCK_SEPARATOR = 7,
00946 U_SEGMENT_SEPARATOR = 8,
00948 U_WHITE_SPACE_NEUTRAL = 9,
00950 U_OTHER_NEUTRAL = 10,
00952 U_LEFT_TO_RIGHT_EMBEDDING = 11,
00954 U_LEFT_TO_RIGHT_OVERRIDE = 12,
00956 U_RIGHT_TO_LEFT_ARABIC = 13,
00958 U_RIGHT_TO_LEFT_EMBEDDING = 14,
00960 U_RIGHT_TO_LEFT_OVERRIDE = 15,
00962 U_POP_DIRECTIONAL_FORMAT = 16,
00964 U_DIR_NON_SPACING_MARK = 17,
00966 U_BOUNDARY_NEUTRAL = 18,
00968 U_FIRST_STRONG_ISOLATE = 19,
00970 U_LEFT_TO_RIGHT_ISOLATE = 20,
00972 U_RIGHT_TO_LEFT_ISOLATE = 21,
00974 U_POP_DIRECTIONAL_ISOLATE = 22,
00975 #ifndef U_HIDE_DEPRECATED_API
00976
00982 U_CHAR_DIRECTION_COUNT
00983 #endif // U_HIDE_DEPRECATED_API
00984 } UCharDirection;
00985
00992 typedef enum UBidiPairedBracketType {
00993
00994
00995
00996
00997
00998
01000 U_BPT_NONE,
01002 U_BPT_OPEN,
01004 U_BPT_CLOSE,
01005 #ifndef U_HIDE_DEPRECATED_API
01006
01012 U_BPT_COUNT
01013 #endif // U_HIDE_DEPRECATED_API
01014 } UBidiPairedBracketType;
01015
01020 enum UBlockCode {
01021
01022
01023
01024
01025
01026
01028 UBLOCK_NO_BLOCK = 0,
01029
01031 UBLOCK_BASIC_LATIN = 1,
01032
01034 UBLOCK_LATIN_1_SUPPLEMENT=2,
01035
01037 UBLOCK_LATIN_EXTENDED_A =3,
01038
01040 UBLOCK_LATIN_EXTENDED_B =4,
01041
01043 UBLOCK_IPA_EXTENSIONS =5,
01044
01046 UBLOCK_SPACING_MODIFIER_LETTERS =6,
01047
01049 UBLOCK_COMBINING_DIACRITICAL_MARKS =7,
01050
01055 UBLOCK_GREEK =8,
01056
01058 UBLOCK_CYRILLIC =9,
01059
01061 UBLOCK_ARMENIAN =10,
01062
01064 UBLOCK_HEBREW =11,
01065
01067 UBLOCK_ARABIC =12,
01068
01070 UBLOCK_SYRIAC =13,
01071
01073 UBLOCK_THAANA =14,
01074
01076 UBLOCK_DEVANAGARI =15,
01077
01079 UBLOCK_BENGALI =16,
01080
01082 UBLOCK_GURMUKHI =17,
01083
01085 UBLOCK_GUJARATI =18,
01086
01088 UBLOCK_ORIYA =19,
01089
01091 UBLOCK_TAMIL =20,
01092
01094 UBLOCK_TELUGU =21,
01095
01097 UBLOCK_KANNADA =22,
01098
01100 UBLOCK_MALAYALAM =23,
01101
01103 UBLOCK_SINHALA =24,
01104
01106 UBLOCK_THAI =25,
01107
01109 UBLOCK_LAO =26,
01110
01112 UBLOCK_TIBETAN =27,
01113
01115 UBLOCK_MYANMAR =28,
01116
01118 UBLOCK_GEORGIAN =29,
01119
01121 UBLOCK_HANGUL_JAMO =30,
01122
01124 UBLOCK_ETHIOPIC =31,
01125
01127 UBLOCK_CHEROKEE =32,
01128
01130 UBLOCK_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS =33,
01131
01133 UBLOCK_OGHAM =34,
01134
01136 UBLOCK_RUNIC =35,
01137
01139 UBLOCK_KHMER =36,
01140
01142 UBLOCK_MONGOLIAN =37,
01143
01145 UBLOCK_LATIN_EXTENDED_ADDITIONAL =38,
01146
01148 UBLOCK_GREEK_EXTENDED =39,
01149
01151 UBLOCK_GENERAL_PUNCTUATION =40,
01152
01154 UBLOCK_SUPERSCRIPTS_AND_SUBSCRIPTS =41,
01155
01157 UBLOCK_CURRENCY_SYMBOLS =42,
01158
01163 UBLOCK_COMBINING_MARKS_FOR_SYMBOLS =43,
01164
01166 UBLOCK_LETTERLIKE_SYMBOLS =44,
01167
01169 UBLOCK_NUMBER_FORMS =45,
01170
01172 UBLOCK_ARROWS =46,
01173
01175 UBLOCK_MATHEMATICAL_OPERATORS =47,
01176
01178 UBLOCK_MISCELLANEOUS_TECHNICAL =48,
01179
01181 UBLOCK_CONTROL_PICTURES =49,
01182
01184 UBLOCK_OPTICAL_CHARACTER_RECOGNITION =50,
01185
01187 UBLOCK_ENCLOSED_ALPHANUMERICS =51,
01188
01190 UBLOCK_BOX_DRAWING =52,
01191
01193 UBLOCK_BLOCK_ELEMENTS =53,
01194
01196 UBLOCK_GEOMETRIC_SHAPES =54,
01197
01199 UBLOCK_MISCELLANEOUS_SYMBOLS =55,
01200
01202 UBLOCK_DINGBATS =56,
01203
01205 UBLOCK_BRAILLE_PATTERNS =57,
01206
01208 UBLOCK_CJK_RADICALS_SUPPLEMENT =58,
01209
01211 UBLOCK_KANGXI_RADICALS =59,
01212
01214 UBLOCK_IDEOGRAPHIC_DESCRIPTION_CHARACTERS =60,
01215
01217 UBLOCK_CJK_SYMBOLS_AND_PUNCTUATION =61,
01218
01220 UBLOCK_HIRAGANA =62,
01221
01223 UBLOCK_KATAKANA =63,
01224
01226 UBLOCK_BOPOMOFO =64,
01227
01229 UBLOCK_HANGUL_COMPATIBILITY_JAMO =65,
01230
01232 UBLOCK_KANBUN =66,
01233
01235 UBLOCK_BOPOMOFO_EXTENDED =67,
01236
01238 UBLOCK_ENCLOSED_CJK_LETTERS_AND_MONTHS =68,
01239
01241 UBLOCK_CJK_COMPATIBILITY =69,
01242
01244 UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A =70,
01245
01247 UBLOCK_CJK_UNIFIED_IDEOGRAPHS =71,
01248
01250 UBLOCK_YI_SYLLABLES =72,
01251
01253 UBLOCK_YI_RADICALS =73,
01254
01256 UBLOCK_HANGUL_SYLLABLES =74,
01257
01259 UBLOCK_HIGH_SURROGATES =75,
01260
01262 UBLOCK_HIGH_PRIVATE_USE_SURROGATES =76,
01263
01265 UBLOCK_LOW_SURROGATES =77,
01266
01276 UBLOCK_PRIVATE_USE_AREA =78,
01286 UBLOCK_PRIVATE_USE = UBLOCK_PRIVATE_USE_AREA,
01287
01289 UBLOCK_CJK_COMPATIBILITY_IDEOGRAPHS =79,
01290
01292 UBLOCK_ALPHABETIC_PRESENTATION_FORMS =80,
01293
01295 UBLOCK_ARABIC_PRESENTATION_FORMS_A =81,
01296
01298 UBLOCK_COMBINING_HALF_MARKS =82,
01299
01301 UBLOCK_CJK_COMPATIBILITY_FORMS =83,
01302
01304 UBLOCK_SMALL_FORM_VARIANTS =84,
01305
01307 UBLOCK_ARABIC_PRESENTATION_FORMS_B =85,
01308
01310 UBLOCK_SPECIALS =86,
01311
01313 UBLOCK_HALFWIDTH_AND_FULLWIDTH_FORMS =87,
01314
01315
01316
01318 UBLOCK_OLD_ITALIC = 88,
01320 UBLOCK_GOTHIC = 89,
01322 UBLOCK_DESERET = 90,
01324 UBLOCK_BYZANTINE_MUSICAL_SYMBOLS = 91,
01326 UBLOCK_MUSICAL_SYMBOLS = 92,
01328 UBLOCK_MATHEMATICAL_ALPHANUMERIC_SYMBOLS = 93,
01330 UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B = 94,
01332 UBLOCK_CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT = 95,
01334 UBLOCK_TAGS = 96,
01335
01336
01337
01339 UBLOCK_CYRILLIC_SUPPLEMENT = 97,
01344 UBLOCK_CYRILLIC_SUPPLEMENTARY = UBLOCK_CYRILLIC_SUPPLEMENT,
01346 UBLOCK_TAGALOG = 98,
01348 UBLOCK_HANUNOO = 99,
01350 UBLOCK_BUHID = 100,
01352 UBLOCK_TAGBANWA = 101,
01354 UBLOCK_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A = 102,
01356 UBLOCK_SUPPLEMENTAL_ARROWS_A = 103,
01358 UBLOCK_SUPPLEMENTAL_ARROWS_B = 104,
01360 UBLOCK_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B = 105,
01362 UBLOCK_SUPPLEMENTAL_MATHEMATICAL_OPERATORS = 106,
01364 UBLOCK_KATAKANA_PHONETIC_EXTENSIONS = 107,
01366 UBLOCK_VARIATION_SELECTORS = 108,
01368 UBLOCK_SUPPLEMENTARY_PRIVATE_USE_AREA_A = 109,
01370 UBLOCK_SUPPLEMENTARY_PRIVATE_USE_AREA_B = 110,
01371
01372
01373
01375 UBLOCK_LIMBU = 111,
01377 UBLOCK_TAI_LE = 112,
01379 UBLOCK_KHMER_SYMBOLS = 113,
01381 UBLOCK_PHONETIC_EXTENSIONS = 114,
01383 UBLOCK_MISCELLANEOUS_SYMBOLS_AND_ARROWS = 115,
01385 UBLOCK_YIJING_HEXAGRAM_SYMBOLS = 116,
01387 UBLOCK_LINEAR_B_SYLLABARY = 117,
01389 UBLOCK_LINEAR_B_IDEOGRAMS = 118,
01391 UBLOCK_AEGEAN_NUMBERS = 119,
01393 UBLOCK_UGARITIC = 120,
01395 UBLOCK_SHAVIAN = 121,
01397 UBLOCK_OSMANYA = 122,
01399 UBLOCK_CYPRIOT_SYLLABARY = 123,
01401 UBLOCK_TAI_XUAN_JING_SYMBOLS = 124,
01403 UBLOCK_VARIATION_SELECTORS_SUPPLEMENT = 125,
01404
01405
01406
01408 UBLOCK_ANCIENT_GREEK_MUSICAL_NOTATION = 126,
01410 UBLOCK_ANCIENT_GREEK_NUMBERS = 127,
01412 UBLOCK_ARABIC_SUPPLEMENT = 128,
01414 UBLOCK_BUGINESE = 129,
01416 UBLOCK_CJK_STROKES = 130,
01418 UBLOCK_COMBINING_DIACRITICAL_MARKS_SUPPLEMENT = 131,
01420 UBLOCK_COPTIC = 132,
01422 UBLOCK_ETHIOPIC_EXTENDED = 133,
01424 UBLOCK_ETHIOPIC_SUPPLEMENT = 134,
01426 UBLOCK_GEORGIAN_SUPPLEMENT = 135,
01428 UBLOCK_GLAGOLITIC = 136,
01430 UBLOCK_KHAROSHTHI = 137,
01432 UBLOCK_MODIFIER_TONE_LETTERS = 138,
01434 UBLOCK_NEW_TAI_LUE = 139,
01436 UBLOCK_OLD_PERSIAN = 140,
01438 UBLOCK_PHONETIC_EXTENSIONS_SUPPLEMENT = 141,
01440 UBLOCK_SUPPLEMENTAL_PUNCTUATION = 142,
01442 UBLOCK_SYLOTI_NAGRI = 143,
01444 UBLOCK_TIFINAGH = 144,
01446 UBLOCK_VERTICAL_FORMS = 145,
01447
01448
01449
01451 UBLOCK_NKO = 146,
01453 UBLOCK_BALINESE = 147,
01455 UBLOCK_LATIN_EXTENDED_C = 148,
01457 UBLOCK_LATIN_EXTENDED_D = 149,
01459 UBLOCK_PHAGS_PA = 150,
01461 UBLOCK_PHOENICIAN = 151,
01463 UBLOCK_CUNEIFORM = 152,
01465 UBLOCK_CUNEIFORM_NUMBERS_AND_PUNCTUATION = 153,
01467 UBLOCK_COUNTING_ROD_NUMERALS = 154,
01468
01469
01470
01472 UBLOCK_SUNDANESE = 155,
01474 UBLOCK_LEPCHA = 156,
01476 UBLOCK_OL_CHIKI = 157,
01478 UBLOCK_CYRILLIC_EXTENDED_A = 158,
01480 UBLOCK_VAI = 159,
01482 UBLOCK_CYRILLIC_EXTENDED_B = 160,
01484 UBLOCK_SAURASHTRA = 161,
01486 UBLOCK_KAYAH_LI = 162,
01488 UBLOCK_REJANG = 163,
01490 UBLOCK_CHAM = 164,
01492 UBLOCK_ANCIENT_SYMBOLS = 165,
01494 UBLOCK_PHAISTOS_DISC = 166,
01496 UBLOCK_LYCIAN = 167,
01498 UBLOCK_CARIAN = 168,
01500 UBLOCK_LYDIAN = 169,
01502 UBLOCK_MAHJONG_TILES = 170,
01504 UBLOCK_DOMINO_TILES = 171,
01505
01506
01507
01509 UBLOCK_SAMARITAN = 172,
01511 UBLOCK_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED = 173,
01513 UBLOCK_TAI_THAM = 174,
01515 UBLOCK_VEDIC_EXTENSIONS = 175,
01517 UBLOCK_LISU = 176,
01519 UBLOCK_BAMUM = 177,
01521 UBLOCK_COMMON_INDIC_NUMBER_FORMS = 178,
01523 UBLOCK_DEVANAGARI_EXTENDED = 179,
01525 UBLOCK_HANGUL_JAMO_EXTENDED_A = 180,
01527 UBLOCK_JAVANESE = 181,
01529 UBLOCK_MYANMAR_EXTENDED_A = 182,
01531 UBLOCK_TAI_VIET = 183,
01533 UBLOCK_MEETEI_MAYEK = 184,
01535 UBLOCK_HANGUL_JAMO_EXTENDED_B = 185,
01537 UBLOCK_IMPERIAL_ARAMAIC = 186,
01539 UBLOCK_OLD_SOUTH_ARABIAN = 187,
01541 UBLOCK_AVESTAN = 188,
01543 UBLOCK_INSCRIPTIONAL_PARTHIAN = 189,
01545 UBLOCK_INSCRIPTIONAL_PAHLAVI = 190,
01547 UBLOCK_OLD_TURKIC = 191,
01549 UBLOCK_RUMI_NUMERAL_SYMBOLS = 192,
01551 UBLOCK_KAITHI = 193,
01553 UBLOCK_EGYPTIAN_HIEROGLYPHS = 194,
01555 UBLOCK_ENCLOSED_ALPHANUMERIC_SUPPLEMENT = 195,
01557 UBLOCK_ENCLOSED_IDEOGRAPHIC_SUPPLEMENT = 196,
01559 UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C = 197,
01560
01561
01562
01564 UBLOCK_MANDAIC = 198,
01566 UBLOCK_BATAK = 199,
01568 UBLOCK_ETHIOPIC_EXTENDED_A = 200,
01570 UBLOCK_BRAHMI = 201,
01572 UBLOCK_BAMUM_SUPPLEMENT = 202,
01574 UBLOCK_KANA_SUPPLEMENT = 203,
01576 UBLOCK_PLAYING_CARDS = 204,
01578 UBLOCK_MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS = 205,
01580 UBLOCK_EMOTICONS = 206,
01582 UBLOCK_TRANSPORT_AND_MAP_SYMBOLS = 207,
01584 UBLOCK_ALCHEMICAL_SYMBOLS = 208,
01586 UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D = 209,
01587
01588
01589
01591 UBLOCK_ARABIC_EXTENDED_A = 210,
01593 UBLOCK_ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS = 211,
01595 UBLOCK_CHAKMA = 212,
01597 UBLOCK_MEETEI_MAYEK_EXTENSIONS = 213,
01599 UBLOCK_MEROITIC_CURSIVE = 214,
01601 UBLOCK_MEROITIC_HIEROGLYPHS = 215,
01603 UBLOCK_MIAO = 216,
01605 UBLOCK_SHARADA = 217,
01607 UBLOCK_SORA_SOMPENG = 218,
01609 UBLOCK_SUNDANESE_SUPPLEMENT = 219,
01611 UBLOCK_TAKRI = 220,
01612
01613
01614
01616 UBLOCK_BASSA_VAH = 221,
01618 UBLOCK_CAUCASIAN_ALBANIAN = 222,
01620 UBLOCK_COPTIC_EPACT_NUMBERS = 223,
01622 UBLOCK_COMBINING_DIACRITICAL_MARKS_EXTENDED = 224,
01624 UBLOCK_DUPLOYAN = 225,
01626 UBLOCK_ELBASAN = 226,
01628 UBLOCK_GEOMETRIC_SHAPES_EXTENDED = 227,
01630 UBLOCK_GRANTHA = 228,
01632 UBLOCK_KHOJKI = 229,
01634 UBLOCK_KHUDAWADI = 230,
01636 UBLOCK_LATIN_EXTENDED_E = 231,
01638 UBLOCK_LINEAR_A = 232,
01640 UBLOCK_MAHAJANI = 233,
01642 UBLOCK_MANICHAEAN = 234,
01644 UBLOCK_MENDE_KIKAKUI = 235,
01646 UBLOCK_MODI = 236,
01648 UBLOCK_MRO = 237,
01650 UBLOCK_MYANMAR_EXTENDED_B = 238,
01652 UBLOCK_NABATAEAN = 239,
01654 UBLOCK_OLD_NORTH_ARABIAN = 240,
01656 UBLOCK_OLD_PERMIC = 241,
01658 UBLOCK_ORNAMENTAL_DINGBATS = 242,
01660 UBLOCK_PAHAWH_HMONG = 243,
01662 UBLOCK_PALMYRENE = 244,
01664 UBLOCK_PAU_CIN_HAU = 245,
01666 UBLOCK_PSALTER_PAHLAVI = 246,
01668 UBLOCK_SHORTHAND_FORMAT_CONTROLS = 247,
01670 UBLOCK_SIDDHAM = 248,
01672 UBLOCK_SINHALA_ARCHAIC_NUMBERS = 249,
01674 UBLOCK_SUPPLEMENTAL_ARROWS_C = 250,
01676 UBLOCK_TIRHUTA = 251,
01678 UBLOCK_WARANG_CITI = 252,
01679
01680
01681
01683 UBLOCK_AHOM = 253,
01685 UBLOCK_ANATOLIAN_HIEROGLYPHS = 254,
01687 UBLOCK_CHEROKEE_SUPPLEMENT = 255,
01689 UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_E = 256,
01691 UBLOCK_EARLY_DYNASTIC_CUNEIFORM = 257,
01693 UBLOCK_HATRAN = 258,
01695 UBLOCK_MULTANI = 259,
01697 UBLOCK_OLD_HUNGARIAN = 260,
01699 UBLOCK_SUPPLEMENTAL_SYMBOLS_AND_PICTOGRAPHS = 261,
01701 UBLOCK_SUTTON_SIGNWRITING = 262,
01702
01703
01704
01706 UBLOCK_ADLAM = 263,
01708 UBLOCK_BHAIKSUKI = 264,
01710 UBLOCK_CYRILLIC_EXTENDED_C = 265,
01712 UBLOCK_GLAGOLITIC_SUPPLEMENT = 266,
01714 UBLOCK_IDEOGRAPHIC_SYMBOLS_AND_PUNCTUATION = 267,
01716 UBLOCK_MARCHEN = 268,
01718 UBLOCK_MONGOLIAN_SUPPLEMENT = 269,
01720 UBLOCK_NEWA = 270,
01722 UBLOCK_OSAGE = 271,
01724 UBLOCK_TANGUT = 272,
01726 UBLOCK_TANGUT_COMPONENTS = 273,
01727
01728
01729
01731 UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_F = 274,
01733 UBLOCK_KANA_EXTENDED_A = 275,
01735 UBLOCK_MASARAM_GONDI = 276,
01737 UBLOCK_NUSHU = 277,
01739 UBLOCK_SOYOMBO = 278,
01741 UBLOCK_SYRIAC_SUPPLEMENT = 279,
01743 UBLOCK_ZANABAZAR_SQUARE = 280,
01744
01745
01746
01748 UBLOCK_CHESS_SYMBOLS = 281,
01750 UBLOCK_DOGRA = 282,
01752 UBLOCK_GEORGIAN_EXTENDED = 283,
01754 UBLOCK_GUNJALA_GONDI = 284,
01756 UBLOCK_HANIFI_ROHINGYA = 285,
01758 UBLOCK_INDIC_SIYAQ_NUMBERS = 286,
01760 UBLOCK_MAKASAR = 287,
01762 UBLOCK_MAYAN_NUMERALS = 288,
01764 UBLOCK_MEDEFAIDRIN = 289,
01766 UBLOCK_OLD_SOGDIAN = 290,
01768 UBLOCK_SOGDIAN = 291,
01769
01770 #ifndef U_HIDE_DEPRECATED_API
01771
01777 UBLOCK_COUNT = 292,
01778 #endif // U_HIDE_DEPRECATED_API
01779
01781 UBLOCK_INVALID_CODE=-1
01782 };
01783
01785 typedef enum UBlockCode UBlockCode;
01786
01794 typedef enum UEastAsianWidth {
01795
01796
01797
01798
01799
01800
01801 U_EA_NEUTRAL,
01802 U_EA_AMBIGUOUS,
01803 U_EA_HALFWIDTH,
01804 U_EA_FULLWIDTH,
01805 U_EA_NARROW,
01806 U_EA_WIDE,
01807 #ifndef U_HIDE_DEPRECATED_API
01808
01814 U_EA_COUNT
01815 #endif // U_HIDE_DEPRECATED_API
01816 } UEastAsianWidth;
01817
01829 typedef enum UCharNameChoice {
01831 U_UNICODE_CHAR_NAME,
01832 #ifndef U_HIDE_DEPRECATED_API
01833
01838 U_UNICODE_10_CHAR_NAME,
01839 #endif
01840
01841 U_EXTENDED_CHAR_NAME = U_UNICODE_CHAR_NAME+2,
01843 U_CHAR_NAME_ALIAS,
01844 #ifndef U_HIDE_DEPRECATED_API
01845
01849 U_CHAR_NAME_CHOICE_COUNT
01850 #endif // U_HIDE_DEPRECATED_API
01851 } UCharNameChoice;
01852
01866 typedef enum UPropertyNameChoice {
01867 U_SHORT_PROPERTY_NAME,
01868 U_LONG_PROPERTY_NAME,
01869 #ifndef U_HIDE_DEPRECATED_API
01870
01874 U_PROPERTY_NAME_CHOICE_COUNT
01875 #endif // U_HIDE_DEPRECATED_API
01876 } UPropertyNameChoice;
01877
01884 typedef enum UDecompositionType {
01885
01886
01887
01888
01889
01890
01891 U_DT_NONE,
01892 U_DT_CANONICAL,
01893 U_DT_COMPAT,
01894 U_DT_CIRCLE,
01895 U_DT_FINAL,
01896 U_DT_FONT,
01897 U_DT_FRACTION,
01898 U_DT_INITIAL,
01899 U_DT_ISOLATED,
01900 U_DT_MEDIAL,
01901 U_DT_NARROW,
01902 U_DT_NOBREAK,
01903 U_DT_SMALL,
01904 U_DT_SQUARE,
01905 U_DT_SUB,
01906 U_DT_SUPER,
01907 U_DT_VERTICAL,
01908 U_DT_WIDE,
01909 #ifndef U_HIDE_DEPRECATED_API
01910
01916 U_DT_COUNT
01917 #endif // U_HIDE_DEPRECATED_API
01918 } UDecompositionType;
01919
01926 typedef enum UJoiningType {
01927
01928
01929
01930
01931
01932
01933 U_JT_NON_JOINING,
01934 U_JT_JOIN_CAUSING,
01935 U_JT_DUAL_JOINING,
01936 U_JT_LEFT_JOINING,
01937 U_JT_RIGHT_JOINING,
01938 U_JT_TRANSPARENT,
01939 #ifndef U_HIDE_DEPRECATED_API
01940
01946 U_JT_COUNT
01947 #endif // U_HIDE_DEPRECATED_API
01948 } UJoiningType;
01949
01956 typedef enum UJoiningGroup {
01957
01958
01959
01960
01961
01962
01963 U_JG_NO_JOINING_GROUP,
01964 U_JG_AIN,
01965 U_JG_ALAPH,
01966 U_JG_ALEF,
01967 U_JG_BEH,
01968 U_JG_BETH,
01969 U_JG_DAL,
01970 U_JG_DALATH_RISH,
01971 U_JG_E,
01972 U_JG_FEH,
01973 U_JG_FINAL_SEMKATH,
01974 U_JG_GAF,
01975 U_JG_GAMAL,
01976 U_JG_HAH,
01977 U_JG_TEH_MARBUTA_GOAL,
01978 U_JG_HAMZA_ON_HEH_GOAL=U_JG_TEH_MARBUTA_GOAL,
01979 U_JG_HE,
01980 U_JG_HEH,
01981 U_JG_HEH_GOAL,
01982 U_JG_HETH,
01983 U_JG_KAF,
01984 U_JG_KAPH,
01985 U_JG_KNOTTED_HEH,
01986 U_JG_LAM,
01987 U_JG_LAMADH,
01988 U_JG_MEEM,
01989 U_JG_MIM,
01990 U_JG_NOON,
01991 U_JG_NUN,
01992 U_JG_PE,
01993 U_JG_QAF,
01994 U_JG_QAPH,
01995 U_JG_REH,
01996 U_JG_REVERSED_PE,
01997 U_JG_SAD,
01998 U_JG_SADHE,
01999 U_JG_SEEN,
02000 U_JG_SEMKATH,
02001 U_JG_SHIN,
02002 U_JG_SWASH_KAF,
02003 U_JG_SYRIAC_WAW,
02004 U_JG_TAH,
02005 U_JG_TAW,
02006 U_JG_TEH_MARBUTA,
02007 U_JG_TETH,
02008 U_JG_WAW,
02009 U_JG_YEH,
02010 U_JG_YEH_BARREE,
02011 U_JG_YEH_WITH_TAIL,
02012 U_JG_YUDH,
02013 U_JG_YUDH_HE,
02014 U_JG_ZAIN,
02015 U_JG_FE,
02016 U_JG_KHAPH,
02017 U_JG_ZHAIN,
02018 U_JG_BURUSHASKI_YEH_BARREE,
02019 U_JG_FARSI_YEH,
02020 U_JG_NYA,
02021 U_JG_ROHINGYA_YEH,
02022 U_JG_MANICHAEAN_ALEPH,
02023 U_JG_MANICHAEAN_AYIN,
02024 U_JG_MANICHAEAN_BETH,
02025 U_JG_MANICHAEAN_DALETH,
02026 U_JG_MANICHAEAN_DHAMEDH,
02027 U_JG_MANICHAEAN_FIVE,
02028 U_JG_MANICHAEAN_GIMEL,
02029 U_JG_MANICHAEAN_HETH,
02030 U_JG_MANICHAEAN_HUNDRED,
02031 U_JG_MANICHAEAN_KAPH,
02032 U_JG_MANICHAEAN_LAMEDH,
02033 U_JG_MANICHAEAN_MEM,
02034 U_JG_MANICHAEAN_NUN,
02035 U_JG_MANICHAEAN_ONE,
02036 U_JG_MANICHAEAN_PE,
02037 U_JG_MANICHAEAN_QOPH,
02038 U_JG_MANICHAEAN_RESH,
02039 U_JG_MANICHAEAN_SADHE,
02040 U_JG_MANICHAEAN_SAMEKH,
02041 U_JG_MANICHAEAN_TAW,
02042 U_JG_MANICHAEAN_TEN,
02043 U_JG_MANICHAEAN_TETH,
02044 U_JG_MANICHAEAN_THAMEDH,
02045 U_JG_MANICHAEAN_TWENTY,
02046 U_JG_MANICHAEAN_WAW,
02047 U_JG_MANICHAEAN_YODH,
02048 U_JG_MANICHAEAN_ZAYIN,
02049 U_JG_STRAIGHT_WAW,
02050 U_JG_AFRICAN_FEH,
02051 U_JG_AFRICAN_NOON,
02052 U_JG_AFRICAN_QAF,
02054 U_JG_MALAYALAM_BHA,
02055 U_JG_MALAYALAM_JA,
02056 U_JG_MALAYALAM_LLA,
02057 U_JG_MALAYALAM_LLLA,
02058 U_JG_MALAYALAM_NGA,
02059 U_JG_MALAYALAM_NNA,
02060 U_JG_MALAYALAM_NNNA,
02061 U_JG_MALAYALAM_NYA,
02062 U_JG_MALAYALAM_RA,
02063 U_JG_MALAYALAM_SSA,
02064 U_JG_MALAYALAM_TTA,
02066 U_JG_HANIFI_ROHINGYA_KINNA_YA,
02067 U_JG_HANIFI_ROHINGYA_PA,
02069 #ifndef U_HIDE_DEPRECATED_API
02070
02076 U_JG_COUNT
02077 #endif // U_HIDE_DEPRECATED_API
02078 } UJoiningGroup;
02079
02086 typedef enum UGraphemeClusterBreak {
02087
02088
02089
02090
02091
02092
02093 U_GCB_OTHER = 0,
02094 U_GCB_CONTROL = 1,
02095 U_GCB_CR = 2,
02096 U_GCB_EXTEND = 3,
02097 U_GCB_L = 4,
02098 U_GCB_LF = 5,
02099 U_GCB_LV = 6,
02100 U_GCB_LVT = 7,
02101 U_GCB_T = 8,
02102 U_GCB_V = 9,
02104 U_GCB_SPACING_MARK = 10,
02106 U_GCB_PREPEND = 11,
02108 U_GCB_REGIONAL_INDICATOR = 12,
02110 U_GCB_E_BASE = 13,
02112 U_GCB_E_BASE_GAZ = 14,
02114 U_GCB_E_MODIFIER = 15,
02116 U_GCB_GLUE_AFTER_ZWJ = 16,
02118 U_GCB_ZWJ = 17,
02119
02120 #ifndef U_HIDE_DEPRECATED_API
02121
02127 U_GCB_COUNT = 18
02128 #endif // U_HIDE_DEPRECATED_API
02129 } UGraphemeClusterBreak;
02130
02138 typedef enum UWordBreakValues {
02139
02140
02141
02142
02143
02144
02145 U_WB_OTHER = 0,
02146 U_WB_ALETTER = 1,
02147 U_WB_FORMAT = 2,
02148 U_WB_KATAKANA = 3,
02149 U_WB_MIDLETTER = 4,
02150 U_WB_MIDNUM = 5,
02151 U_WB_NUMERIC = 6,
02152 U_WB_EXTENDNUMLET = 7,
02154 U_WB_CR = 8,
02156 U_WB_EXTEND = 9,
02158 U_WB_LF = 10,
02160 U_WB_MIDNUMLET =11,
02162 U_WB_NEWLINE =12,
02164 U_WB_REGIONAL_INDICATOR = 13,
02166 U_WB_HEBREW_LETTER = 14,
02168 U_WB_SINGLE_QUOTE = 15,
02170 U_WB_DOUBLE_QUOTE = 16,
02172 U_WB_E_BASE = 17,
02174 U_WB_E_BASE_GAZ = 18,
02176 U_WB_E_MODIFIER = 19,
02178 U_WB_GLUE_AFTER_ZWJ = 20,
02180 U_WB_ZWJ = 21,
02182 U_WB_WSEGSPACE = 22,
02183
02184 #ifndef U_HIDE_DEPRECATED_API
02185
02191 U_WB_COUNT = 23
02192 #endif // U_HIDE_DEPRECATED_API
02193 } UWordBreakValues;
02194
02201 typedef enum USentenceBreak {
02202
02203
02204
02205
02206
02207
02208 U_SB_OTHER = 0,
02209 U_SB_ATERM = 1,
02210 U_SB_CLOSE = 2,
02211 U_SB_FORMAT = 3,
02212 U_SB_LOWER = 4,
02213 U_SB_NUMERIC = 5,
02214 U_SB_OLETTER = 6,
02215 U_SB_SEP = 7,
02216 U_SB_SP = 8,
02217 U_SB_STERM = 9,
02218 U_SB_UPPER = 10,
02219 U_SB_CR = 11,
02220 U_SB_EXTEND = 12,
02221 U_SB_LF = 13,
02222 U_SB_SCONTINUE = 14,
02223 #ifndef U_HIDE_DEPRECATED_API
02224
02230 U_SB_COUNT = 15
02231 #endif // U_HIDE_DEPRECATED_API
02232 } USentenceBreak;
02233
02240 typedef enum ULineBreak {
02241
02242
02243
02244
02245
02246
02247 U_LB_UNKNOWN = 0,
02248 U_LB_AMBIGUOUS = 1,
02249 U_LB_ALPHABETIC = 2,
02250 U_LB_BREAK_BOTH = 3,
02251 U_LB_BREAK_AFTER = 4,
02252 U_LB_BREAK_BEFORE = 5,
02253 U_LB_MANDATORY_BREAK = 6,
02254 U_LB_CONTINGENT_BREAK = 7,
02255 U_LB_CLOSE_PUNCTUATION = 8,
02256 U_LB_COMBINING_MARK = 9,
02257 U_LB_CARRIAGE_RETURN = 10,
02258 U_LB_EXCLAMATION = 11,
02259 U_LB_GLUE = 12,
02260 U_LB_HYPHEN = 13,
02261 U_LB_IDEOGRAPHIC = 14,
02263 U_LB_INSEPARABLE = 15,
02264 U_LB_INSEPERABLE = U_LB_INSEPARABLE,
02265 U_LB_INFIX_NUMERIC = 16,
02266 U_LB_LINE_FEED = 17,
02267 U_LB_NONSTARTER = 18,
02268 U_LB_NUMERIC = 19,
02269 U_LB_OPEN_PUNCTUATION = 20,
02270 U_LB_POSTFIX_NUMERIC = 21,
02271 U_LB_PREFIX_NUMERIC = 22,
02272 U_LB_QUOTATION = 23,
02273 U_LB_COMPLEX_CONTEXT = 24,
02274 U_LB_SURROGATE = 25,
02275 U_LB_SPACE = 26,
02276 U_LB_BREAK_SYMBOLS = 27,
02277 U_LB_ZWSPACE = 28,
02279 U_LB_NEXT_LINE = 29,
02281 U_LB_WORD_JOINER = 30,
02283 U_LB_H2 = 31,
02285 U_LB_H3 = 32,
02287 U_LB_JL = 33,
02289 U_LB_JT = 34,
02291 U_LB_JV = 35,
02293 U_LB_CLOSE_PARENTHESIS = 36,
02295 U_LB_CONDITIONAL_JAPANESE_STARTER = 37,
02297 U_LB_HEBREW_LETTER = 38,
02299 U_LB_REGIONAL_INDICATOR = 39,
02301 U_LB_E_BASE = 40,
02303 U_LB_E_MODIFIER = 41,
02305 U_LB_ZWJ = 42,
02306 #ifndef U_HIDE_DEPRECATED_API
02307
02313 U_LB_COUNT = 43
02314 #endif // U_HIDE_DEPRECATED_API
02315 } ULineBreak;
02316
02323 typedef enum UNumericType {
02324
02325
02326
02327
02328
02329
02330 U_NT_NONE,
02331 U_NT_DECIMAL,
02332 U_NT_DIGIT,
02333 U_NT_NUMERIC,
02334 #ifndef U_HIDE_DEPRECATED_API
02335
02341 U_NT_COUNT
02342 #endif // U_HIDE_DEPRECATED_API
02343 } UNumericType;
02344
02351 typedef enum UHangulSyllableType {
02352
02353
02354
02355
02356
02357
02358 U_HST_NOT_APPLICABLE,
02359 U_HST_LEADING_JAMO,
02360 U_HST_VOWEL_JAMO,
02361 U_HST_TRAILING_JAMO,
02362 U_HST_LV_SYLLABLE,
02363 U_HST_LVT_SYLLABLE,
02364 #ifndef U_HIDE_DEPRECATED_API
02365
02371 U_HST_COUNT
02372 #endif // U_HIDE_DEPRECATED_API
02373 } UHangulSyllableType;
02374
02381 typedef enum UIndicPositionalCategory {
02382
02383
02384
02385
02386
02387
02389 U_INPC_NA,
02391 U_INPC_BOTTOM,
02393 U_INPC_BOTTOM_AND_LEFT,
02395 U_INPC_BOTTOM_AND_RIGHT,
02397 U_INPC_LEFT,
02399 U_INPC_LEFT_AND_RIGHT,
02401 U_INPC_OVERSTRUCK,
02403 U_INPC_RIGHT,
02405 U_INPC_TOP,
02407 U_INPC_TOP_AND_BOTTOM,
02409 U_INPC_TOP_AND_BOTTOM_AND_RIGHT,
02411 U_INPC_TOP_AND_LEFT,
02413 U_INPC_TOP_AND_LEFT_AND_RIGHT,
02415 U_INPC_TOP_AND_RIGHT,
02417 U_INPC_VISUAL_ORDER_LEFT,
02418 } UIndicPositionalCategory;
02419
02426 typedef enum UIndicSyllabicCategory {
02427
02428
02429
02430
02431
02432
02434 U_INSC_OTHER,
02436 U_INSC_AVAGRAHA,
02438 U_INSC_BINDU,
02440 U_INSC_BRAHMI_JOINING_NUMBER,
02442 U_INSC_CANTILLATION_MARK,
02444 U_INSC_CONSONANT,
02446 U_INSC_CONSONANT_DEAD,
02448 U_INSC_CONSONANT_FINAL,
02450 U_INSC_CONSONANT_HEAD_LETTER,
02452 U_INSC_CONSONANT_INITIAL_POSTFIXED,
02454 U_INSC_CONSONANT_KILLER,
02456 U_INSC_CONSONANT_MEDIAL,
02458 U_INSC_CONSONANT_PLACEHOLDER,
02460 U_INSC_CONSONANT_PRECEDING_REPHA,
02462 U_INSC_CONSONANT_PREFIXED,
02464 U_INSC_CONSONANT_SUBJOINED,
02466 U_INSC_CONSONANT_SUCCEEDING_REPHA,
02468 U_INSC_CONSONANT_WITH_STACKER,
02470 U_INSC_GEMINATION_MARK,
02472 U_INSC_INVISIBLE_STACKER,
02474 U_INSC_JOINER,
02476 U_INSC_MODIFYING_LETTER,
02478 U_INSC_NON_JOINER,
02480 U_INSC_NUKTA,
02482 U_INSC_NUMBER,
02484 U_INSC_NUMBER_JOINER,
02486 U_INSC_PURE_KILLER,
02488 U_INSC_REGISTER_SHIFTER,
02490 U_INSC_SYLLABLE_MODIFIER,
02492 U_INSC_TONE_LETTER,
02494 U_INSC_TONE_MARK,
02496 U_INSC_VIRAMA,
02498 U_INSC_VISARGA,
02500 U_INSC_VOWEL,
02502 U_INSC_VOWEL_DEPENDENT,
02504 U_INSC_VOWEL_INDEPENDENT,
02505 } UIndicSyllabicCategory;
02506
02513 typedef enum UVerticalOrientation {
02514
02515
02516
02517
02518
02519
02521 U_VO_ROTATED,
02523 U_VO_TRANSFORMED_ROTATED,
02525 U_VO_TRANSFORMED_UPRIGHT,
02527 U_VO_UPRIGHT,
02528 } UVerticalOrientation;
02529
02557 U_STABLE UBool U_EXPORT2
02558 u_hasBinaryProperty(UChar32 c, UProperty which);
02559
02560 #ifndef U_HIDE_DRAFT_API
02561
02577 U_CAPI const USet * U_EXPORT2
02578 u_getBinaryPropertySet(UProperty property, UErrorCode *pErrorCode);
02579
02580 #endif // U_HIDE_DRAFT_API
02581
02594 U_STABLE UBool U_EXPORT2
02595 u_isUAlphabetic(UChar32 c);
02596
02609 U_STABLE UBool U_EXPORT2
02610 u_isULowercase(UChar32 c);
02611
02624 U_STABLE UBool U_EXPORT2
02625 u_isUUppercase(UChar32 c);
02626
02645 U_STABLE UBool U_EXPORT2
02646 u_isUWhiteSpace(UChar32 c);
02647
02686 U_STABLE int32_t U_EXPORT2
02687 u_getIntPropertyValue(UChar32 c, UProperty which);
02688
02707 U_STABLE int32_t U_EXPORT2
02708 u_getIntPropertyMinValue(UProperty which);
02709
02736 U_STABLE int32_t U_EXPORT2
02737 u_getIntPropertyMaxValue(UProperty which);
02738
02739 #ifndef U_HIDE_DRAFT_API
02740
02756 U_CAPI const UCPMap * U_EXPORT2
02757 u_getIntPropertyMap(UProperty property, UErrorCode *pErrorCode);
02758
02759 #endif // U_HIDE_DRAFT_API
02760
02783 U_STABLE double U_EXPORT2
02784 u_getNumericValue(UChar32 c);
02785
02793 #define U_NO_NUMERIC_VALUE ((double)-123456789.)
02794
02818 U_STABLE UBool U_EXPORT2
02819 u_islower(UChar32 c);
02820
02845 U_STABLE UBool U_EXPORT2
02846 u_isupper(UChar32 c);
02847
02862 U_STABLE UBool U_EXPORT2
02863 u_istitle(UChar32 c);
02864
02883 U_STABLE UBool U_EXPORT2
02884 u_isdigit(UChar32 c);
02885
02904 U_STABLE UBool U_EXPORT2
02905 u_isalpha(UChar32 c);
02906
02925 U_STABLE UBool U_EXPORT2
02926 u_isalnum(UChar32 c);
02927
02948 U_STABLE UBool U_EXPORT2
02949 u_isxdigit(UChar32 c);
02950
02964 U_STABLE UBool U_EXPORT2
02965 u_ispunct(UChar32 c);
02966
02983 U_STABLE UBool U_EXPORT2
02984 u_isgraph(UChar32 c);
02985
03011 U_STABLE UBool U_EXPORT2
03012 u_isblank(UChar32 c);
03013
03036 U_STABLE UBool U_EXPORT2
03037 u_isdefined(UChar32 c);
03038
03057 U_STABLE UBool U_EXPORT2
03058 u_isspace(UChar32 c);
03059
03078 U_STABLE UBool U_EXPORT2
03079 u_isJavaSpaceChar(UChar32 c);
03080
03118 U_STABLE UBool U_EXPORT2
03119 u_isWhitespace(UChar32 c);
03120
03142 U_STABLE UBool U_EXPORT2
03143 u_iscntrl(UChar32 c);
03144
03157 U_STABLE UBool U_EXPORT2
03158 u_isISOControl(UChar32 c);
03159
03175 U_STABLE UBool U_EXPORT2
03176 u_isprint(UChar32 c);
03177
03196 U_STABLE UBool U_EXPORT2
03197 u_isbase(UChar32 c);
03198
03215 U_STABLE UCharDirection U_EXPORT2
03216 u_charDirection(UChar32 c);
03217
03233 U_STABLE UBool U_EXPORT2
03234 u_isMirrored(UChar32 c);
03235
03255 U_STABLE UChar32 U_EXPORT2
03256 u_charMirror(UChar32 c);
03257
03274 U_STABLE UChar32 U_EXPORT2
03275 u_getBidiPairedBracket(UChar32 c);
03276
03288 U_STABLE int8_t U_EXPORT2
03289 u_charType(UChar32 c);
03290
03304 #define U_GET_GC_MASK(c) U_MASK(u_charType(c))
03305
03323 typedef UBool U_CALLCONV
03324 UCharEnumTypeRange(const void *context, UChar32 start, UChar32 limit, UCharCategory type);
03325
03345 U_STABLE void U_EXPORT2
03346 u_enumCharTypes(UCharEnumTypeRange *enumRange, const void *context);
03347
03348 #if !UCONFIG_NO_NORMALIZATION
03349
03357 U_STABLE uint8_t U_EXPORT2
03358 u_getCombiningClass(UChar32 c);
03359
03360 #endif
03361
03385 U_STABLE int32_t U_EXPORT2
03386 u_charDigitValue(UChar32 c);
03387
03397 U_STABLE UBlockCode U_EXPORT2
03398 ublock_getCode(UChar32 c);
03399
03432 U_STABLE int32_t U_EXPORT2
03433 u_charName(UChar32 code, UCharNameChoice nameChoice,
03434 char *buffer, int32_t bufferLength,
03435 UErrorCode *pErrorCode);
03436
03437 #ifndef U_HIDE_DEPRECATED_API
03438
03456 U_DEPRECATED int32_t U_EXPORT2
03457 u_getISOComment(UChar32 c,
03458 char *dest, int32_t destCapacity,
03459 UErrorCode *pErrorCode);
03460 #endif
03461
03482 U_STABLE UChar32 U_EXPORT2
03483 u_charFromName(UCharNameChoice nameChoice,
03484 const char *name,
03485 UErrorCode *pErrorCode);
03486
03504 typedef UBool U_CALLCONV UEnumCharNamesFn(void *context,
03505 UChar32 code,
03506 UCharNameChoice nameChoice,
03507 const char *name,
03508 int32_t length);
03509
03531 U_STABLE void U_EXPORT2
03532 u_enumCharNames(UChar32 start, UChar32 limit,
03533 UEnumCharNamesFn *fn,
03534 void *context,
03535 UCharNameChoice nameChoice,
03536 UErrorCode *pErrorCode);
03537
03569 U_STABLE const char* U_EXPORT2
03570 u_getPropertyName(UProperty property,
03571 UPropertyNameChoice nameChoice);
03572
03592 U_STABLE UProperty U_EXPORT2
03593 u_getPropertyEnum(const char* alias);
03594
03642 U_STABLE const char* U_EXPORT2
03643 u_getPropertyValueName(UProperty property,
03644 int32_t value,
03645 UPropertyNameChoice nameChoice);
03646
03678 U_STABLE int32_t U_EXPORT2
03679 u_getPropertyValueEnum(UProperty property,
03680 const char* alias);
03681
03699 U_STABLE UBool U_EXPORT2
03700 u_isIDStart(UChar32 c);
03701
03723 U_STABLE UBool U_EXPORT2
03724 u_isIDPart(UChar32 c);
03725
03746 U_STABLE UBool U_EXPORT2
03747 u_isIDIgnorable(UChar32 c);
03748
03765 U_STABLE UBool U_EXPORT2
03766 u_isJavaIDStart(UChar32 c);
03767
03786 U_STABLE UBool U_EXPORT2
03787 u_isJavaIDPart(UChar32 c);
03788
03811 U_STABLE UChar32 U_EXPORT2
03812 u_tolower(UChar32 c);
03813
03836 U_STABLE UChar32 U_EXPORT2
03837 u_toupper(UChar32 c);
03838
03861 U_STABLE UChar32 U_EXPORT2
03862 u_totitle(UChar32 c);
03863
03886 U_STABLE UChar32 U_EXPORT2
03887 u_foldCase(UChar32 c, uint32_t options);
03888
03927 U_STABLE int32_t U_EXPORT2
03928 u_digit(UChar32 ch, int8_t radix);
03929
03958 U_STABLE UChar32 U_EXPORT2
03959 u_forDigit(int32_t digit, int8_t radix);
03960
03975 U_STABLE void U_EXPORT2
03976 u_charAge(UChar32 c, UVersionInfo versionArray);
03977
03989 U_STABLE void U_EXPORT2
03990 u_getUnicodeVersion(UVersionInfo versionArray);
03991
03992 #if !UCONFIG_NO_NORMALIZATION
03993
04014 U_STABLE int32_t U_EXPORT2
04015 u_getFC_NFKC_Closure(UChar32 c, UChar *dest, int32_t destCapacity, UErrorCode *pErrorCode);
04016
04017 #endif
04018
04019
04020 U_CDECL_END
04021
04022 #endif
04023