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 "12.1"
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 #ifndef U_HIDE_DEPRECATED_API
01792
01798 UBLOCK_COUNT = 301,
01799 #endif // U_HIDE_DEPRECATED_API
01800
01802 UBLOCK_INVALID_CODE=-1
01803 };
01804
01806 typedef enum UBlockCode UBlockCode;
01807
01815 typedef enum UEastAsianWidth {
01816
01817
01818
01819
01820
01821
01822 U_EA_NEUTRAL,
01823 U_EA_AMBIGUOUS,
01824 U_EA_HALFWIDTH,
01825 U_EA_FULLWIDTH,
01826 U_EA_NARROW,
01827 U_EA_WIDE,
01828 #ifndef U_HIDE_DEPRECATED_API
01829
01835 U_EA_COUNT
01836 #endif // U_HIDE_DEPRECATED_API
01837 } UEastAsianWidth;
01838
01850 typedef enum UCharNameChoice {
01852 U_UNICODE_CHAR_NAME,
01853 #ifndef U_HIDE_DEPRECATED_API
01854
01859 U_UNICODE_10_CHAR_NAME,
01860 #endif
01861
01862 U_EXTENDED_CHAR_NAME = U_UNICODE_CHAR_NAME+2,
01864 U_CHAR_NAME_ALIAS,
01865 #ifndef U_HIDE_DEPRECATED_API
01866
01870 U_CHAR_NAME_CHOICE_COUNT
01871 #endif // U_HIDE_DEPRECATED_API
01872 } UCharNameChoice;
01873
01887 typedef enum UPropertyNameChoice {
01888 U_SHORT_PROPERTY_NAME,
01889 U_LONG_PROPERTY_NAME,
01890 #ifndef U_HIDE_DEPRECATED_API
01891
01895 U_PROPERTY_NAME_CHOICE_COUNT
01896 #endif // U_HIDE_DEPRECATED_API
01897 } UPropertyNameChoice;
01898
01905 typedef enum UDecompositionType {
01906
01907
01908
01909
01910
01911
01912 U_DT_NONE,
01913 U_DT_CANONICAL,
01914 U_DT_COMPAT,
01915 U_DT_CIRCLE,
01916 U_DT_FINAL,
01917 U_DT_FONT,
01918 U_DT_FRACTION,
01919 U_DT_INITIAL,
01920 U_DT_ISOLATED,
01921 U_DT_MEDIAL,
01922 U_DT_NARROW,
01923 U_DT_NOBREAK,
01924 U_DT_SMALL,
01925 U_DT_SQUARE,
01926 U_DT_SUB,
01927 U_DT_SUPER,
01928 U_DT_VERTICAL,
01929 U_DT_WIDE,
01930 #ifndef U_HIDE_DEPRECATED_API
01931
01937 U_DT_COUNT
01938 #endif // U_HIDE_DEPRECATED_API
01939 } UDecompositionType;
01940
01947 typedef enum UJoiningType {
01948
01949
01950
01951
01952
01953
01954 U_JT_NON_JOINING,
01955 U_JT_JOIN_CAUSING,
01956 U_JT_DUAL_JOINING,
01957 U_JT_LEFT_JOINING,
01958 U_JT_RIGHT_JOINING,
01959 U_JT_TRANSPARENT,
01960 #ifndef U_HIDE_DEPRECATED_API
01961
01967 U_JT_COUNT
01968 #endif // U_HIDE_DEPRECATED_API
01969 } UJoiningType;
01970
01977 typedef enum UJoiningGroup {
01978
01979
01980
01981
01982
01983
01984 U_JG_NO_JOINING_GROUP,
01985 U_JG_AIN,
01986 U_JG_ALAPH,
01987 U_JG_ALEF,
01988 U_JG_BEH,
01989 U_JG_BETH,
01990 U_JG_DAL,
01991 U_JG_DALATH_RISH,
01992 U_JG_E,
01993 U_JG_FEH,
01994 U_JG_FINAL_SEMKATH,
01995 U_JG_GAF,
01996 U_JG_GAMAL,
01997 U_JG_HAH,
01998 U_JG_TEH_MARBUTA_GOAL,
01999 U_JG_HAMZA_ON_HEH_GOAL=U_JG_TEH_MARBUTA_GOAL,
02000 U_JG_HE,
02001 U_JG_HEH,
02002 U_JG_HEH_GOAL,
02003 U_JG_HETH,
02004 U_JG_KAF,
02005 U_JG_KAPH,
02006 U_JG_KNOTTED_HEH,
02007 U_JG_LAM,
02008 U_JG_LAMADH,
02009 U_JG_MEEM,
02010 U_JG_MIM,
02011 U_JG_NOON,
02012 U_JG_NUN,
02013 U_JG_PE,
02014 U_JG_QAF,
02015 U_JG_QAPH,
02016 U_JG_REH,
02017 U_JG_REVERSED_PE,
02018 U_JG_SAD,
02019 U_JG_SADHE,
02020 U_JG_SEEN,
02021 U_JG_SEMKATH,
02022 U_JG_SHIN,
02023 U_JG_SWASH_KAF,
02024 U_JG_SYRIAC_WAW,
02025 U_JG_TAH,
02026 U_JG_TAW,
02027 U_JG_TEH_MARBUTA,
02028 U_JG_TETH,
02029 U_JG_WAW,
02030 U_JG_YEH,
02031 U_JG_YEH_BARREE,
02032 U_JG_YEH_WITH_TAIL,
02033 U_JG_YUDH,
02034 U_JG_YUDH_HE,
02035 U_JG_ZAIN,
02036 U_JG_FE,
02037 U_JG_KHAPH,
02038 U_JG_ZHAIN,
02039 U_JG_BURUSHASKI_YEH_BARREE,
02040 U_JG_FARSI_YEH,
02041 U_JG_NYA,
02042 U_JG_ROHINGYA_YEH,
02043 U_JG_MANICHAEAN_ALEPH,
02044 U_JG_MANICHAEAN_AYIN,
02045 U_JG_MANICHAEAN_BETH,
02046 U_JG_MANICHAEAN_DALETH,
02047 U_JG_MANICHAEAN_DHAMEDH,
02048 U_JG_MANICHAEAN_FIVE,
02049 U_JG_MANICHAEAN_GIMEL,
02050 U_JG_MANICHAEAN_HETH,
02051 U_JG_MANICHAEAN_HUNDRED,
02052 U_JG_MANICHAEAN_KAPH,
02053 U_JG_MANICHAEAN_LAMEDH,
02054 U_JG_MANICHAEAN_MEM,
02055 U_JG_MANICHAEAN_NUN,
02056 U_JG_MANICHAEAN_ONE,
02057 U_JG_MANICHAEAN_PE,
02058 U_JG_MANICHAEAN_QOPH,
02059 U_JG_MANICHAEAN_RESH,
02060 U_JG_MANICHAEAN_SADHE,
02061 U_JG_MANICHAEAN_SAMEKH,
02062 U_JG_MANICHAEAN_TAW,
02063 U_JG_MANICHAEAN_TEN,
02064 U_JG_MANICHAEAN_TETH,
02065 U_JG_MANICHAEAN_THAMEDH,
02066 U_JG_MANICHAEAN_TWENTY,
02067 U_JG_MANICHAEAN_WAW,
02068 U_JG_MANICHAEAN_YODH,
02069 U_JG_MANICHAEAN_ZAYIN,
02070 U_JG_STRAIGHT_WAW,
02071 U_JG_AFRICAN_FEH,
02072 U_JG_AFRICAN_NOON,
02073 U_JG_AFRICAN_QAF,
02075 U_JG_MALAYALAM_BHA,
02076 U_JG_MALAYALAM_JA,
02077 U_JG_MALAYALAM_LLA,
02078 U_JG_MALAYALAM_LLLA,
02079 U_JG_MALAYALAM_NGA,
02080 U_JG_MALAYALAM_NNA,
02081 U_JG_MALAYALAM_NNNA,
02082 U_JG_MALAYALAM_NYA,
02083 U_JG_MALAYALAM_RA,
02084 U_JG_MALAYALAM_SSA,
02085 U_JG_MALAYALAM_TTA,
02087 U_JG_HANIFI_ROHINGYA_KINNA_YA,
02088 U_JG_HANIFI_ROHINGYA_PA,
02090 #ifndef U_HIDE_DEPRECATED_API
02091
02097 U_JG_COUNT
02098 #endif // U_HIDE_DEPRECATED_API
02099 } UJoiningGroup;
02100
02107 typedef enum UGraphemeClusterBreak {
02108
02109
02110
02111
02112
02113
02114 U_GCB_OTHER = 0,
02115 U_GCB_CONTROL = 1,
02116 U_GCB_CR = 2,
02117 U_GCB_EXTEND = 3,
02118 U_GCB_L = 4,
02119 U_GCB_LF = 5,
02120 U_GCB_LV = 6,
02121 U_GCB_LVT = 7,
02122 U_GCB_T = 8,
02123 U_GCB_V = 9,
02125 U_GCB_SPACING_MARK = 10,
02127 U_GCB_PREPEND = 11,
02129 U_GCB_REGIONAL_INDICATOR = 12,
02131 U_GCB_E_BASE = 13,
02133 U_GCB_E_BASE_GAZ = 14,
02135 U_GCB_E_MODIFIER = 15,
02137 U_GCB_GLUE_AFTER_ZWJ = 16,
02139 U_GCB_ZWJ = 17,
02140
02141 #ifndef U_HIDE_DEPRECATED_API
02142
02148 U_GCB_COUNT = 18
02149 #endif // U_HIDE_DEPRECATED_API
02150 } UGraphemeClusterBreak;
02151
02159 typedef enum UWordBreakValues {
02160
02161
02162
02163
02164
02165
02166 U_WB_OTHER = 0,
02167 U_WB_ALETTER = 1,
02168 U_WB_FORMAT = 2,
02169 U_WB_KATAKANA = 3,
02170 U_WB_MIDLETTER = 4,
02171 U_WB_MIDNUM = 5,
02172 U_WB_NUMERIC = 6,
02173 U_WB_EXTENDNUMLET = 7,
02175 U_WB_CR = 8,
02177 U_WB_EXTEND = 9,
02179 U_WB_LF = 10,
02181 U_WB_MIDNUMLET =11,
02183 U_WB_NEWLINE =12,
02185 U_WB_REGIONAL_INDICATOR = 13,
02187 U_WB_HEBREW_LETTER = 14,
02189 U_WB_SINGLE_QUOTE = 15,
02191 U_WB_DOUBLE_QUOTE = 16,
02193 U_WB_E_BASE = 17,
02195 U_WB_E_BASE_GAZ = 18,
02197 U_WB_E_MODIFIER = 19,
02199 U_WB_GLUE_AFTER_ZWJ = 20,
02201 U_WB_ZWJ = 21,
02203 U_WB_WSEGSPACE = 22,
02204
02205 #ifndef U_HIDE_DEPRECATED_API
02206
02212 U_WB_COUNT = 23
02213 #endif // U_HIDE_DEPRECATED_API
02214 } UWordBreakValues;
02215
02222 typedef enum USentenceBreak {
02223
02224
02225
02226
02227
02228
02229 U_SB_OTHER = 0,
02230 U_SB_ATERM = 1,
02231 U_SB_CLOSE = 2,
02232 U_SB_FORMAT = 3,
02233 U_SB_LOWER = 4,
02234 U_SB_NUMERIC = 5,
02235 U_SB_OLETTER = 6,
02236 U_SB_SEP = 7,
02237 U_SB_SP = 8,
02238 U_SB_STERM = 9,
02239 U_SB_UPPER = 10,
02240 U_SB_CR = 11,
02241 U_SB_EXTEND = 12,
02242 U_SB_LF = 13,
02243 U_SB_SCONTINUE = 14,
02244 #ifndef U_HIDE_DEPRECATED_API
02245
02251 U_SB_COUNT = 15
02252 #endif // U_HIDE_DEPRECATED_API
02253 } USentenceBreak;
02254
02261 typedef enum ULineBreak {
02262
02263
02264
02265
02266
02267
02268 U_LB_UNKNOWN = 0,
02269 U_LB_AMBIGUOUS = 1,
02270 U_LB_ALPHABETIC = 2,
02271 U_LB_BREAK_BOTH = 3,
02272 U_LB_BREAK_AFTER = 4,
02273 U_LB_BREAK_BEFORE = 5,
02274 U_LB_MANDATORY_BREAK = 6,
02275 U_LB_CONTINGENT_BREAK = 7,
02276 U_LB_CLOSE_PUNCTUATION = 8,
02277 U_LB_COMBINING_MARK = 9,
02278 U_LB_CARRIAGE_RETURN = 10,
02279 U_LB_EXCLAMATION = 11,
02280 U_LB_GLUE = 12,
02281 U_LB_HYPHEN = 13,
02282 U_LB_IDEOGRAPHIC = 14,
02284 U_LB_INSEPARABLE = 15,
02285 U_LB_INSEPERABLE = U_LB_INSEPARABLE,
02286 U_LB_INFIX_NUMERIC = 16,
02287 U_LB_LINE_FEED = 17,
02288 U_LB_NONSTARTER = 18,
02289 U_LB_NUMERIC = 19,
02290 U_LB_OPEN_PUNCTUATION = 20,
02291 U_LB_POSTFIX_NUMERIC = 21,
02292 U_LB_PREFIX_NUMERIC = 22,
02293 U_LB_QUOTATION = 23,
02294 U_LB_COMPLEX_CONTEXT = 24,
02295 U_LB_SURROGATE = 25,
02296 U_LB_SPACE = 26,
02297 U_LB_BREAK_SYMBOLS = 27,
02298 U_LB_ZWSPACE = 28,
02300 U_LB_NEXT_LINE = 29,
02302 U_LB_WORD_JOINER = 30,
02304 U_LB_H2 = 31,
02306 U_LB_H3 = 32,
02308 U_LB_JL = 33,
02310 U_LB_JT = 34,
02312 U_LB_JV = 35,
02314 U_LB_CLOSE_PARENTHESIS = 36,
02316 U_LB_CONDITIONAL_JAPANESE_STARTER = 37,
02318 U_LB_HEBREW_LETTER = 38,
02320 U_LB_REGIONAL_INDICATOR = 39,
02322 U_LB_E_BASE = 40,
02324 U_LB_E_MODIFIER = 41,
02326 U_LB_ZWJ = 42,
02327 #ifndef U_HIDE_DEPRECATED_API
02328
02334 U_LB_COUNT = 43
02335 #endif // U_HIDE_DEPRECATED_API
02336 } ULineBreak;
02337
02344 typedef enum UNumericType {
02345
02346
02347
02348
02349
02350
02351 U_NT_NONE,
02352 U_NT_DECIMAL,
02353 U_NT_DIGIT,
02354 U_NT_NUMERIC,
02355 #ifndef U_HIDE_DEPRECATED_API
02356
02362 U_NT_COUNT
02363 #endif // U_HIDE_DEPRECATED_API
02364 } UNumericType;
02365
02372 typedef enum UHangulSyllableType {
02373
02374
02375
02376
02377
02378
02379 U_HST_NOT_APPLICABLE,
02380 U_HST_LEADING_JAMO,
02381 U_HST_VOWEL_JAMO,
02382 U_HST_TRAILING_JAMO,
02383 U_HST_LV_SYLLABLE,
02384 U_HST_LVT_SYLLABLE,
02385 #ifndef U_HIDE_DEPRECATED_API
02386
02392 U_HST_COUNT
02393 #endif // U_HIDE_DEPRECATED_API
02394 } UHangulSyllableType;
02395
02402 typedef enum UIndicPositionalCategory {
02403
02404
02405
02406
02407
02408
02410 U_INPC_NA,
02412 U_INPC_BOTTOM,
02414 U_INPC_BOTTOM_AND_LEFT,
02416 U_INPC_BOTTOM_AND_RIGHT,
02418 U_INPC_LEFT,
02420 U_INPC_LEFT_AND_RIGHT,
02422 U_INPC_OVERSTRUCK,
02424 U_INPC_RIGHT,
02426 U_INPC_TOP,
02428 U_INPC_TOP_AND_BOTTOM,
02430 U_INPC_TOP_AND_BOTTOM_AND_RIGHT,
02432 U_INPC_TOP_AND_LEFT,
02434 U_INPC_TOP_AND_LEFT_AND_RIGHT,
02436 U_INPC_TOP_AND_RIGHT,
02438 U_INPC_VISUAL_ORDER_LEFT,
02439 } UIndicPositionalCategory;
02440
02447 typedef enum UIndicSyllabicCategory {
02448
02449
02450
02451
02452
02453
02455 U_INSC_OTHER,
02457 U_INSC_AVAGRAHA,
02459 U_INSC_BINDU,
02461 U_INSC_BRAHMI_JOINING_NUMBER,
02463 U_INSC_CANTILLATION_MARK,
02465 U_INSC_CONSONANT,
02467 U_INSC_CONSONANT_DEAD,
02469 U_INSC_CONSONANT_FINAL,
02471 U_INSC_CONSONANT_HEAD_LETTER,
02473 U_INSC_CONSONANT_INITIAL_POSTFIXED,
02475 U_INSC_CONSONANT_KILLER,
02477 U_INSC_CONSONANT_MEDIAL,
02479 U_INSC_CONSONANT_PLACEHOLDER,
02481 U_INSC_CONSONANT_PRECEDING_REPHA,
02483 U_INSC_CONSONANT_PREFIXED,
02485 U_INSC_CONSONANT_SUBJOINED,
02487 U_INSC_CONSONANT_SUCCEEDING_REPHA,
02489 U_INSC_CONSONANT_WITH_STACKER,
02491 U_INSC_GEMINATION_MARK,
02493 U_INSC_INVISIBLE_STACKER,
02495 U_INSC_JOINER,
02497 U_INSC_MODIFYING_LETTER,
02499 U_INSC_NON_JOINER,
02501 U_INSC_NUKTA,
02503 U_INSC_NUMBER,
02505 U_INSC_NUMBER_JOINER,
02507 U_INSC_PURE_KILLER,
02509 U_INSC_REGISTER_SHIFTER,
02511 U_INSC_SYLLABLE_MODIFIER,
02513 U_INSC_TONE_LETTER,
02515 U_INSC_TONE_MARK,
02517 U_INSC_VIRAMA,
02519 U_INSC_VISARGA,
02521 U_INSC_VOWEL,
02523 U_INSC_VOWEL_DEPENDENT,
02525 U_INSC_VOWEL_INDEPENDENT,
02526 } UIndicSyllabicCategory;
02527
02534 typedef enum UVerticalOrientation {
02535
02536
02537
02538
02539
02540
02542 U_VO_ROTATED,
02544 U_VO_TRANSFORMED_ROTATED,
02546 U_VO_TRANSFORMED_UPRIGHT,
02548 U_VO_UPRIGHT,
02549 } UVerticalOrientation;
02550
02578 U_STABLE UBool U_EXPORT2
02579 u_hasBinaryProperty(UChar32 c, UProperty which);
02580
02596 U_CAPI const USet * U_EXPORT2
02597 u_getBinaryPropertySet(UProperty property, UErrorCode *pErrorCode);
02598
02611 U_STABLE UBool U_EXPORT2
02612 u_isUAlphabetic(UChar32 c);
02613
02626 U_STABLE UBool U_EXPORT2
02627 u_isULowercase(UChar32 c);
02628
02641 U_STABLE UBool U_EXPORT2
02642 u_isUUppercase(UChar32 c);
02643
02662 U_STABLE UBool U_EXPORT2
02663 u_isUWhiteSpace(UChar32 c);
02664
02703 U_STABLE int32_t U_EXPORT2
02704 u_getIntPropertyValue(UChar32 c, UProperty which);
02705
02724 U_STABLE int32_t U_EXPORT2
02725 u_getIntPropertyMinValue(UProperty which);
02726
02753 U_STABLE int32_t U_EXPORT2
02754 u_getIntPropertyMaxValue(UProperty which);
02755
02771 U_CAPI const UCPMap * U_EXPORT2
02772 u_getIntPropertyMap(UProperty property, UErrorCode *pErrorCode);
02773
02796 U_STABLE double U_EXPORT2
02797 u_getNumericValue(UChar32 c);
02798
02806 #define U_NO_NUMERIC_VALUE ((double)-123456789.)
02807
02831 U_STABLE UBool U_EXPORT2
02832 u_islower(UChar32 c);
02833
02858 U_STABLE UBool U_EXPORT2
02859 u_isupper(UChar32 c);
02860
02875 U_STABLE UBool U_EXPORT2
02876 u_istitle(UChar32 c);
02877
02896 U_STABLE UBool U_EXPORT2
02897 u_isdigit(UChar32 c);
02898
02917 U_STABLE UBool U_EXPORT2
02918 u_isalpha(UChar32 c);
02919
02938 U_STABLE UBool U_EXPORT2
02939 u_isalnum(UChar32 c);
02940
02961 U_STABLE UBool U_EXPORT2
02962 u_isxdigit(UChar32 c);
02963
02977 U_STABLE UBool U_EXPORT2
02978 u_ispunct(UChar32 c);
02979
02996 U_STABLE UBool U_EXPORT2
02997 u_isgraph(UChar32 c);
02998
03024 U_STABLE UBool U_EXPORT2
03025 u_isblank(UChar32 c);
03026
03049 U_STABLE UBool U_EXPORT2
03050 u_isdefined(UChar32 c);
03051
03070 U_STABLE UBool U_EXPORT2
03071 u_isspace(UChar32 c);
03072
03091 U_STABLE UBool U_EXPORT2
03092 u_isJavaSpaceChar(UChar32 c);
03093
03131 U_STABLE UBool U_EXPORT2
03132 u_isWhitespace(UChar32 c);
03133
03155 U_STABLE UBool U_EXPORT2
03156 u_iscntrl(UChar32 c);
03157
03170 U_STABLE UBool U_EXPORT2
03171 u_isISOControl(UChar32 c);
03172
03188 U_STABLE UBool U_EXPORT2
03189 u_isprint(UChar32 c);
03190
03208 U_STABLE UBool U_EXPORT2
03209 u_isbase(UChar32 c);
03210
03227 U_STABLE UCharDirection U_EXPORT2
03228 u_charDirection(UChar32 c);
03229
03245 U_STABLE UBool U_EXPORT2
03246 u_isMirrored(UChar32 c);
03247
03267 U_STABLE UChar32 U_EXPORT2
03268 u_charMirror(UChar32 c);
03269
03286 U_STABLE UChar32 U_EXPORT2
03287 u_getBidiPairedBracket(UChar32 c);
03288
03300 U_STABLE int8_t U_EXPORT2
03301 u_charType(UChar32 c);
03302
03316 #define U_GET_GC_MASK(c) U_MASK(u_charType(c))
03317
03335 typedef UBool U_CALLCONV
03336 UCharEnumTypeRange(const void *context, UChar32 start, UChar32 limit, UCharCategory type);
03337
03357 U_STABLE void U_EXPORT2
03358 u_enumCharTypes(UCharEnumTypeRange *enumRange, const void *context);
03359
03360 #if !UCONFIG_NO_NORMALIZATION
03361
03369 U_STABLE uint8_t U_EXPORT2
03370 u_getCombiningClass(UChar32 c);
03371
03372 #endif
03373
03397 U_STABLE int32_t U_EXPORT2
03398 u_charDigitValue(UChar32 c);
03399
03409 U_STABLE UBlockCode U_EXPORT2
03410 ublock_getCode(UChar32 c);
03411
03444 U_STABLE int32_t U_EXPORT2
03445 u_charName(UChar32 code, UCharNameChoice nameChoice,
03446 char *buffer, int32_t bufferLength,
03447 UErrorCode *pErrorCode);
03448
03449 #ifndef U_HIDE_DEPRECATED_API
03450
03468 U_DEPRECATED int32_t U_EXPORT2
03469 u_getISOComment(UChar32 c,
03470 char *dest, int32_t destCapacity,
03471 UErrorCode *pErrorCode);
03472 #endif
03473
03494 U_STABLE UChar32 U_EXPORT2
03495 u_charFromName(UCharNameChoice nameChoice,
03496 const char *name,
03497 UErrorCode *pErrorCode);
03498
03516 typedef UBool U_CALLCONV UEnumCharNamesFn(void *context,
03517 UChar32 code,
03518 UCharNameChoice nameChoice,
03519 const char *name,
03520 int32_t length);
03521
03543 U_STABLE void U_EXPORT2
03544 u_enumCharNames(UChar32 start, UChar32 limit,
03545 UEnumCharNamesFn *fn,
03546 void *context,
03547 UCharNameChoice nameChoice,
03548 UErrorCode *pErrorCode);
03549
03581 U_STABLE const char* U_EXPORT2
03582 u_getPropertyName(UProperty property,
03583 UPropertyNameChoice nameChoice);
03584
03604 U_STABLE UProperty U_EXPORT2
03605 u_getPropertyEnum(const char* alias);
03606
03654 U_STABLE const char* U_EXPORT2
03655 u_getPropertyValueName(UProperty property,
03656 int32_t value,
03657 UPropertyNameChoice nameChoice);
03658
03690 U_STABLE int32_t U_EXPORT2
03691 u_getPropertyValueEnum(UProperty property,
03692 const char* alias);
03693
03711 U_STABLE UBool U_EXPORT2
03712 u_isIDStart(UChar32 c);
03713
03735 U_STABLE UBool U_EXPORT2
03736 u_isIDPart(UChar32 c);
03737
03758 U_STABLE UBool U_EXPORT2
03759 u_isIDIgnorable(UChar32 c);
03760
03777 U_STABLE UBool U_EXPORT2
03778 u_isJavaIDStart(UChar32 c);
03779
03798 U_STABLE UBool U_EXPORT2
03799 u_isJavaIDPart(UChar32 c);
03800
03823 U_STABLE UChar32 U_EXPORT2
03824 u_tolower(UChar32 c);
03825
03848 U_STABLE UChar32 U_EXPORT2
03849 u_toupper(UChar32 c);
03850
03873 U_STABLE UChar32 U_EXPORT2
03874 u_totitle(UChar32 c);
03875
03898 U_STABLE UChar32 U_EXPORT2
03899 u_foldCase(UChar32 c, uint32_t options);
03900
03939 U_STABLE int32_t U_EXPORT2
03940 u_digit(UChar32 ch, int8_t radix);
03941
03970 U_STABLE UChar32 U_EXPORT2
03971 u_forDigit(int32_t digit, int8_t radix);
03972
03987 U_STABLE void U_EXPORT2
03988 u_charAge(UChar32 c, UVersionInfo versionArray);
03989
04001 U_STABLE void U_EXPORT2
04002 u_getUnicodeVersion(UVersionInfo versionArray);
04003
04004 #if !UCONFIG_NO_NORMALIZATION
04005
04026 U_STABLE int32_t U_EXPORT2
04027 u_getFC_NFKC_Closure(UChar32 c, UChar *dest, int32_t destCapacity, UErrorCode *pErrorCode);
04028
04029 #endif
04030
04031
04032 U_CDECL_END
04033
04034 #endif
04035