uchar.h
Go to the documentation of this file.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 "4.0.1"
00043
00103
#define UCHAR_MIN_VALUE 0
00104
00113
#define UCHAR_MAX_VALUE 0x10ffff
00114
00119
#define U_MASK(x) ((uint32_t)1<<(x))
00120
00121
00122
00123
00124
00125
00126
00127
00128
00129
00130
00131
00132
00133
00153
typedef enum UProperty {
00154
00155
00156
00157
00158
00159
00160
00161
00162
00165
UCHAR_ALPHABETIC=0,
00167
UCHAR_BINARY_START=
UCHAR_ALPHABETIC,
00169
UCHAR_ASCII_HEX_DIGIT,
00173
UCHAR_BIDI_CONTROL,
00178
UCHAR_BIDI_MIRRORED,
00180
UCHAR_DASH,
00184
UCHAR_DEFAULT_IGNORABLE_CODE_POINT,
00187
UCHAR_DEPRECATED,
00190
UCHAR_DIACRITIC,
00194
UCHAR_EXTENDER,
00198
UCHAR_FULL_COMPOSITION_EXCLUSION,
00202
UCHAR_GRAPHEME_BASE,
00206
UCHAR_GRAPHEME_EXTEND,
00209
UCHAR_GRAPHEME_LINK,
00212
UCHAR_HEX_DIGIT,
00215
UCHAR_HYPHEN,
00220
UCHAR_ID_CONTINUE,
00224
UCHAR_ID_START,
00227
UCHAR_IDEOGRAPHIC,
00231
UCHAR_IDS_BINARY_OPERATOR,
00235
UCHAR_IDS_TRINARY_OPERATOR,
00238
UCHAR_JOIN_CONTROL,
00242
UCHAR_LOGICAL_ORDER_EXCEPTION,
00245
UCHAR_LOWERCASE,
00247
UCHAR_MATH,
00251
UCHAR_NONCHARACTER_CODE_POINT,
00253
UCHAR_QUOTATION_MARK,
00257
UCHAR_RADICAL,
00262
UCHAR_SOFT_DOTTED,
00266
UCHAR_TERMINAL_PUNCTUATION,
00270
UCHAR_UNIFIED_IDEOGRAPH,
00273
UCHAR_UPPERCASE,
00277
UCHAR_WHITE_SPACE,
00281
UCHAR_XID_CONTINUE,
00284
UCHAR_XID_START,
00288
UCHAR_CASE_SENSITIVE,
00293
UCHAR_S_TERM,
00299
UCHAR_VARIATION_SELECTOR,
00322
UCHAR_NFD_INERT,
00331
UCHAR_NFKD_INERT,
00340
UCHAR_NFC_INERT,
00349
UCHAR_NFKC_INERT,
00360
UCHAR_SEGMENT_STARTER,
00362
UCHAR_BINARY_LIMIT,
00363
00366
UCHAR_BIDI_CLASS=0x1000,
00368
UCHAR_INT_START=
UCHAR_BIDI_CLASS,
00371
UCHAR_BLOCK,
00374
UCHAR_CANONICAL_COMBINING_CLASS,
00377
UCHAR_DECOMPOSITION_TYPE,
00381
UCHAR_EAST_ASIAN_WIDTH,
00384
UCHAR_GENERAL_CATEGORY,
00387
UCHAR_JOINING_GROUP,
00390
UCHAR_JOINING_TYPE,
00393
UCHAR_LINE_BREAK,
00396
UCHAR_NUMERIC_TYPE,
00399
UCHAR_SCRIPT,
00402
UCHAR_HANGUL_SYLLABLE_TYPE,
00405
UCHAR_NFD_QUICK_CHECK,
00408
UCHAR_NFKD_QUICK_CHECK,
00411
UCHAR_NFC_QUICK_CHECK,
00414
UCHAR_NFKC_QUICK_CHECK,
00421
UCHAR_LEAD_CANONICAL_COMBINING_CLASS,
00428
UCHAR_TRAIL_CANONICAL_COMBINING_CLASS,
00430
UCHAR_INT_LIMIT,
00431
00440
UCHAR_GENERAL_CATEGORY_MASK=0x2000,
00442
UCHAR_MASK_START=
UCHAR_GENERAL_CATEGORY_MASK,
00444
UCHAR_MASK_LIMIT,
00445
00448
UCHAR_NUMERIC_VALUE=0x3000,
00450
UCHAR_DOUBLE_START=
UCHAR_NUMERIC_VALUE,
00452
UCHAR_DOUBLE_LIMIT,
00453
00456
UCHAR_AGE=0x4000,
00458
UCHAR_STRING_START=
UCHAR_AGE,
00461
UCHAR_BIDI_MIRRORING_GLYPH,
00464
UCHAR_CASE_FOLDING,
00467
UCHAR_ISO_COMMENT,
00470
UCHAR_LOWERCASE_MAPPING,
00473
UCHAR_NAME,
00476
UCHAR_SIMPLE_CASE_FOLDING,
00479
UCHAR_SIMPLE_LOWERCASE_MAPPING,
00482
UCHAR_SIMPLE_TITLECASE_MAPPING,
00485
UCHAR_SIMPLE_UPPERCASE_MAPPING,
00488
UCHAR_TITLECASE_MAPPING,
00491
UCHAR_UNICODE_1_NAME,
00494
UCHAR_UPPERCASE_MAPPING,
00496
UCHAR_STRING_LIMIT,
00497
00499
UCHAR_INVALID_CODE = -1
00500 }
UProperty;
00501
00507
typedef enum UCharCategory
00508 {
00512
U_UNASSIGNED = 0,
00514
U_GENERAL_OTHER_TYPES = 0,
00516
U_UPPERCASE_LETTER = 1,
00518
U_LOWERCASE_LETTER = 2,
00520
U_TITLECASE_LETTER = 3,
00522
U_MODIFIER_LETTER = 4,
00524
U_OTHER_LETTER = 5,
00526
U_NON_SPACING_MARK = 6,
00528
U_ENCLOSING_MARK = 7,
00530
U_COMBINING_SPACING_MARK = 8,
00532
U_DECIMAL_DIGIT_NUMBER = 9,
00534
U_LETTER_NUMBER = 10,
00536
U_OTHER_NUMBER = 11,
00538
U_SPACE_SEPARATOR = 12,
00540
U_LINE_SEPARATOR = 13,
00542
U_PARAGRAPH_SEPARATOR = 14,
00544
U_CONTROL_CHAR = 15,
00546
U_FORMAT_CHAR = 16,
00548
U_PRIVATE_USE_CHAR = 17,
00550
U_SURROGATE = 18,
00552
U_DASH_PUNCTUATION = 19,
00554
U_START_PUNCTUATION = 20,
00556
U_END_PUNCTUATION = 21,
00558
U_CONNECTOR_PUNCTUATION = 22,
00560
U_OTHER_PUNCTUATION = 23,
00562
U_MATH_SYMBOL = 24,
00564
U_CURRENCY_SYMBOL = 25,
00566
U_MODIFIER_SYMBOL = 26,
00568
U_OTHER_SYMBOL = 27,
00570
U_INITIAL_PUNCTUATION = 28,
00572
U_FINAL_PUNCTUATION = 29,
00574
U_CHAR_CATEGORY_COUNT
00575 }
UCharCategory;
00576
00591
#define U_GC_CN_MASK U_MASK(U_GENERAL_OTHER_TYPES)
00592
00594
#define U_GC_LU_MASK U_MASK(U_UPPERCASE_LETTER)
00595
00596
#define U_GC_LL_MASK U_MASK(U_LOWERCASE_LETTER)
00597
00598
#define U_GC_LT_MASK U_MASK(U_TITLECASE_LETTER)
00599
00600
#define U_GC_LM_MASK U_MASK(U_MODIFIER_LETTER)
00601
00602
#define U_GC_LO_MASK U_MASK(U_OTHER_LETTER)
00603
00605
#define U_GC_MN_MASK U_MASK(U_NON_SPACING_MARK)
00606
00607
#define U_GC_ME_MASK U_MASK(U_ENCLOSING_MARK)
00608
00609
#define U_GC_MC_MASK U_MASK(U_COMBINING_SPACING_MARK)
00610
00612
#define U_GC_ND_MASK U_MASK(U_DECIMAL_DIGIT_NUMBER)
00613
00614 #define U_GC_NL_MASK U_MASK(U_LETTER_NUMBER)
00615
00616
#define U_GC_NO_MASK U_MASK(U_OTHER_NUMBER)
00617
00619
#define U_GC_ZS_MASK U_MASK(U_SPACE_SEPARATOR)
00620
00621
#define U_GC_ZL_MASK U_MASK(U_LINE_SEPARATOR)
00622
00623
#define U_GC_ZP_MASK U_MASK(U_PARAGRAPH_SEPARATOR)
00624
00626
#define U_GC_CC_MASK U_MASK(U_CONTROL_CHAR)
00627
00628
#define U_GC_CF_MASK U_MASK(U_FORMAT_CHAR)
00629
00630
#define U_GC_CO_MASK U_MASK(U_PRIVATE_USE_CHAR)
00631
00632
#define U_GC_CS_MASK U_MASK(U_SURROGATE)
00633
00635
#define U_GC_PD_MASK U_MASK(U_DASH_PUNCTUATION)
00636
00637
#define U_GC_PS_MASK U_MASK(U_START_PUNCTUATION)
00638
00639
#define U_GC_PE_MASK U_MASK(U_END_PUNCTUATION)
00640
00641
#define U_GC_PC_MASK U_MASK(U_CONNECTOR_PUNCTUATION)
00642
00643
#define U_GC_PO_MASK U_MASK(U_OTHER_PUNCTUATION)
00644
00646
#define U_GC_SM_MASK U_MASK(U_MATH_SYMBOL)
00647
00648
#define U_GC_SC_MASK U_MASK(U_CURRENCY_SYMBOL)
00649
00650
#define U_GC_SK_MASK U_MASK(U_MODIFIER_SYMBOL)
00651
00652
#define U_GC_SO_MASK U_MASK(U_OTHER_SYMBOL)
00653
00655
#define U_GC_PI_MASK U_MASK(U_INITIAL_PUNCTUATION)
00656
00657
#define U_GC_PF_MASK U_MASK(U_FINAL_PUNCTUATION)
00658
00659
00661
#define U_GC_L_MASK \
00662
(U_GC_LU_MASK|U_GC_LL_MASK|U_GC_LT_MASK|U_GC_LM_MASK|U_GC_LO_MASK)
00663
00665
#define U_GC_LC_MASK \
00666
(U_GC_LU_MASK|U_GC_LL_MASK|U_GC_LT_MASK)
00667
00669
#define U_GC_M_MASK (U_GC_MN_MASK|U_GC_ME_MASK|U_GC_MC_MASK)
00670
00672
#define U_GC_N_MASK (U_GC_ND_MASK|U_GC_NL_MASK|U_GC_NO_MASK)
00673
00675
#define U_GC_Z_MASK (U_GC_ZS_MASK|U_GC_ZL_MASK|U_GC_ZP_MASK)
00676
00678
#define U_GC_C_MASK \
00679
(U_GC_CN_MASK|U_GC_CC_MASK|U_GC_CF_MASK|U_GC_CO_MASK|U_GC_CS_MASK)
00680
00682
#define U_GC_P_MASK \
00683
(U_GC_PD_MASK|U_GC_PS_MASK|U_GC_PE_MASK|U_GC_PC_MASK|U_GC_PO_MASK| \
00684
U_GC_PI_MASK|U_GC_PF_MASK)
00685
00687
#define U_GC_S_MASK (U_GC_SM_MASK|U_GC_SC_MASK|U_GC_SK_MASK|U_GC_SO_MASK)
00688
00693
typedef enum UCharDirection {
00697
U_LEFT_TO_RIGHT = 0,
00699
U_RIGHT_TO_LEFT = 1,
00701
U_EUROPEAN_NUMBER = 2,
00703
U_EUROPEAN_NUMBER_SEPARATOR = 3,
00705
U_EUROPEAN_NUMBER_TERMINATOR = 4,
00707
U_ARABIC_NUMBER = 5,
00709
U_COMMON_NUMBER_SEPARATOR = 6,
00711
U_BLOCK_SEPARATOR = 7,
00713
U_SEGMENT_SEPARATOR = 8,
00715
U_WHITE_SPACE_NEUTRAL = 9,
00717
U_OTHER_NEUTRAL = 10,
00719
U_LEFT_TO_RIGHT_EMBEDDING = 11,
00721
U_LEFT_TO_RIGHT_OVERRIDE = 12,
00723
U_RIGHT_TO_LEFT_ARABIC = 13,
00725
U_RIGHT_TO_LEFT_EMBEDDING = 14,
00727
U_RIGHT_TO_LEFT_OVERRIDE = 15,
00729
U_POP_DIRECTIONAL_FORMAT = 16,
00731 U_DIR_NON_SPACING_MARK = 17,
00733
U_BOUNDARY_NEUTRAL = 18,
00735 U_CHAR_DIRECTION_COUNT
00736 }
UCharDirection;
00737
00742
enum UBlockCode {
00743
00745
UBLOCK_NO_BLOCK = 0,
00746
00748
UBLOCK_BASIC_LATIN = 1,
00749
00751 UBLOCK_LATIN_1_SUPPLEMENT=2,
00752
00754 UBLOCK_LATIN_EXTENDED_A =3,
00755
00757 UBLOCK_LATIN_EXTENDED_B =4,
00758
00760
UBLOCK_IPA_EXTENSIONS =5,
00761
00763
UBLOCK_SPACING_MODIFIER_LETTERS =6,
00764
00766
UBLOCK_COMBINING_DIACRITICAL_MARKS =7,
00767
00772
UBLOCK_GREEK =8,
00773
00775
UBLOCK_CYRILLIC =9,
00776
00778
UBLOCK_ARMENIAN =10,
00779
00781 UBLOCK_HEBREW =11,
00782
00784 UBLOCK_ARABIC =12,
00785
00787 UBLOCK_SYRIAC =13,
00788
00790 UBLOCK_THAANA =14,
00791
00793
UBLOCK_DEVANAGARI =15,
00794
00796
UBLOCK_BENGALI =16,
00797
00799
UBLOCK_GURMUKHI =17,
00800
00802
UBLOCK_GUJARATI =18,
00803
00805
UBLOCK_ORIYA =19,
00806
00808
UBLOCK_TAMIL =20,
00809
00811
UBLOCK_TELUGU =21,
00812
00814
UBLOCK_KANNADA =22,
00815
00817
UBLOCK_MALAYALAM =23,
00818
00820
UBLOCK_SINHALA =24,
00821
00823 UBLOCK_THAI =25,
00824
00826 UBLOCK_LAO =26,
00827
00829
UBLOCK_TIBETAN =27,
00830
00832
UBLOCK_MYANMAR =28,
00833
00835
UBLOCK_GEORGIAN =29,
00836
00838
UBLOCK_HANGUL_JAMO =30,
00839
00841 UBLOCK_ETHIOPIC =31,
00842
00844
UBLOCK_CHEROKEE =32,
00845
00847
UBLOCK_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS =33,
00848
00850
UBLOCK_OGHAM =34,
00851
00853 UBLOCK_RUNIC =35,
00854
00856
UBLOCK_KHMER =36,
00857
00859
UBLOCK_MONGOLIAN =37,
00860
00862
UBLOCK_LATIN_EXTENDED_ADDITIONAL =38,
00863
00865
UBLOCK_GREEK_EXTENDED =39,
00866
00868
UBLOCK_GENERAL_PUNCTUATION =40,
00869
00871 UBLOCK_SUPERSCRIPTS_AND_SUBSCRIPTS =41,
00872
00874
UBLOCK_CURRENCY_SYMBOLS =42,
00875
00880
UBLOCK_COMBINING_MARKS_FOR_SYMBOLS =43,
00881
00883
UBLOCK_LETTERLIKE_SYMBOLS =44,
00884
00886
UBLOCK_NUMBER_FORMS =45,
00887
00889
UBLOCK_ARROWS =46,
00890
00892
UBLOCK_MATHEMATICAL_OPERATORS =47,
00893
00895
UBLOCK_MISCELLANEOUS_TECHNICAL =48,
00896
00898
UBLOCK_CONTROL_PICTURES =49,
00899
00901
UBLOCK_OPTICAL_CHARACTER_RECOGNITION =50,
00902
00904
UBLOCK_ENCLOSED_ALPHANUMERICS =51,
00905
00907
UBLOCK_BOX_DRAWING =52,
00908
00910
UBLOCK_BLOCK_ELEMENTS =53,
00911
00913
UBLOCK_GEOMETRIC_SHAPES =54,
00914
00916
UBLOCK_MISCELLANEOUS_SYMBOLS =55,
00917
00919
UBLOCK_DINGBATS =56,
00920
00922
UBLOCK_BRAILLE_PATTERNS =57,
00923
00925
UBLOCK_CJK_RADICALS_SUPPLEMENT =58,
00926
00928
UBLOCK_KANGXI_RADICALS =59,
00929
00931
UBLOCK_IDEOGRAPHIC_DESCRIPTION_CHARACTERS =60,
00932
00934
UBLOCK_CJK_SYMBOLS_AND_PUNCTUATION =61,
00935
00937
UBLOCK_HIRAGANA =62,
00938
00940
UBLOCK_KATAKANA =63,
00941
00943
UBLOCK_BOPOMOFO =64,
00944
00946
UBLOCK_HANGUL_COMPATIBILITY_JAMO =65,
00947
00949
UBLOCK_KANBUN =66,
00950
00952
UBLOCK_BOPOMOFO_EXTENDED =67,
00953
00955
UBLOCK_ENCLOSED_CJK_LETTERS_AND_MONTHS =68,
00956
00958
UBLOCK_CJK_COMPATIBILITY =69,
00959
00961
UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A =70,
00962
00964
UBLOCK_CJK_UNIFIED_IDEOGRAPHS =71,
00965
00967
UBLOCK_YI_SYLLABLES =72,
00968
00970
UBLOCK_YI_RADICALS =73,
00971
00973
UBLOCK_HANGUL_SYLLABLES =74,
00974
00976
UBLOCK_HIGH_SURROGATES =75,
00977
00979
UBLOCK_HIGH_PRIVATE_USE_SURROGATES =76,
00980
00982
UBLOCK_LOW_SURROGATES =77,
00983
00993
UBLOCK_PRIVATE_USE = 78,
01003
UBLOCK_PRIVATE_USE_AREA =
UBLOCK_PRIVATE_USE,
01004
01006
UBLOCK_CJK_COMPATIBILITY_IDEOGRAPHS =79,
01007
01009
UBLOCK_ALPHABETIC_PRESENTATION_FORMS =80,
01010
01012
UBLOCK_ARABIC_PRESENTATION_FORMS_A =81,
01013
01015
UBLOCK_COMBINING_HALF_MARKS =82,
01016
01018
UBLOCK_CJK_COMPATIBILITY_FORMS =83,
01019
01021
UBLOCK_SMALL_FORM_VARIANTS =84,
01022
01024
UBLOCK_ARABIC_PRESENTATION_FORMS_B =85,
01025
01027
UBLOCK_SPECIALS =86,
01028
01030
UBLOCK_HALFWIDTH_AND_FULLWIDTH_FORMS =87,
01031
01032
01033
01035
UBLOCK_OLD_ITALIC = 88 ,
01037
UBLOCK_GOTHIC = 89 ,
01039
UBLOCK_DESERET = 90 ,
01041
UBLOCK_BYZANTINE_MUSICAL_SYMBOLS = 91 ,
01043
UBLOCK_MUSICAL_SYMBOLS = 92 ,
01045
UBLOCK_MATHEMATICAL_ALPHANUMERIC_SYMBOLS = 93 ,
01047
UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B = 94 ,
01049
UBLOCK_CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT = 95 ,
01051
UBLOCK_TAGS = 96,
01052
01053
01054
01059
UBLOCK_CYRILLIC_SUPPLEMENTARY = 97,
01061
UBLOCK_CYRILLIC_SUPPLEMENT =
UBLOCK_CYRILLIC_SUPPLEMENTARY,
01063
UBLOCK_TAGALOG = 98,
01065
UBLOCK_HANUNOO = 99,
01067
UBLOCK_BUHID = 100,
01069
UBLOCK_TAGBANWA = 101,
01071
UBLOCK_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A = 102,
01073
UBLOCK_SUPPLEMENTAL_ARROWS_A = 103,
01075
UBLOCK_SUPPLEMENTAL_ARROWS_B = 104,
01077
UBLOCK_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B = 105,
01079
UBLOCK_SUPPLEMENTAL_MATHEMATICAL_OPERATORS = 106,
01081
UBLOCK_KATAKANA_PHONETIC_EXTENSIONS = 107,
01083
UBLOCK_VARIATION_SELECTORS = 108,
01085
UBLOCK_SUPPLEMENTARY_PRIVATE_USE_AREA_A = 109,
01087
UBLOCK_SUPPLEMENTARY_PRIVATE_USE_AREA_B = 110,
01088
01089
01090
01092
UBLOCK_LIMBU = 111,
01094
UBLOCK_TAI_LE = 112,
01096
UBLOCK_KHMER_SYMBOLS = 113,
01098
UBLOCK_PHONETIC_EXTENSIONS = 114,
01100
UBLOCK_MISCELLANEOUS_SYMBOLS_AND_ARROWS = 115,
01102
UBLOCK_YIJING_HEXAGRAM_SYMBOLS = 116,
01104
UBLOCK_LINEAR_B_SYLLABARY = 117,
01106
UBLOCK_LINEAR_B_IDEOGRAMS = 118,
01108
UBLOCK_AEGEAN_NUMBERS = 119,
01110
UBLOCK_UGARITIC = 120,
01112
UBLOCK_SHAVIAN = 121,
01114
UBLOCK_OSMANYA = 122,
01116
UBLOCK_CYPRIOT_SYLLABARY = 123,
01118
UBLOCK_TAI_XUAN_JING_SYMBOLS = 124,
01120
UBLOCK_VARIATION_SELECTORS_SUPPLEMENT = 125,
01121
01123
UBLOCK_COUNT,
01124
01126
UBLOCK_INVALID_CODE=-1
01127 };
01128
01130
typedef enum UBlockCode UBlockCode;
01131
01139
typedef enum UEastAsianWidth {
01140
U_EA_NEUTRAL,
01141
U_EA_AMBIGUOUS,
01142
U_EA_HALFWIDTH,
01143
U_EA_FULLWIDTH,
01144
U_EA_NARROW,
01145
U_EA_WIDE,
01146
U_EA_COUNT
01147 }
UEastAsianWidth;
01148
01149
01150
01151
01152
01164
typedef enum UCharNameChoice {
01165
U_UNICODE_CHAR_NAME,
01166
U_UNICODE_10_CHAR_NAME,
01167
U_EXTENDED_CHAR_NAME,
01168
U_CHAR_NAME_CHOICE_COUNT
01169 }
UCharNameChoice;
01170
01184
typedef enum UPropertyNameChoice {
01185
U_SHORT_PROPERTY_NAME,
01186
U_LONG_PROPERTY_NAME,
01187
U_PROPERTY_NAME_CHOICE_COUNT
01188 }
UPropertyNameChoice;
01189
01196
typedef enum UDecompositionType {
01197
U_DT_NONE,
01198
U_DT_CANONICAL,
01199
U_DT_COMPAT,
01200
U_DT_CIRCLE,
01201
U_DT_FINAL,
01202
U_DT_FONT,
01203
U_DT_FRACTION,
01204
U_DT_INITIAL,
01205
U_DT_ISOLATED,
01206
U_DT_MEDIAL,
01207
U_DT_NARROW,
01208
U_DT_NOBREAK,
01209
U_DT_SMALL,
01210
U_DT_SQUARE,
01211
U_DT_SUB,
01212
U_DT_SUPER,
01213
U_DT_VERTICAL,
01214
U_DT_WIDE,
01215
U_DT_COUNT
01216 }
UDecompositionType;
01217
01224
typedef enum UJoiningType {
01225
U_JT_NON_JOINING,
01226
U_JT_JOIN_CAUSING,
01227
U_JT_DUAL_JOINING,
01228
U_JT_LEFT_JOINING,
01229
U_JT_RIGHT_JOINING,
01230
U_JT_TRANSPARENT,
01231
U_JT_COUNT
01232 }
UJoiningType;
01233
01240
typedef enum UJoiningGroup {
01241
U_JG_NO_JOINING_GROUP,
01242
U_JG_AIN,
01243
U_JG_ALAPH,
01244
U_JG_ALEF,
01245
U_JG_BEH,
01246
U_JG_BETH,
01247
U_JG_DAL,
01248
U_JG_DALATH_RISH,
01249
U_JG_E,
01250
U_JG_FEH,
01251
U_JG_FINAL_SEMKATH,
01252
U_JG_GAF,
01253
U_JG_GAMAL,
01254
U_JG_HAH,
01255
U_JG_HAMZA_ON_HEH_GOAL,
01256
U_JG_HE,
01257
U_JG_HEH,
01258
U_JG_HEH_GOAL,
01259
U_JG_HETH,
01260
U_JG_KAF,
01261
U_JG_KAPH,
01262
U_JG_KNOTTED_HEH,
01263
U_JG_LAM,
01264
U_JG_LAMADH,
01265
U_JG_MEEM,
01266
U_JG_MIM,
01267
U_JG_NOON,
01268
U_JG_NUN,
01269
U_JG_PE,
01270
U_JG_QAF,
01271
U_JG_QAPH,
01272
U_JG_REH,
01273
U_JG_REVERSED_PE,
01274
U_JG_SAD,
01275
U_JG_SADHE,
01276
U_JG_SEEN,
01277
U_JG_SEMKATH,
01278
U_JG_SHIN,
01279
U_JG_SWASH_KAF,
01280
U_JG_SYRIAC_WAW,
01281
U_JG_TAH,
01282
U_JG_TAW,
01283
U_JG_TEH_MARBUTA,
01284
U_JG_TETH,
01285
U_JG_WAW,
01286
U_JG_YEH,
01287
U_JG_YEH_BARREE,
01288
U_JG_YEH_WITH_TAIL,
01289
U_JG_YUDH,
01290
U_JG_YUDH_HE,
01291
U_JG_ZAIN,
01292
U_JG_FE,
01293
U_JG_KHAPH,
01294
U_JG_ZHAIN,
01295
U_JG_COUNT
01296 }
UJoiningGroup;
01297
01304
typedef enum ULineBreak {
01305
U_LB_UNKNOWN,
01306
U_LB_AMBIGUOUS,
01307
U_LB_ALPHABETIC,
01308
U_LB_BREAK_BOTH,
01309
U_LB_BREAK_AFTER,
01310
U_LB_BREAK_BEFORE,
01311
U_LB_MANDATORY_BREAK,
01312
U_LB_CONTINGENT_BREAK,
01313
U_LB_CLOSE_PUNCTUATION,
01314
U_LB_COMBINING_MARK,
01315
U_LB_CARRIAGE_RETURN,
01316
U_LB_EXCLAMATION,
01317
U_LB_GLUE,
01318
U_LB_HYPHEN,
01319
U_LB_IDEOGRAPHIC,
01320
U_LB_INSEPERABLE,
01322
U_LB_INSEPARABLE=
U_LB_INSEPERABLE,
01323
U_LB_INFIX_NUMERIC,
01324
U_LB_LINE_FEED,
01325
U_LB_NONSTARTER,
01326
U_LB_NUMERIC,
01327
U_LB_OPEN_PUNCTUATION,
01328
U_LB_POSTFIX_NUMERIC,
01329
U_LB_PREFIX_NUMERIC,
01330
U_LB_QUOTATION,
01331
U_LB_COMPLEX_CONTEXT,
01332
U_LB_SURROGATE,
01333
U_LB_SPACE,
01334
U_LB_BREAK_SYMBOLS,
01335
U_LB_ZWSPACE,
01336
U_LB_NEXT_LINE,
01337
U_LB_WORD_JOINER,
01338
U_LB_COUNT
01339 }
ULineBreak;
01340
01347
typedef enum UNumericType {
01348
U_NT_NONE,
01349
U_NT_DECIMAL,
01350
U_NT_DIGIT,
01351
U_NT_NUMERIC,
01352
U_NT_COUNT
01353 }
UNumericType;
01354
01361
typedef enum UHangulSyllableType {
01362
U_HST_NOT_APPLICABLE,
01363
U_HST_LEADING_JAMO,
01364
U_HST_VOWEL_JAMO,
01365
U_HST_TRAILING_JAMO,
01366
U_HST_LV_SYLLABLE,
01367
U_HST_LVT_SYLLABLE,
01368
U_HST_COUNT
01369 }
UHangulSyllableType;
01370
01397
U_STABLE UBool U_EXPORT2
01398
u_hasBinaryProperty(UChar32 c, UProperty which);
01399
01412
U_STABLE UBool U_EXPORT2
01413
u_isUAlphabetic(UChar32 c);
01414
01427
U_STABLE UBool U_EXPORT2
01428
u_isULowercase(UChar32 c);
01429
01442
U_STABLE UBool U_EXPORT2
01443
u_isUUppercase(UChar32 c);
01444
01463
U_STABLE UBool U_EXPORT2
01464
u_isUWhiteSpace(UChar32 c);
01465
01503
U_STABLE int32_t U_EXPORT2
01504
u_getIntPropertyValue(UChar32 c, UProperty which);
01505
01524
U_STABLE int32_t U_EXPORT2
01525
u_getIntPropertyMinValue(UProperty which);
01526
01553
U_STABLE int32_t U_EXPORT2
01554
u_getIntPropertyMaxValue(UProperty which);
01555
01576 U_STABLE double U_EXPORT2
01577
u_getNumericValue(UChar32 c);
01578
01586
#define U_NO_NUMERIC_VALUE ((double)-123456789.)
01587
01612
U_STABLE UBool U_EXPORT2
01613
u_islower(UChar32 c);
01614
01639
U_STABLE UBool U_EXPORT2
01640
u_isupper(UChar32 c);
01641
01656
U_STABLE UBool U_EXPORT2
01657
u_istitle(UChar32 c);
01658
01677
U_STABLE UBool U_EXPORT2
01678
u_isdigit(UChar32 c);
01679
01698
U_STABLE UBool U_EXPORT2
01699
u_isalpha(UChar32 c);
01700
01719
U_STABLE UBool U_EXPORT2
01720
u_isalnum(UChar32 c);
01721
01742
U_DRAFT UBool U_EXPORT2
01743
u_isxdigit(UChar32 c);
01744
01758
U_DRAFT UBool U_EXPORT2
01759
u_ispunct(UChar32 c);
01760
01777
U_DRAFT UBool U_EXPORT2
01778
u_isgraph(UChar32 c);
01779
01806
U_DRAFT UBool U_EXPORT2
01807
u_isblank(UChar32 c);
01808
01831
U_STABLE UBool U_EXPORT2
01832
u_isdefined(UChar32 c);
01833
01852
U_STABLE UBool U_EXPORT2
01853
u_isspace(UChar32 c);
01854
01873
U_DRAFT UBool U_EXPORT2
01874
u_isJavaSpaceChar(UChar32 c);
01875
01907
U_STABLE UBool U_EXPORT2
01908
u_isWhitespace(UChar32 c);
01909
01931
U_STABLE UBool U_EXPORT2
01932
u_iscntrl(UChar32 c);
01933
01946
U_DRAFT UBool U_EXPORT2
01947
u_isISOControl(UChar32 c);
01948
01964
U_STABLE UBool U_EXPORT2
01965
u_isprint(UChar32 c);
01966
01985
U_STABLE UBool U_EXPORT2
01986
u_isbase(UChar32 c);
01987
02004
U_STABLE UCharDirection U_EXPORT2
02005
u_charDirection(UChar32 c);
02006
02022
U_STABLE UBool U_EXPORT2
02023
u_isMirrored(UChar32 c);
02024
02044
U_STABLE UChar32 U_EXPORT2
02045
u_charMirror(UChar32 c);
02046
02058
U_STABLE int8_t U_EXPORT2
02059
u_charType(UChar32 c);
02060
02074
#define U_GET_GC_MASK(c) U_MASK(u_charType(c))
02075
02093
typedef UBool U_CALLCONV
02094
UCharEnumTypeRange(
const void *context, UChar32 start, UChar32 limit, UCharCategory type);
02095
02115
U_STABLE void U_EXPORT2
02116
u_enumCharTypes(UCharEnumTypeRange *enumRange,
const void *context);
02117
02118
#if !UCONFIG_NO_NORMALIZATION
02119
02127
U_STABLE uint8_t U_EXPORT2
02128
u_getCombiningClass(UChar32 c);
02129
02130
#endif
02131
02155
U_STABLE int32_t U_EXPORT2
02156
u_charDigitValue(UChar32 c);
02157
02167
U_STABLE UBlockCode U_EXPORT2
02168
ublock_getCode(UChar32 c);
02169
02202
U_STABLE int32_t U_EXPORT2
02203
u_charName(UChar32 code, UCharNameChoice nameChoice,
02204
char *buffer, int32_t bufferLength,
02205 UErrorCode *pErrorCode);
02206
02229
U_STABLE int32_t U_EXPORT2
02230
u_getISOComment(UChar32 c,
02231
char *dest, int32_t destCapacity,
02232 UErrorCode *pErrorCode);
02233
02254
U_STABLE UChar32 U_EXPORT2
02255
u_charFromName(UCharNameChoice nameChoice,
02256
const char *name,
02257 UErrorCode *pErrorCode);
02258
02276
typedef UBool UEnumCharNamesFn(
void *context,
02277 UChar32 code,
02278 UCharNameChoice nameChoice,
02279
const char *name,
02280 int32_t length);
02281
02303
U_STABLE void U_EXPORT2
02304
u_enumCharNames(UChar32 start, UChar32 limit,
02305 UEnumCharNamesFn *fn,
02306
void *context,
02307 UCharNameChoice nameChoice,
02308 UErrorCode *pErrorCode);
02309
02341
U_STABLE const char*
U_EXPORT2
02342
u_getPropertyName(UProperty property,
02343 UPropertyNameChoice nameChoice);
02344
02364
U_STABLE UProperty U_EXPORT2
02365
u_getPropertyEnum(
const char* alias);
02366
02414
U_STABLE const char*
U_EXPORT2
02415
u_getPropertyValueName(UProperty property,
02416 int32_t value,
02417 UPropertyNameChoice nameChoice);
02418
02450
U_STABLE int32_t U_EXPORT2
02451
u_getPropertyValueEnum(UProperty property,
02452
const char* alias);
02453
02471
U_STABLE UBool U_EXPORT2
02472
u_isIDStart(UChar32 c);
02473
02495
U_STABLE UBool U_EXPORT2
02496
u_isIDPart(UChar32 c);
02497
02520
U_STABLE UBool U_EXPORT2
02521
u_isIDIgnorable(UChar32 c);
02522
02539
U_STABLE UBool U_EXPORT2
02540
u_isJavaIDStart(UChar32 c);
02541
02560
U_STABLE UBool U_EXPORT2
02561
u_isJavaIDPart(UChar32 c);
02562
02581
U_STABLE UChar32 U_EXPORT2
02582
u_tolower(UChar32 c);
02583
02602
U_STABLE UChar32 U_EXPORT2
02603
u_toupper(UChar32 c);
02604
02623
U_STABLE UChar32 U_EXPORT2
02624
u_totitle(UChar32 c);
02625
02627
#define U_FOLD_CASE_DEFAULT 0
02628
02645
#define U_FOLD_CASE_EXCLUDE_SPECIAL_I 1
02646
02665
U_STABLE UChar32 U_EXPORT2
02666
u_foldCase(UChar32 c, uint32_t options);
02667
02706
U_STABLE int32_t U_EXPORT2
02707
u_digit(UChar32 ch, int8_t radix);
02708
02737
U_STABLE UChar32 U_EXPORT2
02738
u_forDigit(int32_t digit, int8_t radix);
02739
02754
U_STABLE void U_EXPORT2
02755
u_charAge(UChar32 c,
UVersionInfo versionArray);
02756
02768
U_STABLE void U_EXPORT2
02769
u_getUnicodeVersion(UVersionInfo versionArray);
02770
02792
U_STABLE int32_t U_EXPORT2
02793
u_getFC_NFKC_Closure(UChar32 c, UChar *dest, int32_t destCapacity, UErrorCode *pErrorCode);
02794
02795
U_CDECL_END
02796
02797
#endif
02798
Generated on Fri Jun 18 12:36:00 2004 for ICU by
1.3.7