00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef UCHAR_H
00024 #define UCHAR_H
00025
00026 #include "unicode/utypes.h"
00027
00028 U_CDECL_BEGIN
00029
00030
00031
00032
00042 #define U_UNICODE_VERSION "8.0"
00043
00124 #define UCHAR_MIN_VALUE 0
00125
00134 #define UCHAR_MAX_VALUE 0x10ffff
00135
00140 #define U_MASK(x) ((uint32_t)1<<(x))
00141
00161 typedef enum UProperty {
00162
00163
00164
00165
00166
00167
00168
00169
00170
00171
00172
00175 UCHAR_ALPHABETIC=0,
00177 UCHAR_BINARY_START=UCHAR_ALPHABETIC,
00179 UCHAR_ASCII_HEX_DIGIT=1,
00183 UCHAR_BIDI_CONTROL=2,
00188 UCHAR_BIDI_MIRRORED=3,
00190 UCHAR_DASH=4,
00194 UCHAR_DEFAULT_IGNORABLE_CODE_POINT=5,
00197 UCHAR_DEPRECATED=6,
00200 UCHAR_DIACRITIC=7,
00204 UCHAR_EXTENDER=8,
00208 UCHAR_FULL_COMPOSITION_EXCLUSION=9,
00212 UCHAR_GRAPHEME_BASE=10,
00216 UCHAR_GRAPHEME_EXTEND=11,
00219 UCHAR_GRAPHEME_LINK=12,
00222 UCHAR_HEX_DIGIT=13,
00225 UCHAR_HYPHEN=14,
00230 UCHAR_ID_CONTINUE=15,
00234 UCHAR_ID_START=16,
00237 UCHAR_IDEOGRAPHIC=17,
00241 UCHAR_IDS_BINARY_OPERATOR=18,
00245 UCHAR_IDS_TRINARY_OPERATOR=19,
00248 UCHAR_JOIN_CONTROL=20,
00252 UCHAR_LOGICAL_ORDER_EXCEPTION=21,
00255 UCHAR_LOWERCASE=22,
00257 UCHAR_MATH=23,
00261 UCHAR_NONCHARACTER_CODE_POINT=24,
00263 UCHAR_QUOTATION_MARK=25,
00267 UCHAR_RADICAL=26,
00272 UCHAR_SOFT_DOTTED=27,
00276 UCHAR_TERMINAL_PUNCTUATION=28,
00280 UCHAR_UNIFIED_IDEOGRAPH=29,
00283 UCHAR_UPPERCASE=30,
00287 UCHAR_WHITE_SPACE=31,
00291 UCHAR_XID_CONTINUE=32,
00294 UCHAR_XID_START=33,
00298 UCHAR_CASE_SENSITIVE=34,
00303 UCHAR_S_TERM=35,
00309 UCHAR_VARIATION_SELECTOR=36,
00316 UCHAR_NFD_INERT=37,
00323 UCHAR_NFKD_INERT=38,
00330 UCHAR_NFC_INERT=39,
00337 UCHAR_NFKC_INERT=40,
00348 UCHAR_SEGMENT_STARTER=41,
00353 UCHAR_PATTERN_SYNTAX=42,
00358 UCHAR_PATTERN_WHITE_SPACE=43,
00363 UCHAR_POSIX_ALNUM=44,
00368 UCHAR_POSIX_BLANK=45,
00373 UCHAR_POSIX_GRAPH=46,
00378 UCHAR_POSIX_PRINT=47,
00383 UCHAR_POSIX_XDIGIT=48,
00385 UCHAR_CASED=49,
00387 UCHAR_CASE_IGNORABLE=50,
00389 UCHAR_CHANGES_WHEN_LOWERCASED=51,
00391 UCHAR_CHANGES_WHEN_UPPERCASED=52,
00393 UCHAR_CHANGES_WHEN_TITLECASED=53,
00395 UCHAR_CHANGES_WHEN_CASEFOLDED=54,
00397 UCHAR_CHANGES_WHEN_CASEMAPPED=55,
00399 UCHAR_CHANGES_WHEN_NFKC_CASEFOLDED=56,
00400 #ifndef U_HIDE_DRAFT_API
00401
00407 UCHAR_EMOJI=57,
00414 UCHAR_EMOJI_PRESENTATION=58,
00421 UCHAR_EMOJI_MODIFIER=59,
00428 UCHAR_EMOJI_MODIFIER_BASE=60,
00429 #endif
00430
00431 UCHAR_BINARY_LIMIT=61,
00432
00435 UCHAR_BIDI_CLASS=0x1000,
00437 UCHAR_INT_START=UCHAR_BIDI_CLASS,
00440 UCHAR_BLOCK=0x1001,
00443 UCHAR_CANONICAL_COMBINING_CLASS=0x1002,
00446 UCHAR_DECOMPOSITION_TYPE=0x1003,
00450 UCHAR_EAST_ASIAN_WIDTH=0x1004,
00453 UCHAR_GENERAL_CATEGORY=0x1005,
00456 UCHAR_JOINING_GROUP=0x1006,
00459 UCHAR_JOINING_TYPE=0x1007,
00462 UCHAR_LINE_BREAK=0x1008,
00465 UCHAR_NUMERIC_TYPE=0x1009,
00468 UCHAR_SCRIPT=0x100A,
00471 UCHAR_HANGUL_SYLLABLE_TYPE=0x100B,
00474 UCHAR_NFD_QUICK_CHECK=0x100C,
00477 UCHAR_NFKD_QUICK_CHECK=0x100D,
00480 UCHAR_NFC_QUICK_CHECK=0x100E,
00483 UCHAR_NFKC_QUICK_CHECK=0x100F,
00490 UCHAR_LEAD_CANONICAL_COMBINING_CLASS=0x1010,
00497 UCHAR_TRAIL_CANONICAL_COMBINING_CLASS=0x1011,
00502 UCHAR_GRAPHEME_CLUSTER_BREAK=0x1012,
00507 UCHAR_SENTENCE_BREAK=0x1013,
00512 UCHAR_WORD_BREAK=0x1014,
00517 UCHAR_BIDI_PAIRED_BRACKET_TYPE=0x1015,
00519 UCHAR_INT_LIMIT=0x1016,
00520
00529 UCHAR_GENERAL_CATEGORY_MASK=0x2000,
00531 UCHAR_MASK_START=UCHAR_GENERAL_CATEGORY_MASK,
00533 UCHAR_MASK_LIMIT=0x2001,
00534
00537 UCHAR_NUMERIC_VALUE=0x3000,
00539 UCHAR_DOUBLE_START=UCHAR_NUMERIC_VALUE,
00541 UCHAR_DOUBLE_LIMIT=0x3001,
00542
00545 UCHAR_AGE=0x4000,
00547 UCHAR_STRING_START=UCHAR_AGE,
00550 UCHAR_BIDI_MIRRORING_GLYPH=0x4001,
00553 UCHAR_CASE_FOLDING=0x4002,
00554 #ifndef U_HIDE_DEPRECATED_API
00555
00557 UCHAR_ISO_COMMENT=0x4003,
00558 #endif
00559
00561 UCHAR_LOWERCASE_MAPPING=0x4004,
00564 UCHAR_NAME=0x4005,
00567 UCHAR_SIMPLE_CASE_FOLDING=0x4006,
00570 UCHAR_SIMPLE_LOWERCASE_MAPPING=0x4007,
00573 UCHAR_SIMPLE_TITLECASE_MAPPING=0x4008,
00576 UCHAR_SIMPLE_UPPERCASE_MAPPING=0x4009,
00579 UCHAR_TITLECASE_MAPPING=0x400A,
00580 #ifndef U_HIDE_DEPRECATED_API
00581
00585 UCHAR_UNICODE_1_NAME=0x400B,
00586 #endif
00587
00589 UCHAR_UPPERCASE_MAPPING=0x400C,
00592 UCHAR_BIDI_PAIRED_BRACKET=0x400D,
00594 UCHAR_STRING_LIMIT=0x400E,
00595
00601 UCHAR_SCRIPT_EXTENSIONS=0x7000,
00603 UCHAR_OTHER_PROPERTY_START=UCHAR_SCRIPT_EXTENSIONS,
00606 UCHAR_OTHER_PROPERTY_LIMIT=0x7001,
00608 UCHAR_INVALID_CODE = -1
00609 } UProperty;
00610
00616 typedef enum UCharCategory
00617 {
00618
00619
00620
00621
00622
00623
00624
00626 U_UNASSIGNED = 0,
00628 U_GENERAL_OTHER_TYPES = 0,
00630 U_UPPERCASE_LETTER = 1,
00632 U_LOWERCASE_LETTER = 2,
00634 U_TITLECASE_LETTER = 3,
00636 U_MODIFIER_LETTER = 4,
00638 U_OTHER_LETTER = 5,
00640 U_NON_SPACING_MARK = 6,
00642 U_ENCLOSING_MARK = 7,
00644 U_COMBINING_SPACING_MARK = 8,
00646 U_DECIMAL_DIGIT_NUMBER = 9,
00648 U_LETTER_NUMBER = 10,
00650 U_OTHER_NUMBER = 11,
00652 U_SPACE_SEPARATOR = 12,
00654 U_LINE_SEPARATOR = 13,
00656 U_PARAGRAPH_SEPARATOR = 14,
00658 U_CONTROL_CHAR = 15,
00660 U_FORMAT_CHAR = 16,
00662 U_PRIVATE_USE_CHAR = 17,
00664 U_SURROGATE = 18,
00666 U_DASH_PUNCTUATION = 19,
00668 U_START_PUNCTUATION = 20,
00670 U_END_PUNCTUATION = 21,
00672 U_CONNECTOR_PUNCTUATION = 22,
00674 U_OTHER_PUNCTUATION = 23,
00676 U_MATH_SYMBOL = 24,
00678 U_CURRENCY_SYMBOL = 25,
00680 U_MODIFIER_SYMBOL = 26,
00682 U_OTHER_SYMBOL = 27,
00684 U_INITIAL_PUNCTUATION = 28,
00686 U_FINAL_PUNCTUATION = 29,
00688 U_CHAR_CATEGORY_COUNT
00689 } UCharCategory;
00690
00705 #define U_GC_CN_MASK U_MASK(U_GENERAL_OTHER_TYPES)
00706
00708 #define U_GC_LU_MASK U_MASK(U_UPPERCASE_LETTER)
00709
00710 #define U_GC_LL_MASK U_MASK(U_LOWERCASE_LETTER)
00711
00712 #define U_GC_LT_MASK U_MASK(U_TITLECASE_LETTER)
00713
00714 #define U_GC_LM_MASK U_MASK(U_MODIFIER_LETTER)
00715
00716 #define U_GC_LO_MASK U_MASK(U_OTHER_LETTER)
00717
00719 #define U_GC_MN_MASK U_MASK(U_NON_SPACING_MARK)
00720
00721 #define U_GC_ME_MASK U_MASK(U_ENCLOSING_MARK)
00722
00723 #define U_GC_MC_MASK U_MASK(U_COMBINING_SPACING_MARK)
00724
00726 #define U_GC_ND_MASK U_MASK(U_DECIMAL_DIGIT_NUMBER)
00727
00728 #define U_GC_NL_MASK U_MASK(U_LETTER_NUMBER)
00729
00730 #define U_GC_NO_MASK U_MASK(U_OTHER_NUMBER)
00731
00733 #define U_GC_ZS_MASK U_MASK(U_SPACE_SEPARATOR)
00734
00735 #define U_GC_ZL_MASK U_MASK(U_LINE_SEPARATOR)
00736
00737 #define U_GC_ZP_MASK U_MASK(U_PARAGRAPH_SEPARATOR)
00738
00740 #define U_GC_CC_MASK U_MASK(U_CONTROL_CHAR)
00741
00742 #define U_GC_CF_MASK U_MASK(U_FORMAT_CHAR)
00743
00744 #define U_GC_CO_MASK U_MASK(U_PRIVATE_USE_CHAR)
00745
00746 #define U_GC_CS_MASK U_MASK(U_SURROGATE)
00747
00749 #define U_GC_PD_MASK U_MASK(U_DASH_PUNCTUATION)
00750
00751 #define U_GC_PS_MASK U_MASK(U_START_PUNCTUATION)
00752
00753 #define U_GC_PE_MASK U_MASK(U_END_PUNCTUATION)
00754
00755 #define U_GC_PC_MASK U_MASK(U_CONNECTOR_PUNCTUATION)
00756
00757 #define U_GC_PO_MASK U_MASK(U_OTHER_PUNCTUATION)
00758
00760 #define U_GC_SM_MASK U_MASK(U_MATH_SYMBOL)
00761
00762 #define U_GC_SC_MASK U_MASK(U_CURRENCY_SYMBOL)
00763
00764 #define U_GC_SK_MASK U_MASK(U_MODIFIER_SYMBOL)
00765
00766 #define U_GC_SO_MASK U_MASK(U_OTHER_SYMBOL)
00767
00769 #define U_GC_PI_MASK U_MASK(U_INITIAL_PUNCTUATION)
00770
00771 #define U_GC_PF_MASK U_MASK(U_FINAL_PUNCTUATION)
00772
00773
00775 #define U_GC_L_MASK \
00776 (U_GC_LU_MASK|U_GC_LL_MASK|U_GC_LT_MASK|U_GC_LM_MASK|U_GC_LO_MASK)
00777
00779 #define U_GC_LC_MASK \
00780 (U_GC_LU_MASK|U_GC_LL_MASK|U_GC_LT_MASK)
00781
00783 #define U_GC_M_MASK (U_GC_MN_MASK|U_GC_ME_MASK|U_GC_MC_MASK)
00784
00786 #define U_GC_N_MASK (U_GC_ND_MASK|U_GC_NL_MASK|U_GC_NO_MASK)
00787
00789 #define U_GC_Z_MASK (U_GC_ZS_MASK|U_GC_ZL_MASK|U_GC_ZP_MASK)
00790
00792 #define U_GC_C_MASK \
00793 (U_GC_CN_MASK|U_GC_CC_MASK|U_GC_CF_MASK|U_GC_CO_MASK|U_GC_CS_MASK)
00794
00796 #define U_GC_P_MASK \
00797 (U_GC_PD_MASK|U_GC_PS_MASK|U_GC_PE_MASK|U_GC_PC_MASK|U_GC_PO_MASK| \
00798 U_GC_PI_MASK|U_GC_PF_MASK)
00799
00801 #define U_GC_S_MASK (U_GC_SM_MASK|U_GC_SC_MASK|U_GC_SK_MASK|U_GC_SO_MASK)
00802
00807 typedef enum UCharDirection {
00808
00809
00810
00811
00812
00813
00814
00816 U_LEFT_TO_RIGHT = 0,
00818 U_RIGHT_TO_LEFT = 1,
00820 U_EUROPEAN_NUMBER = 2,
00822 U_EUROPEAN_NUMBER_SEPARATOR = 3,
00824 U_EUROPEAN_NUMBER_TERMINATOR = 4,
00826 U_ARABIC_NUMBER = 5,
00828 U_COMMON_NUMBER_SEPARATOR = 6,
00830 U_BLOCK_SEPARATOR = 7,
00832 U_SEGMENT_SEPARATOR = 8,
00834 U_WHITE_SPACE_NEUTRAL = 9,
00836 U_OTHER_NEUTRAL = 10,
00838 U_LEFT_TO_RIGHT_EMBEDDING = 11,
00840 U_LEFT_TO_RIGHT_OVERRIDE = 12,
00842 U_RIGHT_TO_LEFT_ARABIC = 13,
00844 U_RIGHT_TO_LEFT_EMBEDDING = 14,
00846 U_RIGHT_TO_LEFT_OVERRIDE = 15,
00848 U_POP_DIRECTIONAL_FORMAT = 16,
00850 U_DIR_NON_SPACING_MARK = 17,
00852 U_BOUNDARY_NEUTRAL = 18,
00854 U_FIRST_STRONG_ISOLATE = 19,
00856 U_LEFT_TO_RIGHT_ISOLATE = 20,
00858 U_RIGHT_TO_LEFT_ISOLATE = 21,
00860 U_POP_DIRECTIONAL_ISOLATE = 22,
00862 U_CHAR_DIRECTION_COUNT
00863 } UCharDirection;
00864
00871 typedef enum UBidiPairedBracketType {
00872
00873
00874
00875
00876
00877
00879 U_BPT_NONE,
00881 U_BPT_OPEN,
00883 U_BPT_CLOSE,
00885 U_BPT_COUNT
00886 } UBidiPairedBracketType;
00887
00892 enum UBlockCode {
00893
00894
00895
00896
00897
00898
00900 UBLOCK_NO_BLOCK = 0,
00901
00903 UBLOCK_BASIC_LATIN = 1,
00904
00906 UBLOCK_LATIN_1_SUPPLEMENT=2,
00907
00909 UBLOCK_LATIN_EXTENDED_A =3,
00910
00912 UBLOCK_LATIN_EXTENDED_B =4,
00913
00915 UBLOCK_IPA_EXTENSIONS =5,
00916
00918 UBLOCK_SPACING_MODIFIER_LETTERS =6,
00919
00921 UBLOCK_COMBINING_DIACRITICAL_MARKS =7,
00922
00927 UBLOCK_GREEK =8,
00928
00930 UBLOCK_CYRILLIC =9,
00931
00933 UBLOCK_ARMENIAN =10,
00934
00936 UBLOCK_HEBREW =11,
00937
00939 UBLOCK_ARABIC =12,
00940
00942 UBLOCK_SYRIAC =13,
00943
00945 UBLOCK_THAANA =14,
00946
00948 UBLOCK_DEVANAGARI =15,
00949
00951 UBLOCK_BENGALI =16,
00952
00954 UBLOCK_GURMUKHI =17,
00955
00957 UBLOCK_GUJARATI =18,
00958
00960 UBLOCK_ORIYA =19,
00961
00963 UBLOCK_TAMIL =20,
00964
00966 UBLOCK_TELUGU =21,
00967
00969 UBLOCK_KANNADA =22,
00970
00972 UBLOCK_MALAYALAM =23,
00973
00975 UBLOCK_SINHALA =24,
00976
00978 UBLOCK_THAI =25,
00979
00981 UBLOCK_LAO =26,
00982
00984 UBLOCK_TIBETAN =27,
00985
00987 UBLOCK_MYANMAR =28,
00988
00990 UBLOCK_GEORGIAN =29,
00991
00993 UBLOCK_HANGUL_JAMO =30,
00994
00996 UBLOCK_ETHIOPIC =31,
00997
00999 UBLOCK_CHEROKEE =32,
01000
01002 UBLOCK_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS =33,
01003
01005 UBLOCK_OGHAM =34,
01006
01008 UBLOCK_RUNIC =35,
01009
01011 UBLOCK_KHMER =36,
01012
01014 UBLOCK_MONGOLIAN =37,
01015
01017 UBLOCK_LATIN_EXTENDED_ADDITIONAL =38,
01018
01020 UBLOCK_GREEK_EXTENDED =39,
01021
01023 UBLOCK_GENERAL_PUNCTUATION =40,
01024
01026 UBLOCK_SUPERSCRIPTS_AND_SUBSCRIPTS =41,
01027
01029 UBLOCK_CURRENCY_SYMBOLS =42,
01030
01035 UBLOCK_COMBINING_MARKS_FOR_SYMBOLS =43,
01036
01038 UBLOCK_LETTERLIKE_SYMBOLS =44,
01039
01041 UBLOCK_NUMBER_FORMS =45,
01042
01044 UBLOCK_ARROWS =46,
01045
01047 UBLOCK_MATHEMATICAL_OPERATORS =47,
01048
01050 UBLOCK_MISCELLANEOUS_TECHNICAL =48,
01051
01053 UBLOCK_CONTROL_PICTURES =49,
01054
01056 UBLOCK_OPTICAL_CHARACTER_RECOGNITION =50,
01057
01059 UBLOCK_ENCLOSED_ALPHANUMERICS =51,
01060
01062 UBLOCK_BOX_DRAWING =52,
01063
01065 UBLOCK_BLOCK_ELEMENTS =53,
01066
01068 UBLOCK_GEOMETRIC_SHAPES =54,
01069
01071 UBLOCK_MISCELLANEOUS_SYMBOLS =55,
01072
01074 UBLOCK_DINGBATS =56,
01075
01077 UBLOCK_BRAILLE_PATTERNS =57,
01078
01080 UBLOCK_CJK_RADICALS_SUPPLEMENT =58,
01081
01083 UBLOCK_KANGXI_RADICALS =59,
01084
01086 UBLOCK_IDEOGRAPHIC_DESCRIPTION_CHARACTERS =60,
01087
01089 UBLOCK_CJK_SYMBOLS_AND_PUNCTUATION =61,
01090
01092 UBLOCK_HIRAGANA =62,
01093
01095 UBLOCK_KATAKANA =63,
01096
01098 UBLOCK_BOPOMOFO =64,
01099
01101 UBLOCK_HANGUL_COMPATIBILITY_JAMO =65,
01102
01104 UBLOCK_KANBUN =66,
01105
01107 UBLOCK_BOPOMOFO_EXTENDED =67,
01108
01110 UBLOCK_ENCLOSED_CJK_LETTERS_AND_MONTHS =68,
01111
01113 UBLOCK_CJK_COMPATIBILITY =69,
01114
01116 UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A =70,
01117
01119 UBLOCK_CJK_UNIFIED_IDEOGRAPHS =71,
01120
01122 UBLOCK_YI_SYLLABLES =72,
01123
01125 UBLOCK_YI_RADICALS =73,
01126
01128 UBLOCK_HANGUL_SYLLABLES =74,
01129
01131 UBLOCK_HIGH_SURROGATES =75,
01132
01134 UBLOCK_HIGH_PRIVATE_USE_SURROGATES =76,
01135
01137 UBLOCK_LOW_SURROGATES =77,
01138
01148 UBLOCK_PRIVATE_USE_AREA =78,
01158 UBLOCK_PRIVATE_USE = UBLOCK_PRIVATE_USE_AREA,
01159
01161 UBLOCK_CJK_COMPATIBILITY_IDEOGRAPHS =79,
01162
01164 UBLOCK_ALPHABETIC_PRESENTATION_FORMS =80,
01165
01167 UBLOCK_ARABIC_PRESENTATION_FORMS_A =81,
01168
01170 UBLOCK_COMBINING_HALF_MARKS =82,
01171
01173 UBLOCK_CJK_COMPATIBILITY_FORMS =83,
01174
01176 UBLOCK_SMALL_FORM_VARIANTS =84,
01177
01179 UBLOCK_ARABIC_PRESENTATION_FORMS_B =85,
01180
01182 UBLOCK_SPECIALS =86,
01183
01185 UBLOCK_HALFWIDTH_AND_FULLWIDTH_FORMS =87,
01186
01187
01188
01190 UBLOCK_OLD_ITALIC = 88,
01192 UBLOCK_GOTHIC = 89,
01194 UBLOCK_DESERET = 90,
01196 UBLOCK_BYZANTINE_MUSICAL_SYMBOLS = 91,
01198 UBLOCK_MUSICAL_SYMBOLS = 92,
01200 UBLOCK_MATHEMATICAL_ALPHANUMERIC_SYMBOLS = 93,
01202 UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B = 94,
01204 UBLOCK_CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT = 95,
01206 UBLOCK_TAGS = 96,
01207
01208
01209
01211 UBLOCK_CYRILLIC_SUPPLEMENT = 97,
01216 UBLOCK_CYRILLIC_SUPPLEMENTARY = UBLOCK_CYRILLIC_SUPPLEMENT,
01218 UBLOCK_TAGALOG = 98,
01220 UBLOCK_HANUNOO = 99,
01222 UBLOCK_BUHID = 100,
01224 UBLOCK_TAGBANWA = 101,
01226 UBLOCK_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A = 102,
01228 UBLOCK_SUPPLEMENTAL_ARROWS_A = 103,
01230 UBLOCK_SUPPLEMENTAL_ARROWS_B = 104,
01232 UBLOCK_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B = 105,
01234 UBLOCK_SUPPLEMENTAL_MATHEMATICAL_OPERATORS = 106,
01236 UBLOCK_KATAKANA_PHONETIC_EXTENSIONS = 107,
01238 UBLOCK_VARIATION_SELECTORS = 108,
01240 UBLOCK_SUPPLEMENTARY_PRIVATE_USE_AREA_A = 109,
01242 UBLOCK_SUPPLEMENTARY_PRIVATE_USE_AREA_B = 110,
01243
01244
01245
01247 UBLOCK_LIMBU = 111,
01249 UBLOCK_TAI_LE = 112,
01251 UBLOCK_KHMER_SYMBOLS = 113,
01253 UBLOCK_PHONETIC_EXTENSIONS = 114,
01255 UBLOCK_MISCELLANEOUS_SYMBOLS_AND_ARROWS = 115,
01257 UBLOCK_YIJING_HEXAGRAM_SYMBOLS = 116,
01259 UBLOCK_LINEAR_B_SYLLABARY = 117,
01261 UBLOCK_LINEAR_B_IDEOGRAMS = 118,
01263 UBLOCK_AEGEAN_NUMBERS = 119,
01265 UBLOCK_UGARITIC = 120,
01267 UBLOCK_SHAVIAN = 121,
01269 UBLOCK_OSMANYA = 122,
01271 UBLOCK_CYPRIOT_SYLLABARY = 123,
01273 UBLOCK_TAI_XUAN_JING_SYMBOLS = 124,
01275 UBLOCK_VARIATION_SELECTORS_SUPPLEMENT = 125,
01276
01277
01278
01280 UBLOCK_ANCIENT_GREEK_MUSICAL_NOTATION = 126,
01282 UBLOCK_ANCIENT_GREEK_NUMBERS = 127,
01284 UBLOCK_ARABIC_SUPPLEMENT = 128,
01286 UBLOCK_BUGINESE = 129,
01288 UBLOCK_CJK_STROKES = 130,
01290 UBLOCK_COMBINING_DIACRITICAL_MARKS_SUPPLEMENT = 131,
01292 UBLOCK_COPTIC = 132,
01294 UBLOCK_ETHIOPIC_EXTENDED = 133,
01296 UBLOCK_ETHIOPIC_SUPPLEMENT = 134,
01298 UBLOCK_GEORGIAN_SUPPLEMENT = 135,
01300 UBLOCK_GLAGOLITIC = 136,
01302 UBLOCK_KHAROSHTHI = 137,
01304 UBLOCK_MODIFIER_TONE_LETTERS = 138,
01306 UBLOCK_NEW_TAI_LUE = 139,
01308 UBLOCK_OLD_PERSIAN = 140,
01310 UBLOCK_PHONETIC_EXTENSIONS_SUPPLEMENT = 141,
01312 UBLOCK_SUPPLEMENTAL_PUNCTUATION = 142,
01314 UBLOCK_SYLOTI_NAGRI = 143,
01316 UBLOCK_TIFINAGH = 144,
01318 UBLOCK_VERTICAL_FORMS = 145,
01319
01320
01321
01323 UBLOCK_NKO = 146,
01325 UBLOCK_BALINESE = 147,
01327 UBLOCK_LATIN_EXTENDED_C = 148,
01329 UBLOCK_LATIN_EXTENDED_D = 149,
01331 UBLOCK_PHAGS_PA = 150,
01333 UBLOCK_PHOENICIAN = 151,
01335 UBLOCK_CUNEIFORM = 152,
01337 UBLOCK_CUNEIFORM_NUMBERS_AND_PUNCTUATION = 153,
01339 UBLOCK_COUNTING_ROD_NUMERALS = 154,
01340
01341
01342
01344 UBLOCK_SUNDANESE = 155,
01346 UBLOCK_LEPCHA = 156,
01348 UBLOCK_OL_CHIKI = 157,
01350 UBLOCK_CYRILLIC_EXTENDED_A = 158,
01352 UBLOCK_VAI = 159,
01354 UBLOCK_CYRILLIC_EXTENDED_B = 160,
01356 UBLOCK_SAURASHTRA = 161,
01358 UBLOCK_KAYAH_LI = 162,
01360 UBLOCK_REJANG = 163,
01362 UBLOCK_CHAM = 164,
01364 UBLOCK_ANCIENT_SYMBOLS = 165,
01366 UBLOCK_PHAISTOS_DISC = 166,
01368 UBLOCK_LYCIAN = 167,
01370 UBLOCK_CARIAN = 168,
01372 UBLOCK_LYDIAN = 169,
01374 UBLOCK_MAHJONG_TILES = 170,
01376 UBLOCK_DOMINO_TILES = 171,
01377
01378
01379
01381 UBLOCK_SAMARITAN = 172,
01383 UBLOCK_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED = 173,
01385 UBLOCK_TAI_THAM = 174,
01387 UBLOCK_VEDIC_EXTENSIONS = 175,
01389 UBLOCK_LISU = 176,
01391 UBLOCK_BAMUM = 177,
01393 UBLOCK_COMMON_INDIC_NUMBER_FORMS = 178,
01395 UBLOCK_DEVANAGARI_EXTENDED = 179,
01397 UBLOCK_HANGUL_JAMO_EXTENDED_A = 180,
01399 UBLOCK_JAVANESE = 181,
01401 UBLOCK_MYANMAR_EXTENDED_A = 182,
01403 UBLOCK_TAI_VIET = 183,
01405 UBLOCK_MEETEI_MAYEK = 184,
01407 UBLOCK_HANGUL_JAMO_EXTENDED_B = 185,
01409 UBLOCK_IMPERIAL_ARAMAIC = 186,
01411 UBLOCK_OLD_SOUTH_ARABIAN = 187,
01413 UBLOCK_AVESTAN = 188,
01415 UBLOCK_INSCRIPTIONAL_PARTHIAN = 189,
01417 UBLOCK_INSCRIPTIONAL_PAHLAVI = 190,
01419 UBLOCK_OLD_TURKIC = 191,
01421 UBLOCK_RUMI_NUMERAL_SYMBOLS = 192,
01423 UBLOCK_KAITHI = 193,
01425 UBLOCK_EGYPTIAN_HIEROGLYPHS = 194,
01427 UBLOCK_ENCLOSED_ALPHANUMERIC_SUPPLEMENT = 195,
01429 UBLOCK_ENCLOSED_IDEOGRAPHIC_SUPPLEMENT = 196,
01431 UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C = 197,
01432
01433
01434
01436 UBLOCK_MANDAIC = 198,
01438 UBLOCK_BATAK = 199,
01440 UBLOCK_ETHIOPIC_EXTENDED_A = 200,
01442 UBLOCK_BRAHMI = 201,
01444 UBLOCK_BAMUM_SUPPLEMENT = 202,
01446 UBLOCK_KANA_SUPPLEMENT = 203,
01448 UBLOCK_PLAYING_CARDS = 204,
01450 UBLOCK_MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS = 205,
01452 UBLOCK_EMOTICONS = 206,
01454 UBLOCK_TRANSPORT_AND_MAP_SYMBOLS = 207,
01456 UBLOCK_ALCHEMICAL_SYMBOLS = 208,
01458 UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D = 209,
01459
01460
01461
01463 UBLOCK_ARABIC_EXTENDED_A = 210,
01465 UBLOCK_ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS = 211,
01467 UBLOCK_CHAKMA = 212,
01469 UBLOCK_MEETEI_MAYEK_EXTENSIONS = 213,
01471 UBLOCK_MEROITIC_CURSIVE = 214,
01473 UBLOCK_MEROITIC_HIEROGLYPHS = 215,
01475 UBLOCK_MIAO = 216,
01477 UBLOCK_SHARADA = 217,
01479 UBLOCK_SORA_SOMPENG = 218,
01481 UBLOCK_SUNDANESE_SUPPLEMENT = 219,
01483 UBLOCK_TAKRI = 220,
01484
01485
01486
01488 UBLOCK_BASSA_VAH = 221,
01490 UBLOCK_CAUCASIAN_ALBANIAN = 222,
01492 UBLOCK_COPTIC_EPACT_NUMBERS = 223,
01494 UBLOCK_COMBINING_DIACRITICAL_MARKS_EXTENDED = 224,
01496 UBLOCK_DUPLOYAN = 225,
01498 UBLOCK_ELBASAN = 226,
01500 UBLOCK_GEOMETRIC_SHAPES_EXTENDED = 227,
01502 UBLOCK_GRANTHA = 228,
01504 UBLOCK_KHOJKI = 229,
01506 UBLOCK_KHUDAWADI = 230,
01508 UBLOCK_LATIN_EXTENDED_E = 231,
01510 UBLOCK_LINEAR_A = 232,
01512 UBLOCK_MAHAJANI = 233,
01514 UBLOCK_MANICHAEAN = 234,
01516 UBLOCK_MENDE_KIKAKUI = 235,
01518 UBLOCK_MODI = 236,
01520 UBLOCK_MRO = 237,
01522 UBLOCK_MYANMAR_EXTENDED_B = 238,
01524 UBLOCK_NABATAEAN = 239,
01526 UBLOCK_OLD_NORTH_ARABIAN = 240,
01528 UBLOCK_OLD_PERMIC = 241,
01530 UBLOCK_ORNAMENTAL_DINGBATS = 242,
01532 UBLOCK_PAHAWH_HMONG = 243,
01534 UBLOCK_PALMYRENE = 244,
01536 UBLOCK_PAU_CIN_HAU = 245,
01538 UBLOCK_PSALTER_PAHLAVI = 246,
01540 UBLOCK_SHORTHAND_FORMAT_CONTROLS = 247,
01542 UBLOCK_SIDDHAM = 248,
01544 UBLOCK_SINHALA_ARCHAIC_NUMBERS = 249,
01546 UBLOCK_SUPPLEMENTAL_ARROWS_C = 250,
01548 UBLOCK_TIRHUTA = 251,
01550 UBLOCK_WARANG_CITI = 252,
01551
01552
01553
01555 UBLOCK_AHOM = 253,
01557 UBLOCK_ANATOLIAN_HIEROGLYPHS = 254,
01559 UBLOCK_CHEROKEE_SUPPLEMENT = 255,
01561 UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_E = 256,
01563 UBLOCK_EARLY_DYNASTIC_CUNEIFORM = 257,
01565 UBLOCK_HATRAN = 258,
01567 UBLOCK_MULTANI = 259,
01569 UBLOCK_OLD_HUNGARIAN = 260,
01571 UBLOCK_SUPPLEMENTAL_SYMBOLS_AND_PICTOGRAPHS = 261,
01573 UBLOCK_SUTTON_SIGNWRITING = 262,
01574
01576 UBLOCK_COUNT = 263,
01577
01579 UBLOCK_INVALID_CODE=-1
01580 };
01581
01583 typedef enum UBlockCode UBlockCode;
01584
01592 typedef enum UEastAsianWidth {
01593
01594
01595
01596
01597
01598
01599 U_EA_NEUTRAL,
01600 U_EA_AMBIGUOUS,
01601 U_EA_HALFWIDTH,
01602 U_EA_FULLWIDTH,
01603 U_EA_NARROW,
01604 U_EA_WIDE,
01605 U_EA_COUNT
01606 } UEastAsianWidth;
01607
01619 typedef enum UCharNameChoice {
01621 U_UNICODE_CHAR_NAME,
01622 #ifndef U_HIDE_DEPRECATED_API
01623
01628 U_UNICODE_10_CHAR_NAME,
01629 #endif
01630
01631 U_EXTENDED_CHAR_NAME = U_UNICODE_CHAR_NAME+2,
01633 U_CHAR_NAME_ALIAS,
01635 U_CHAR_NAME_CHOICE_COUNT
01636 } UCharNameChoice;
01637
01651 typedef enum UPropertyNameChoice {
01652 U_SHORT_PROPERTY_NAME,
01653 U_LONG_PROPERTY_NAME,
01654 U_PROPERTY_NAME_CHOICE_COUNT
01655 } UPropertyNameChoice;
01656
01663 typedef enum UDecompositionType {
01664
01665
01666
01667
01668
01669
01670 U_DT_NONE,
01671 U_DT_CANONICAL,
01672 U_DT_COMPAT,
01673 U_DT_CIRCLE,
01674 U_DT_FINAL,
01675 U_DT_FONT,
01676 U_DT_FRACTION,
01677 U_DT_INITIAL,
01678 U_DT_ISOLATED,
01679 U_DT_MEDIAL,
01680 U_DT_NARROW,
01681 U_DT_NOBREAK,
01682 U_DT_SMALL,
01683 U_DT_SQUARE,
01684 U_DT_SUB,
01685 U_DT_SUPER,
01686 U_DT_VERTICAL,
01687 U_DT_WIDE,
01688 U_DT_COUNT
01689 } UDecompositionType;
01690
01697 typedef enum UJoiningType {
01698
01699
01700
01701
01702
01703
01704 U_JT_NON_JOINING,
01705 U_JT_JOIN_CAUSING,
01706 U_JT_DUAL_JOINING,
01707 U_JT_LEFT_JOINING,
01708 U_JT_RIGHT_JOINING,
01709 U_JT_TRANSPARENT,
01710 U_JT_COUNT
01711 } UJoiningType;
01712
01719 typedef enum UJoiningGroup {
01720
01721
01722
01723
01724
01725
01726 U_JG_NO_JOINING_GROUP,
01727 U_JG_AIN,
01728 U_JG_ALAPH,
01729 U_JG_ALEF,
01730 U_JG_BEH,
01731 U_JG_BETH,
01732 U_JG_DAL,
01733 U_JG_DALATH_RISH,
01734 U_JG_E,
01735 U_JG_FEH,
01736 U_JG_FINAL_SEMKATH,
01737 U_JG_GAF,
01738 U_JG_GAMAL,
01739 U_JG_HAH,
01740 U_JG_TEH_MARBUTA_GOAL,
01741 U_JG_HAMZA_ON_HEH_GOAL=U_JG_TEH_MARBUTA_GOAL,
01742 U_JG_HE,
01743 U_JG_HEH,
01744 U_JG_HEH_GOAL,
01745 U_JG_HETH,
01746 U_JG_KAF,
01747 U_JG_KAPH,
01748 U_JG_KNOTTED_HEH,
01749 U_JG_LAM,
01750 U_JG_LAMADH,
01751 U_JG_MEEM,
01752 U_JG_MIM,
01753 U_JG_NOON,
01754 U_JG_NUN,
01755 U_JG_PE,
01756 U_JG_QAF,
01757 U_JG_QAPH,
01758 U_JG_REH,
01759 U_JG_REVERSED_PE,
01760 U_JG_SAD,
01761 U_JG_SADHE,
01762 U_JG_SEEN,
01763 U_JG_SEMKATH,
01764 U_JG_SHIN,
01765 U_JG_SWASH_KAF,
01766 U_JG_SYRIAC_WAW,
01767 U_JG_TAH,
01768 U_JG_TAW,
01769 U_JG_TEH_MARBUTA,
01770 U_JG_TETH,
01771 U_JG_WAW,
01772 U_JG_YEH,
01773 U_JG_YEH_BARREE,
01774 U_JG_YEH_WITH_TAIL,
01775 U_JG_YUDH,
01776 U_JG_YUDH_HE,
01777 U_JG_ZAIN,
01778 U_JG_FE,
01779 U_JG_KHAPH,
01780 U_JG_ZHAIN,
01781 U_JG_BURUSHASKI_YEH_BARREE,
01782 U_JG_FARSI_YEH,
01783 U_JG_NYA,
01784 U_JG_ROHINGYA_YEH,
01785 U_JG_MANICHAEAN_ALEPH,
01786 U_JG_MANICHAEAN_AYIN,
01787 U_JG_MANICHAEAN_BETH,
01788 U_JG_MANICHAEAN_DALETH,
01789 U_JG_MANICHAEAN_DHAMEDH,
01790 U_JG_MANICHAEAN_FIVE,
01791 U_JG_MANICHAEAN_GIMEL,
01792 U_JG_MANICHAEAN_HETH,
01793 U_JG_MANICHAEAN_HUNDRED,
01794 U_JG_MANICHAEAN_KAPH,
01795 U_JG_MANICHAEAN_LAMEDH,
01796 U_JG_MANICHAEAN_MEM,
01797 U_JG_MANICHAEAN_NUN,
01798 U_JG_MANICHAEAN_ONE,
01799 U_JG_MANICHAEAN_PE,
01800 U_JG_MANICHAEAN_QOPH,
01801 U_JG_MANICHAEAN_RESH,
01802 U_JG_MANICHAEAN_SADHE,
01803 U_JG_MANICHAEAN_SAMEKH,
01804 U_JG_MANICHAEAN_TAW,
01805 U_JG_MANICHAEAN_TEN,
01806 U_JG_MANICHAEAN_TETH,
01807 U_JG_MANICHAEAN_THAMEDH,
01808 U_JG_MANICHAEAN_TWENTY,
01809 U_JG_MANICHAEAN_WAW,
01810 U_JG_MANICHAEAN_YODH,
01811 U_JG_MANICHAEAN_ZAYIN,
01812 U_JG_STRAIGHT_WAW,
01813 U_JG_COUNT
01814 } UJoiningGroup;
01815
01822 typedef enum UGraphemeClusterBreak {
01823
01824
01825
01826
01827
01828
01829 U_GCB_OTHER = 0,
01830 U_GCB_CONTROL = 1,
01831 U_GCB_CR = 2,
01832 U_GCB_EXTEND = 3,
01833 U_GCB_L = 4,
01834 U_GCB_LF = 5,
01835 U_GCB_LV = 6,
01836 U_GCB_LVT = 7,
01837 U_GCB_T = 8,
01838 U_GCB_V = 9,
01839 U_GCB_SPACING_MARK = 10,
01840 U_GCB_PREPEND = 11,
01841 U_GCB_REGIONAL_INDICATOR = 12,
01842 U_GCB_COUNT = 13
01843 } UGraphemeClusterBreak;
01844
01852 typedef enum UWordBreakValues {
01853
01854
01855
01856
01857
01858
01859 U_WB_OTHER = 0,
01860 U_WB_ALETTER = 1,
01861 U_WB_FORMAT = 2,
01862 U_WB_KATAKANA = 3,
01863 U_WB_MIDLETTER = 4,
01864 U_WB_MIDNUM = 5,
01865 U_WB_NUMERIC = 6,
01866 U_WB_EXTENDNUMLET = 7,
01867 U_WB_CR = 8,
01868 U_WB_EXTEND = 9,
01869 U_WB_LF = 10,
01870 U_WB_MIDNUMLET =11,
01871 U_WB_NEWLINE =12,
01872 U_WB_REGIONAL_INDICATOR = 13,
01873 U_WB_HEBREW_LETTER = 14,
01874 U_WB_SINGLE_QUOTE = 15,
01875 U_WB_DOUBLE_QUOTE = 16,
01876 U_WB_COUNT = 17
01877 } UWordBreakValues;
01878
01885 typedef enum USentenceBreak {
01886
01887
01888
01889
01890
01891
01892 U_SB_OTHER = 0,
01893 U_SB_ATERM = 1,
01894 U_SB_CLOSE = 2,
01895 U_SB_FORMAT = 3,
01896 U_SB_LOWER = 4,
01897 U_SB_NUMERIC = 5,
01898 U_SB_OLETTER = 6,
01899 U_SB_SEP = 7,
01900 U_SB_SP = 8,
01901 U_SB_STERM = 9,
01902 U_SB_UPPER = 10,
01903 U_SB_CR = 11,
01904 U_SB_EXTEND = 12,
01905 U_SB_LF = 13,
01906 U_SB_SCONTINUE = 14,
01907 U_SB_COUNT = 15
01908 } USentenceBreak;
01909
01916 typedef enum ULineBreak {
01917
01918
01919
01920
01921
01922
01923 U_LB_UNKNOWN = 0,
01924 U_LB_AMBIGUOUS = 1,
01925 U_LB_ALPHABETIC = 2,
01926 U_LB_BREAK_BOTH = 3,
01927 U_LB_BREAK_AFTER = 4,
01928 U_LB_BREAK_BEFORE = 5,
01929 U_LB_MANDATORY_BREAK = 6,
01930 U_LB_CONTINGENT_BREAK = 7,
01931 U_LB_CLOSE_PUNCTUATION = 8,
01932 U_LB_COMBINING_MARK = 9,
01933 U_LB_CARRIAGE_RETURN = 10,
01934 U_LB_EXCLAMATION = 11,
01935 U_LB_GLUE = 12,
01936 U_LB_HYPHEN = 13,
01937 U_LB_IDEOGRAPHIC = 14,
01939 U_LB_INSEPARABLE = 15,
01940 U_LB_INSEPERABLE = U_LB_INSEPARABLE,
01941 U_LB_INFIX_NUMERIC = 16,
01942 U_LB_LINE_FEED = 17,
01943 U_LB_NONSTARTER = 18,
01944 U_LB_NUMERIC = 19,
01945 U_LB_OPEN_PUNCTUATION = 20,
01946 U_LB_POSTFIX_NUMERIC = 21,
01947 U_LB_PREFIX_NUMERIC = 22,
01948 U_LB_QUOTATION = 23,
01949 U_LB_COMPLEX_CONTEXT = 24,
01950 U_LB_SURROGATE = 25,
01951 U_LB_SPACE = 26,
01952 U_LB_BREAK_SYMBOLS = 27,
01953 U_LB_ZWSPACE = 28,
01954 U_LB_NEXT_LINE = 29,
01955 U_LB_WORD_JOINER = 30,
01956 U_LB_H2 = 31,
01957 U_LB_H3 = 32,
01958 U_LB_JL = 33,
01959 U_LB_JT = 34,
01960 U_LB_JV = 35,
01961 U_LB_CLOSE_PARENTHESIS = 36,
01962 U_LB_CONDITIONAL_JAPANESE_STARTER = 37,
01963 U_LB_HEBREW_LETTER = 38,
01964 U_LB_REGIONAL_INDICATOR = 39,
01965 U_LB_COUNT = 40
01966 } ULineBreak;
01967
01974 typedef enum UNumericType {
01975
01976
01977
01978
01979
01980
01981 U_NT_NONE,
01982 U_NT_DECIMAL,
01983 U_NT_DIGIT,
01984 U_NT_NUMERIC,
01985 U_NT_COUNT
01986 } UNumericType;
01987
01994 typedef enum UHangulSyllableType {
01995
01996
01997
01998
01999
02000
02001 U_HST_NOT_APPLICABLE,
02002 U_HST_LEADING_JAMO,
02003 U_HST_VOWEL_JAMO,
02004 U_HST_TRAILING_JAMO,
02005 U_HST_LV_SYLLABLE,
02006 U_HST_LVT_SYLLABLE,
02007 U_HST_COUNT
02008 } UHangulSyllableType;
02009
02036 U_STABLE UBool U_EXPORT2
02037 u_hasBinaryProperty(UChar32 c, UProperty which);
02038
02051 U_STABLE UBool U_EXPORT2
02052 u_isUAlphabetic(UChar32 c);
02053
02066 U_STABLE UBool U_EXPORT2
02067 u_isULowercase(UChar32 c);
02068
02081 U_STABLE UBool U_EXPORT2
02082 u_isUUppercase(UChar32 c);
02083
02102 U_STABLE UBool U_EXPORT2
02103 u_isUWhiteSpace(UChar32 c);
02104
02142 U_STABLE int32_t U_EXPORT2
02143 u_getIntPropertyValue(UChar32 c, UProperty which);
02144
02163 U_STABLE int32_t U_EXPORT2
02164 u_getIntPropertyMinValue(UProperty which);
02165
02192 U_STABLE int32_t U_EXPORT2
02193 u_getIntPropertyMaxValue(UProperty which);
02194
02217 U_STABLE double U_EXPORT2
02218 u_getNumericValue(UChar32 c);
02219
02227 #define U_NO_NUMERIC_VALUE ((double)-123456789.)
02228
02252 U_STABLE UBool U_EXPORT2
02253 u_islower(UChar32 c);
02254
02279 U_STABLE UBool U_EXPORT2
02280 u_isupper(UChar32 c);
02281
02296 U_STABLE UBool U_EXPORT2
02297 u_istitle(UChar32 c);
02298
02317 U_STABLE UBool U_EXPORT2
02318 u_isdigit(UChar32 c);
02319
02338 U_STABLE UBool U_EXPORT2
02339 u_isalpha(UChar32 c);
02340
02359 U_STABLE UBool U_EXPORT2
02360 u_isalnum(UChar32 c);
02361
02382 U_STABLE UBool U_EXPORT2
02383 u_isxdigit(UChar32 c);
02384
02398 U_STABLE UBool U_EXPORT2
02399 u_ispunct(UChar32 c);
02400
02417 U_STABLE UBool U_EXPORT2
02418 u_isgraph(UChar32 c);
02419
02446 U_STABLE UBool U_EXPORT2
02447 u_isblank(UChar32 c);
02448
02471 U_STABLE UBool U_EXPORT2
02472 u_isdefined(UChar32 c);
02473
02492 U_STABLE UBool U_EXPORT2
02493 u_isspace(UChar32 c);
02494
02513 U_STABLE UBool U_EXPORT2
02514 u_isJavaSpaceChar(UChar32 c);
02515
02553 U_STABLE UBool U_EXPORT2
02554 u_isWhitespace(UChar32 c);
02555
02577 U_STABLE UBool U_EXPORT2
02578 u_iscntrl(UChar32 c);
02579
02592 U_STABLE UBool U_EXPORT2
02593 u_isISOControl(UChar32 c);
02594
02610 U_STABLE UBool U_EXPORT2
02611 u_isprint(UChar32 c);
02612
02631 U_STABLE UBool U_EXPORT2
02632 u_isbase(UChar32 c);
02633
02650 U_STABLE UCharDirection U_EXPORT2
02651 u_charDirection(UChar32 c);
02652
02668 U_STABLE UBool U_EXPORT2
02669 u_isMirrored(UChar32 c);
02670
02690 U_STABLE UChar32 U_EXPORT2
02691 u_charMirror(UChar32 c);
02692
02709 U_STABLE UChar32 U_EXPORT2
02710 u_getBidiPairedBracket(UChar32 c);
02711
02723 U_STABLE int8_t U_EXPORT2
02724 u_charType(UChar32 c);
02725
02739 #define U_GET_GC_MASK(c) U_MASK(u_charType(c))
02740
02758 typedef UBool U_CALLCONV
02759 UCharEnumTypeRange(const void *context, UChar32 start, UChar32 limit, UCharCategory type);
02760
02780 U_STABLE void U_EXPORT2
02781 u_enumCharTypes(UCharEnumTypeRange *enumRange, const void *context);
02782
02783 #if !UCONFIG_NO_NORMALIZATION
02784
02792 U_STABLE uint8_t U_EXPORT2
02793 u_getCombiningClass(UChar32 c);
02794
02795 #endif
02796
02820 U_STABLE int32_t U_EXPORT2
02821 u_charDigitValue(UChar32 c);
02822
02832 U_STABLE UBlockCode U_EXPORT2
02833 ublock_getCode(UChar32 c);
02834
02867 U_STABLE int32_t U_EXPORT2
02868 u_charName(UChar32 code, UCharNameChoice nameChoice,
02869 char *buffer, int32_t bufferLength,
02870 UErrorCode *pErrorCode);
02871
02872 #ifndef U_HIDE_DEPRECATED_API
02873
02891 U_DEPRECATED int32_t U_EXPORT2
02892 u_getISOComment(UChar32 c,
02893 char *dest, int32_t destCapacity,
02894 UErrorCode *pErrorCode);
02895 #endif
02896
02917 U_STABLE UChar32 U_EXPORT2
02918 u_charFromName(UCharNameChoice nameChoice,
02919 const char *name,
02920 UErrorCode *pErrorCode);
02921
02939 typedef UBool U_CALLCONV UEnumCharNamesFn(void *context,
02940 UChar32 code,
02941 UCharNameChoice nameChoice,
02942 const char *name,
02943 int32_t length);
02944
02966 U_STABLE void U_EXPORT2
02967 u_enumCharNames(UChar32 start, UChar32 limit,
02968 UEnumCharNamesFn *fn,
02969 void *context,
02970 UCharNameChoice nameChoice,
02971 UErrorCode *pErrorCode);
02972
03004 U_STABLE const char* U_EXPORT2
03005 u_getPropertyName(UProperty property,
03006 UPropertyNameChoice nameChoice);
03007
03027 U_STABLE UProperty U_EXPORT2
03028 u_getPropertyEnum(const char* alias);
03029
03077 U_STABLE const char* U_EXPORT2
03078 u_getPropertyValueName(UProperty property,
03079 int32_t value,
03080 UPropertyNameChoice nameChoice);
03081
03113 U_STABLE int32_t U_EXPORT2
03114 u_getPropertyValueEnum(UProperty property,
03115 const char* alias);
03116
03134 U_STABLE UBool U_EXPORT2
03135 u_isIDStart(UChar32 c);
03136
03158 U_STABLE UBool U_EXPORT2
03159 u_isIDPart(UChar32 c);
03160
03181 U_STABLE UBool U_EXPORT2
03182 u_isIDIgnorable(UChar32 c);
03183
03200 U_STABLE UBool U_EXPORT2
03201 u_isJavaIDStart(UChar32 c);
03202
03221 U_STABLE UBool U_EXPORT2
03222 u_isJavaIDPart(UChar32 c);
03223
03246 U_STABLE UChar32 U_EXPORT2
03247 u_tolower(UChar32 c);
03248
03271 U_STABLE UChar32 U_EXPORT2
03272 u_toupper(UChar32 c);
03273
03296 U_STABLE UChar32 U_EXPORT2
03297 u_totitle(UChar32 c);
03298
03300 #define U_FOLD_CASE_DEFAULT 0
03301
03318 #define U_FOLD_CASE_EXCLUDE_SPECIAL_I 1
03319
03342 U_STABLE UChar32 U_EXPORT2
03343 u_foldCase(UChar32 c, uint32_t options);
03344
03383 U_STABLE int32_t U_EXPORT2
03384 u_digit(UChar32 ch, int8_t radix);
03385
03414 U_STABLE UChar32 U_EXPORT2
03415 u_forDigit(int32_t digit, int8_t radix);
03416
03431 U_STABLE void U_EXPORT2
03432 u_charAge(UChar32 c, UVersionInfo versionArray);
03433
03445 U_STABLE void U_EXPORT2
03446 u_getUnicodeVersion(UVersionInfo versionArray);
03447
03448 #if !UCONFIG_NO_NORMALIZATION
03449
03470 U_STABLE int32_t U_EXPORT2
03471 u_getFC_NFKC_Closure(UChar32 c, UChar *dest, int32_t destCapacity, UErrorCode *pErrorCode);
03472
03473 #endif
03474
03475
03476 U_CDECL_END
03477
03478 #endif
03479