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 "13.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
01771
01773 UBLOCK_EGYPTIAN_HIEROGLYPH_FORMAT_CONTROLS = 292,
01775 UBLOCK_ELYMAIC = 293,
01777 UBLOCK_NANDINAGARI = 294,
01779 UBLOCK_NYIAKENG_PUACHUE_HMONG = 295,
01781 UBLOCK_OTTOMAN_SIYAQ_NUMBERS = 296,
01783 UBLOCK_SMALL_KANA_EXTENSION = 297,
01785 UBLOCK_SYMBOLS_AND_PICTOGRAPHS_EXTENDED_A = 298,
01787 UBLOCK_TAMIL_SUPPLEMENT = 299,
01789 UBLOCK_WANCHO = 300,
01790
01791
01792
01794 UBLOCK_CHORASMIAN = 301,
01796 UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_G = 302,
01798 UBLOCK_DIVES_AKURU = 303,
01800 UBLOCK_KHITAN_SMALL_SCRIPT = 304,
01802 UBLOCK_LISU_SUPPLEMENT = 305,
01804 UBLOCK_SYMBOLS_FOR_LEGACY_COMPUTING = 306,
01806 UBLOCK_TANGUT_SUPPLEMENT = 307,
01808 UBLOCK_YEZIDI = 308,
01809
01810 #ifndef U_HIDE_DEPRECATED_API
01811
01817 UBLOCK_COUNT = 309,
01818 #endif // U_HIDE_DEPRECATED_API
01819
01821 UBLOCK_INVALID_CODE=-1
01822 };
01823
01825 typedef enum UBlockCode UBlockCode;
01826
01834 typedef enum UEastAsianWidth {
01835
01836
01837
01838
01839
01840
01841 U_EA_NEUTRAL,
01842 U_EA_AMBIGUOUS,
01843 U_EA_HALFWIDTH,
01844 U_EA_FULLWIDTH,
01845 U_EA_NARROW,
01846 U_EA_WIDE,
01847 #ifndef U_HIDE_DEPRECATED_API
01848
01854 U_EA_COUNT
01855 #endif // U_HIDE_DEPRECATED_API
01856 } UEastAsianWidth;
01857
01869 typedef enum UCharNameChoice {
01871 U_UNICODE_CHAR_NAME,
01872 #ifndef U_HIDE_DEPRECATED_API
01873
01878 U_UNICODE_10_CHAR_NAME,
01879 #endif
01880
01881 U_EXTENDED_CHAR_NAME = U_UNICODE_CHAR_NAME+2,
01883 U_CHAR_NAME_ALIAS,
01884 #ifndef U_HIDE_DEPRECATED_API
01885
01889 U_CHAR_NAME_CHOICE_COUNT
01890 #endif // U_HIDE_DEPRECATED_API
01891 } UCharNameChoice;
01892
01906 typedef enum UPropertyNameChoice {
01907 U_SHORT_PROPERTY_NAME,
01908 U_LONG_PROPERTY_NAME,
01909 #ifndef U_HIDE_DEPRECATED_API
01910
01914 U_PROPERTY_NAME_CHOICE_COUNT
01915 #endif // U_HIDE_DEPRECATED_API
01916 } UPropertyNameChoice;
01917
01924 typedef enum UDecompositionType {
01925
01926
01927
01928
01929
01930
01931 U_DT_NONE,
01932 U_DT_CANONICAL,
01933 U_DT_COMPAT,
01934 U_DT_CIRCLE,
01935 U_DT_FINAL,
01936 U_DT_FONT,
01937 U_DT_FRACTION,
01938 U_DT_INITIAL,
01939 U_DT_ISOLATED,
01940 U_DT_MEDIAL,
01941 U_DT_NARROW,
01942 U_DT_NOBREAK,
01943 U_DT_SMALL,
01944 U_DT_SQUARE,
01945 U_DT_SUB,
01946 U_DT_SUPER,
01947 U_DT_VERTICAL,
01948 U_DT_WIDE,
01949 #ifndef U_HIDE_DEPRECATED_API
01950
01956 U_DT_COUNT
01957 #endif // U_HIDE_DEPRECATED_API
01958 } UDecompositionType;
01959
01966 typedef enum UJoiningType {
01967
01968
01969
01970
01971
01972
01973 U_JT_NON_JOINING,
01974 U_JT_JOIN_CAUSING,
01975 U_JT_DUAL_JOINING,
01976 U_JT_LEFT_JOINING,
01977 U_JT_RIGHT_JOINING,
01978 U_JT_TRANSPARENT,
01979 #ifndef U_HIDE_DEPRECATED_API
01980
01986 U_JT_COUNT
01987 #endif // U_HIDE_DEPRECATED_API
01988 } UJoiningType;
01989
01996 typedef enum UJoiningGroup {
01997
01998
01999
02000
02001
02002
02003 U_JG_NO_JOINING_GROUP,
02004 U_JG_AIN,
02005 U_JG_ALAPH,
02006 U_JG_ALEF,
02007 U_JG_BEH,
02008 U_JG_BETH,
02009 U_JG_DAL,
02010 U_JG_DALATH_RISH,
02011 U_JG_E,
02012 U_JG_FEH,
02013 U_JG_FINAL_SEMKATH,
02014 U_JG_GAF,
02015 U_JG_GAMAL,
02016 U_JG_HAH,
02017 U_JG_TEH_MARBUTA_GOAL,
02018 U_JG_HAMZA_ON_HEH_GOAL=U_JG_TEH_MARBUTA_GOAL,
02019 U_JG_HE,
02020 U_JG_HEH,
02021 U_JG_HEH_GOAL,
02022 U_JG_HETH,
02023 U_JG_KAF,
02024 U_JG_KAPH,
02025 U_JG_KNOTTED_HEH,
02026 U_JG_LAM,
02027 U_JG_LAMADH,
02028 U_JG_MEEM,
02029 U_JG_MIM,
02030 U_JG_NOON,
02031 U_JG_NUN,
02032 U_JG_PE,
02033 U_JG_QAF,
02034 U_JG_QAPH,
02035 U_JG_REH,
02036 U_JG_REVERSED_PE,
02037 U_JG_SAD,
02038 U_JG_SADHE,
02039 U_JG_SEEN,
02040 U_JG_SEMKATH,
02041 U_JG_SHIN,
02042 U_JG_SWASH_KAF,
02043 U_JG_SYRIAC_WAW,
02044 U_JG_TAH,
02045 U_JG_TAW,
02046 U_JG_TEH_MARBUTA,
02047 U_JG_TETH,
02048 U_JG_WAW,
02049 U_JG_YEH,
02050 U_JG_YEH_BARREE,
02051 U_JG_YEH_WITH_TAIL,
02052 U_JG_YUDH,
02053 U_JG_YUDH_HE,
02054 U_JG_ZAIN,
02055 U_JG_FE,
02056 U_JG_KHAPH,
02057 U_JG_ZHAIN,
02058 U_JG_BURUSHASKI_YEH_BARREE,
02059 U_JG_FARSI_YEH,
02060 U_JG_NYA,
02061 U_JG_ROHINGYA_YEH,
02062 U_JG_MANICHAEAN_ALEPH,
02063 U_JG_MANICHAEAN_AYIN,
02064 U_JG_MANICHAEAN_BETH,
02065 U_JG_MANICHAEAN_DALETH,
02066 U_JG_MANICHAEAN_DHAMEDH,
02067 U_JG_MANICHAEAN_FIVE,
02068 U_JG_MANICHAEAN_GIMEL,
02069 U_JG_MANICHAEAN_HETH,
02070 U_JG_MANICHAEAN_HUNDRED,
02071 U_JG_MANICHAEAN_KAPH,
02072 U_JG_MANICHAEAN_LAMEDH,
02073 U_JG_MANICHAEAN_MEM,
02074 U_JG_MANICHAEAN_NUN,
02075 U_JG_MANICHAEAN_ONE,
02076 U_JG_MANICHAEAN_PE,
02077 U_JG_MANICHAEAN_QOPH,
02078 U_JG_MANICHAEAN_RESH,
02079 U_JG_MANICHAEAN_SADHE,
02080 U_JG_MANICHAEAN_SAMEKH,
02081 U_JG_MANICHAEAN_TAW,
02082 U_JG_MANICHAEAN_TEN,
02083 U_JG_MANICHAEAN_TETH,
02084 U_JG_MANICHAEAN_THAMEDH,
02085 U_JG_MANICHAEAN_TWENTY,
02086 U_JG_MANICHAEAN_WAW,
02087 U_JG_MANICHAEAN_YODH,
02088 U_JG_MANICHAEAN_ZAYIN,
02089 U_JG_STRAIGHT_WAW,
02090 U_JG_AFRICAN_FEH,
02091 U_JG_AFRICAN_NOON,
02092 U_JG_AFRICAN_QAF,
02094 U_JG_MALAYALAM_BHA,
02095 U_JG_MALAYALAM_JA,
02096 U_JG_MALAYALAM_LLA,
02097 U_JG_MALAYALAM_LLLA,
02098 U_JG_MALAYALAM_NGA,
02099 U_JG_MALAYALAM_NNA,
02100 U_JG_MALAYALAM_NNNA,
02101 U_JG_MALAYALAM_NYA,
02102 U_JG_MALAYALAM_RA,
02103 U_JG_MALAYALAM_SSA,
02104 U_JG_MALAYALAM_TTA,
02106 U_JG_HANIFI_ROHINGYA_KINNA_YA,
02107 U_JG_HANIFI_ROHINGYA_PA,
02109 #ifndef U_HIDE_DEPRECATED_API
02110
02116 U_JG_COUNT
02117 #endif // U_HIDE_DEPRECATED_API
02118 } UJoiningGroup;
02119
02126 typedef enum UGraphemeClusterBreak {
02127
02128
02129
02130
02131
02132
02133 U_GCB_OTHER = 0,
02134 U_GCB_CONTROL = 1,
02135 U_GCB_CR = 2,
02136 U_GCB_EXTEND = 3,
02137 U_GCB_L = 4,
02138 U_GCB_LF = 5,
02139 U_GCB_LV = 6,
02140 U_GCB_LVT = 7,
02141 U_GCB_T = 8,
02142 U_GCB_V = 9,
02144 U_GCB_SPACING_MARK = 10,
02146 U_GCB_PREPEND = 11,
02148 U_GCB_REGIONAL_INDICATOR = 12,
02150 U_GCB_E_BASE = 13,
02152 U_GCB_E_BASE_GAZ = 14,
02154 U_GCB_E_MODIFIER = 15,
02156 U_GCB_GLUE_AFTER_ZWJ = 16,
02158 U_GCB_ZWJ = 17,
02159
02160 #ifndef U_HIDE_DEPRECATED_API
02161
02167 U_GCB_COUNT = 18
02168 #endif // U_HIDE_DEPRECATED_API
02169 } UGraphemeClusterBreak;
02170
02178 typedef enum UWordBreakValues {
02179
02180
02181
02182
02183
02184
02185 U_WB_OTHER = 0,
02186 U_WB_ALETTER = 1,
02187 U_WB_FORMAT = 2,
02188 U_WB_KATAKANA = 3,
02189 U_WB_MIDLETTER = 4,
02190 U_WB_MIDNUM = 5,
02191 U_WB_NUMERIC = 6,
02192 U_WB_EXTENDNUMLET = 7,
02194 U_WB_CR = 8,
02196 U_WB_EXTEND = 9,
02198 U_WB_LF = 10,
02200 U_WB_MIDNUMLET =11,
02202 U_WB_NEWLINE =12,
02204 U_WB_REGIONAL_INDICATOR = 13,
02206 U_WB_HEBREW_LETTER = 14,
02208 U_WB_SINGLE_QUOTE = 15,
02210 U_WB_DOUBLE_QUOTE = 16,
02212 U_WB_E_BASE = 17,
02214 U_WB_E_BASE_GAZ = 18,
02216 U_WB_E_MODIFIER = 19,
02218 U_WB_GLUE_AFTER_ZWJ = 20,
02220 U_WB_ZWJ = 21,
02222 U_WB_WSEGSPACE = 22,
02223
02224 #ifndef U_HIDE_DEPRECATED_API
02225
02231 U_WB_COUNT = 23
02232 #endif // U_HIDE_DEPRECATED_API
02233 } UWordBreakValues;
02234
02241 typedef enum USentenceBreak {
02242
02243
02244
02245
02246
02247
02248 U_SB_OTHER = 0,
02249 U_SB_ATERM = 1,
02250 U_SB_CLOSE = 2,
02251 U_SB_FORMAT = 3,
02252 U_SB_LOWER = 4,
02253 U_SB_NUMERIC = 5,
02254 U_SB_OLETTER = 6,
02255 U_SB_SEP = 7,
02256 U_SB_SP = 8,
02257 U_SB_STERM = 9,
02258 U_SB_UPPER = 10,
02259 U_SB_CR = 11,
02260 U_SB_EXTEND = 12,
02261 U_SB_LF = 13,
02262 U_SB_SCONTINUE = 14,
02263 #ifndef U_HIDE_DEPRECATED_API
02264
02270 U_SB_COUNT = 15
02271 #endif // U_HIDE_DEPRECATED_API
02272 } USentenceBreak;
02273
02280 typedef enum ULineBreak {
02281
02282
02283
02284
02285
02286
02287 U_LB_UNKNOWN = 0,
02288 U_LB_AMBIGUOUS = 1,
02289 U_LB_ALPHABETIC = 2,
02290 U_LB_BREAK_BOTH = 3,
02291 U_LB_BREAK_AFTER = 4,
02292 U_LB_BREAK_BEFORE = 5,
02293 U_LB_MANDATORY_BREAK = 6,
02294 U_LB_CONTINGENT_BREAK = 7,
02295 U_LB_CLOSE_PUNCTUATION = 8,
02296 U_LB_COMBINING_MARK = 9,
02297 U_LB_CARRIAGE_RETURN = 10,
02298 U_LB_EXCLAMATION = 11,
02299 U_LB_GLUE = 12,
02300 U_LB_HYPHEN = 13,
02301 U_LB_IDEOGRAPHIC = 14,
02303 U_LB_INSEPARABLE = 15,
02304 U_LB_INSEPERABLE = U_LB_INSEPARABLE,
02305 U_LB_INFIX_NUMERIC = 16,
02306 U_LB_LINE_FEED = 17,
02307 U_LB_NONSTARTER = 18,
02308 U_LB_NUMERIC = 19,
02309 U_LB_OPEN_PUNCTUATION = 20,
02310 U_LB_POSTFIX_NUMERIC = 21,
02311 U_LB_PREFIX_NUMERIC = 22,
02312 U_LB_QUOTATION = 23,
02313 U_LB_COMPLEX_CONTEXT = 24,
02314 U_LB_SURROGATE = 25,
02315 U_LB_SPACE = 26,
02316 U_LB_BREAK_SYMBOLS = 27,
02317 U_LB_ZWSPACE = 28,
02319 U_LB_NEXT_LINE = 29,
02321 U_LB_WORD_JOINER = 30,
02323 U_LB_H2 = 31,
02325 U_LB_H3 = 32,
02327 U_LB_JL = 33,
02329 U_LB_JT = 34,
02331 U_LB_JV = 35,
02333 U_LB_CLOSE_PARENTHESIS = 36,
02335 U_LB_CONDITIONAL_JAPANESE_STARTER = 37,
02337 U_LB_HEBREW_LETTER = 38,
02339 U_LB_REGIONAL_INDICATOR = 39,
02341 U_LB_E_BASE = 40,
02343 U_LB_E_MODIFIER = 41,
02345 U_LB_ZWJ = 42,
02346 #ifndef U_HIDE_DEPRECATED_API
02347
02353 U_LB_COUNT = 43
02354 #endif // U_HIDE_DEPRECATED_API
02355 } ULineBreak;
02356
02363 typedef enum UNumericType {
02364
02365
02366
02367
02368
02369
02370 U_NT_NONE,
02371 U_NT_DECIMAL,
02372 U_NT_DIGIT,
02373 U_NT_NUMERIC,
02374 #ifndef U_HIDE_DEPRECATED_API
02375
02381 U_NT_COUNT
02382 #endif // U_HIDE_DEPRECATED_API
02383 } UNumericType;
02384
02391 typedef enum UHangulSyllableType {
02392
02393
02394
02395
02396
02397
02398 U_HST_NOT_APPLICABLE,
02399 U_HST_LEADING_JAMO,
02400 U_HST_VOWEL_JAMO,
02401 U_HST_TRAILING_JAMO,
02402 U_HST_LV_SYLLABLE,
02403 U_HST_LVT_SYLLABLE,
02404 #ifndef U_HIDE_DEPRECATED_API
02405
02411 U_HST_COUNT
02412 #endif // U_HIDE_DEPRECATED_API
02413 } UHangulSyllableType;
02414
02421 typedef enum UIndicPositionalCategory {
02422
02423
02424
02425
02426
02427
02429 U_INPC_NA,
02431 U_INPC_BOTTOM,
02433 U_INPC_BOTTOM_AND_LEFT,
02435 U_INPC_BOTTOM_AND_RIGHT,
02437 U_INPC_LEFT,
02439 U_INPC_LEFT_AND_RIGHT,
02441 U_INPC_OVERSTRUCK,
02443 U_INPC_RIGHT,
02445 U_INPC_TOP,
02447 U_INPC_TOP_AND_BOTTOM,
02449 U_INPC_TOP_AND_BOTTOM_AND_RIGHT,
02451 U_INPC_TOP_AND_LEFT,
02453 U_INPC_TOP_AND_LEFT_AND_RIGHT,
02455 U_INPC_TOP_AND_RIGHT,
02457 U_INPC_VISUAL_ORDER_LEFT,
02459 U_INPC_TOP_AND_BOTTOM_AND_LEFT,
02460 } UIndicPositionalCategory;
02461
02468 typedef enum UIndicSyllabicCategory {
02469
02470
02471
02472
02473
02474
02476 U_INSC_OTHER,
02478 U_INSC_AVAGRAHA,
02480 U_INSC_BINDU,
02482 U_INSC_BRAHMI_JOINING_NUMBER,
02484 U_INSC_CANTILLATION_MARK,
02486 U_INSC_CONSONANT,
02488 U_INSC_CONSONANT_DEAD,
02490 U_INSC_CONSONANT_FINAL,
02492 U_INSC_CONSONANT_HEAD_LETTER,
02494 U_INSC_CONSONANT_INITIAL_POSTFIXED,
02496 U_INSC_CONSONANT_KILLER,
02498 U_INSC_CONSONANT_MEDIAL,
02500 U_INSC_CONSONANT_PLACEHOLDER,
02502 U_INSC_CONSONANT_PRECEDING_REPHA,
02504 U_INSC_CONSONANT_PREFIXED,
02506 U_INSC_CONSONANT_SUBJOINED,
02508 U_INSC_CONSONANT_SUCCEEDING_REPHA,
02510 U_INSC_CONSONANT_WITH_STACKER,
02512 U_INSC_GEMINATION_MARK,
02514 U_INSC_INVISIBLE_STACKER,
02516 U_INSC_JOINER,
02518 U_INSC_MODIFYING_LETTER,
02520 U_INSC_NON_JOINER,
02522 U_INSC_NUKTA,
02524 U_INSC_NUMBER,
02526 U_INSC_NUMBER_JOINER,
02528 U_INSC_PURE_KILLER,
02530 U_INSC_REGISTER_SHIFTER,
02532 U_INSC_SYLLABLE_MODIFIER,
02534 U_INSC_TONE_LETTER,
02536 U_INSC_TONE_MARK,
02538 U_INSC_VIRAMA,
02540 U_INSC_VISARGA,
02542 U_INSC_VOWEL,
02544 U_INSC_VOWEL_DEPENDENT,
02546 U_INSC_VOWEL_INDEPENDENT,
02547 } UIndicSyllabicCategory;
02548
02555 typedef enum UVerticalOrientation {
02556
02557
02558
02559
02560
02561
02563 U_VO_ROTATED,
02565 U_VO_TRANSFORMED_ROTATED,
02567 U_VO_TRANSFORMED_UPRIGHT,
02569 U_VO_UPRIGHT,
02570 } UVerticalOrientation;
02571
02599 U_STABLE UBool U_EXPORT2
02600 u_hasBinaryProperty(UChar32 c, UProperty which);
02601
02617 U_CAPI const USet * U_EXPORT2
02618 u_getBinaryPropertySet(UProperty property, UErrorCode *pErrorCode);
02619
02632 U_STABLE UBool U_EXPORT2
02633 u_isUAlphabetic(UChar32 c);
02634
02647 U_STABLE UBool U_EXPORT2
02648 u_isULowercase(UChar32 c);
02649
02662 U_STABLE UBool U_EXPORT2
02663 u_isUUppercase(UChar32 c);
02664
02683 U_STABLE UBool U_EXPORT2
02684 u_isUWhiteSpace(UChar32 c);
02685
02724 U_STABLE int32_t U_EXPORT2
02725 u_getIntPropertyValue(UChar32 c, UProperty which);
02726
02745 U_STABLE int32_t U_EXPORT2
02746 u_getIntPropertyMinValue(UProperty which);
02747
02774 U_STABLE int32_t U_EXPORT2
02775 u_getIntPropertyMaxValue(UProperty which);
02776
02792 U_CAPI const UCPMap * U_EXPORT2
02793 u_getIntPropertyMap(UProperty property, UErrorCode *pErrorCode);
02794
02817 U_STABLE double U_EXPORT2
02818 u_getNumericValue(UChar32 c);
02819
02827 #define U_NO_NUMERIC_VALUE ((double)-123456789.)
02828
02852 U_STABLE UBool U_EXPORT2
02853 u_islower(UChar32 c);
02854
02879 U_STABLE UBool U_EXPORT2
02880 u_isupper(UChar32 c);
02881
02896 U_STABLE UBool U_EXPORT2
02897 u_istitle(UChar32 c);
02898
02917 U_STABLE UBool U_EXPORT2
02918 u_isdigit(UChar32 c);
02919
02938 U_STABLE UBool U_EXPORT2
02939 u_isalpha(UChar32 c);
02940
02959 U_STABLE UBool U_EXPORT2
02960 u_isalnum(UChar32 c);
02961
02982 U_STABLE UBool U_EXPORT2
02983 u_isxdigit(UChar32 c);
02984
02998 U_STABLE UBool U_EXPORT2
02999 u_ispunct(UChar32 c);
03000
03017 U_STABLE UBool U_EXPORT2
03018 u_isgraph(UChar32 c);
03019
03045 U_STABLE UBool U_EXPORT2
03046 u_isblank(UChar32 c);
03047
03070 U_STABLE UBool U_EXPORT2
03071 u_isdefined(UChar32 c);
03072
03091 U_STABLE UBool U_EXPORT2
03092 u_isspace(UChar32 c);
03093
03112 U_STABLE UBool U_EXPORT2
03113 u_isJavaSpaceChar(UChar32 c);
03114
03152 U_STABLE UBool U_EXPORT2
03153 u_isWhitespace(UChar32 c);
03154
03176 U_STABLE UBool U_EXPORT2
03177 u_iscntrl(UChar32 c);
03178
03191 U_STABLE UBool U_EXPORT2
03192 u_isISOControl(UChar32 c);
03193
03209 U_STABLE UBool U_EXPORT2
03210 u_isprint(UChar32 c);
03211
03229 U_STABLE UBool U_EXPORT2
03230 u_isbase(UChar32 c);
03231
03248 U_STABLE UCharDirection U_EXPORT2
03249 u_charDirection(UChar32 c);
03250
03266 U_STABLE UBool U_EXPORT2
03267 u_isMirrored(UChar32 c);
03268
03288 U_STABLE UChar32 U_EXPORT2
03289 u_charMirror(UChar32 c);
03290
03307 U_STABLE UChar32 U_EXPORT2
03308 u_getBidiPairedBracket(UChar32 c);
03309
03321 U_STABLE int8_t U_EXPORT2
03322 u_charType(UChar32 c);
03323
03337 #define U_GET_GC_MASK(c) U_MASK(u_charType(c))
03338
03356 typedef UBool U_CALLCONV
03357 UCharEnumTypeRange(const void *context, UChar32 start, UChar32 limit, UCharCategory type);
03358
03378 U_STABLE void U_EXPORT2
03379 u_enumCharTypes(UCharEnumTypeRange *enumRange, const void *context);
03380
03381 #if !UCONFIG_NO_NORMALIZATION
03382
03390 U_STABLE uint8_t U_EXPORT2
03391 u_getCombiningClass(UChar32 c);
03392
03393 #endif
03394
03418 U_STABLE int32_t U_EXPORT2
03419 u_charDigitValue(UChar32 c);
03420
03430 U_STABLE UBlockCode U_EXPORT2
03431 ublock_getCode(UChar32 c);
03432
03465 U_STABLE int32_t U_EXPORT2
03466 u_charName(UChar32 code, UCharNameChoice nameChoice,
03467 char *buffer, int32_t bufferLength,
03468 UErrorCode *pErrorCode);
03469
03470 #ifndef U_HIDE_DEPRECATED_API
03471
03489 U_DEPRECATED int32_t U_EXPORT2
03490 u_getISOComment(UChar32 c,
03491 char *dest, int32_t destCapacity,
03492 UErrorCode *pErrorCode);
03493 #endif
03494
03515 U_STABLE UChar32 U_EXPORT2
03516 u_charFromName(UCharNameChoice nameChoice,
03517 const char *name,
03518 UErrorCode *pErrorCode);
03519
03537 typedef UBool U_CALLCONV UEnumCharNamesFn(void *context,
03538 UChar32 code,
03539 UCharNameChoice nameChoice,
03540 const char *name,
03541 int32_t length);
03542
03564 U_STABLE void U_EXPORT2
03565 u_enumCharNames(UChar32 start, UChar32 limit,
03566 UEnumCharNamesFn *fn,
03567 void *context,
03568 UCharNameChoice nameChoice,
03569 UErrorCode *pErrorCode);
03570
03602 U_STABLE const char* U_EXPORT2
03603 u_getPropertyName(UProperty property,
03604 UPropertyNameChoice nameChoice);
03605
03625 U_STABLE UProperty U_EXPORT2
03626 u_getPropertyEnum(const char* alias);
03627
03675 U_STABLE const char* U_EXPORT2
03676 u_getPropertyValueName(UProperty property,
03677 int32_t value,
03678 UPropertyNameChoice nameChoice);
03679
03711 U_STABLE int32_t U_EXPORT2
03712 u_getPropertyValueEnum(UProperty property,
03713 const char* alias);
03714
03732 U_STABLE UBool U_EXPORT2
03733 u_isIDStart(UChar32 c);
03734
03756 U_STABLE UBool U_EXPORT2
03757 u_isIDPart(UChar32 c);
03758
03779 U_STABLE UBool U_EXPORT2
03780 u_isIDIgnorable(UChar32 c);
03781
03798 U_STABLE UBool U_EXPORT2
03799 u_isJavaIDStart(UChar32 c);
03800
03819 U_STABLE UBool U_EXPORT2
03820 u_isJavaIDPart(UChar32 c);
03821
03844 U_STABLE UChar32 U_EXPORT2
03845 u_tolower(UChar32 c);
03846
03869 U_STABLE UChar32 U_EXPORT2
03870 u_toupper(UChar32 c);
03871
03894 U_STABLE UChar32 U_EXPORT2
03895 u_totitle(UChar32 c);
03896
03919 U_STABLE UChar32 U_EXPORT2
03920 u_foldCase(UChar32 c, uint32_t options);
03921
03960 U_STABLE int32_t U_EXPORT2
03961 u_digit(UChar32 ch, int8_t radix);
03962
03991 U_STABLE UChar32 U_EXPORT2
03992 u_forDigit(int32_t digit, int8_t radix);
03993
04008 U_STABLE void U_EXPORT2
04009 u_charAge(UChar32 c, UVersionInfo versionArray);
04010
04022 U_STABLE void U_EXPORT2
04023 u_getUnicodeVersion(UVersionInfo versionArray);
04024
04025 #if !UCONFIG_NO_NORMALIZATION
04026
04047 U_STABLE int32_t U_EXPORT2
04048 u_getFC_NFKC_Closure(UChar32 c, UChar *dest, int32_t destCapacity, UErrorCode *pErrorCode);
04049
04050 #endif
04051
04052
04053 U_CDECL_END
04054
04055 #endif
04056