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"
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,
00290
UCHAR_BINARY_LIMIT,
00291
00294
UCHAR_BIDI_CLASS=0x1000,
00296
UCHAR_INT_START=
UCHAR_BIDI_CLASS,
00299
UCHAR_BLOCK,
00302
UCHAR_CANONICAL_COMBINING_CLASS,
00305
UCHAR_DECOMPOSITION_TYPE,
00309
UCHAR_EAST_ASIAN_WIDTH,
00312
UCHAR_GENERAL_CATEGORY,
00315
UCHAR_JOINING_GROUP,
00318
UCHAR_JOINING_TYPE,
00321
UCHAR_LINE_BREAK,
00324
UCHAR_NUMERIC_TYPE,
00327
UCHAR_SCRIPT,
00330
UCHAR_HANGUL_SYLLABLE_TYPE,
00332
UCHAR_INT_LIMIT,
00333
00342
UCHAR_GENERAL_CATEGORY_MASK=0x2000,
00344
UCHAR_MASK_START=
UCHAR_GENERAL_CATEGORY_MASK,
00346
UCHAR_MASK_LIMIT,
00347
00350
UCHAR_NUMERIC_VALUE=0x3000,
00352
UCHAR_DOUBLE_START=
UCHAR_NUMERIC_VALUE,
00354
UCHAR_DOUBLE_LIMIT,
00355
00358
UCHAR_AGE=0x4000,
00360
UCHAR_STRING_START=
UCHAR_AGE,
00363
UCHAR_BIDI_MIRRORING_GLYPH,
00366
UCHAR_CASE_FOLDING,
00369
UCHAR_ISO_COMMENT,
00372
UCHAR_LOWERCASE_MAPPING,
00375
UCHAR_NAME,
00378
UCHAR_SIMPLE_CASE_FOLDING,
00381
UCHAR_SIMPLE_LOWERCASE_MAPPING,
00384
UCHAR_SIMPLE_TITLECASE_MAPPING,
00387
UCHAR_SIMPLE_UPPERCASE_MAPPING,
00390
UCHAR_TITLECASE_MAPPING,
00393
UCHAR_UNICODE_1_NAME,
00396
UCHAR_UPPERCASE_MAPPING,
00398
UCHAR_STRING_LIMIT,
00399
00401
UCHAR_INVALID_CODE = -1
00402 }
UProperty;
00403
00409 typedef enum UCharCategory
00410 {
00414
U_UNASSIGNED = 0,
00416
U_GENERAL_OTHER_TYPES = 0,
00418
U_UPPERCASE_LETTER = 1,
00420
U_LOWERCASE_LETTER = 2,
00422
U_TITLECASE_LETTER = 3,
00424
U_MODIFIER_LETTER = 4,
00426
U_OTHER_LETTER = 5,
00428
U_NON_SPACING_MARK = 6,
00430
U_ENCLOSING_MARK = 7,
00432
U_COMBINING_SPACING_MARK = 8,
00434
U_DECIMAL_DIGIT_NUMBER = 9,
00436
U_LETTER_NUMBER = 10,
00438
U_OTHER_NUMBER = 11,
00440
U_SPACE_SEPARATOR = 12,
00442
U_LINE_SEPARATOR = 13,
00444
U_PARAGRAPH_SEPARATOR = 14,
00446
U_CONTROL_CHAR = 15,
00448
U_FORMAT_CHAR = 16,
00450
U_PRIVATE_USE_CHAR = 17,
00452
U_SURROGATE = 18,
00454
U_DASH_PUNCTUATION = 19,
00456
U_START_PUNCTUATION = 20,
00458
U_END_PUNCTUATION = 21,
00460
U_CONNECTOR_PUNCTUATION = 22,
00462
U_OTHER_PUNCTUATION = 23,
00464
U_MATH_SYMBOL = 24,
00466
U_CURRENCY_SYMBOL = 25,
00468
U_MODIFIER_SYMBOL = 26,
00470
U_OTHER_SYMBOL = 27,
00472
U_INITIAL_PUNCTUATION = 28,
00474
U_FINAL_PUNCTUATION = 29,
00476
U_CHAR_CATEGORY_COUNT
00477 }
UCharCategory;
00478
00493 #define U_GC_CN_MASK U_MASK(U_GENERAL_OTHER_TYPES)
00494
00496 #define U_GC_LU_MASK U_MASK(U_UPPERCASE_LETTER)
00497
00498 #define U_GC_LL_MASK U_MASK(U_LOWERCASE_LETTER)
00499
00500 #define U_GC_LT_MASK U_MASK(U_TITLECASE_LETTER)
00501
00502 #define U_GC_LM_MASK U_MASK(U_MODIFIER_LETTER)
00503
00504 #define U_GC_LO_MASK U_MASK(U_OTHER_LETTER)
00505
00507 #define U_GC_MN_MASK U_MASK(U_NON_SPACING_MARK)
00508
00509 #define U_GC_ME_MASK U_MASK(U_ENCLOSING_MARK)
00510
00511 #define U_GC_MC_MASK U_MASK(U_COMBINING_SPACING_MARK)
00512
00514 #define U_GC_ND_MASK U_MASK(U_DECIMAL_DIGIT_NUMBER)
00515
00516 #define U_GC_NL_MASK U_MASK(U_LETTER_NUMBER)
00517
00518 #define U_GC_NO_MASK U_MASK(U_OTHER_NUMBER)
00519
00521 #define U_GC_ZS_MASK U_MASK(U_SPACE_SEPARATOR)
00522
00523 #define U_GC_ZL_MASK U_MASK(U_LINE_SEPARATOR)
00524
00525 #define U_GC_ZP_MASK U_MASK(U_PARAGRAPH_SEPARATOR)
00526
00528 #define U_GC_CC_MASK U_MASK(U_CONTROL_CHAR)
00529
00530 #define U_GC_CF_MASK U_MASK(U_FORMAT_CHAR)
00531
00532 #define U_GC_CO_MASK U_MASK(U_PRIVATE_USE_CHAR)
00533
00534 #define U_GC_CS_MASK U_MASK(U_SURROGATE)
00535
00537 #define U_GC_PD_MASK U_MASK(U_DASH_PUNCTUATION)
00538
00539 #define U_GC_PS_MASK U_MASK(U_START_PUNCTUATION)
00540
00541 #define U_GC_PE_MASK U_MASK(U_END_PUNCTUATION)
00542
00543 #define U_GC_PC_MASK U_MASK(U_CONNECTOR_PUNCTUATION)
00544
00545 #define U_GC_PO_MASK U_MASK(U_OTHER_PUNCTUATION)
00546
00548 #define U_GC_SM_MASK U_MASK(U_MATH_SYMBOL)
00549
00550 #define U_GC_SC_MASK U_MASK(U_CURRENCY_SYMBOL)
00551
00552 #define U_GC_SK_MASK U_MASK(U_MODIFIER_SYMBOL)
00553
00554 #define U_GC_SO_MASK U_MASK(U_OTHER_SYMBOL)
00555
00557 #define U_GC_PI_MASK U_MASK(U_INITIAL_PUNCTUATION)
00558
00559 #define U_GC_PF_MASK U_MASK(U_FINAL_PUNCTUATION)
00560
00561
00563 #define U_GC_L_MASK \
00564
(U_GC_LU_MASK|U_GC_LL_MASK|U_GC_LT_MASK|U_GC_LM_MASK|U_GC_LO_MASK)
00565
00567 #define U_GC_LC_MASK \
00568
(U_GC_LU_MASK|U_GC_LL_MASK|U_GC_LT_MASK)
00569
00571 #define U_GC_M_MASK (U_GC_MN_MASK|U_GC_ME_MASK|U_GC_MC_MASK)
00572
00574 #define U_GC_N_MASK (U_GC_ND_MASK|U_GC_NL_MASK|U_GC_NO_MASK)
00575
00577 #define U_GC_Z_MASK (U_GC_ZS_MASK|U_GC_ZL_MASK|U_GC_ZP_MASK)
00578
00580 #define U_GC_C_MASK \
00581
(U_GC_CN_MASK|U_GC_CC_MASK|U_GC_CF_MASK|U_GC_CO_MASK|U_GC_CS_MASK)
00582
00584 #define U_GC_P_MASK \
00585
(U_GC_PD_MASK|U_GC_PS_MASK|U_GC_PE_MASK|U_GC_PC_MASK|U_GC_PO_MASK| \
00586
U_GC_PI_MASK|U_GC_PF_MASK)
00587
00589 #define U_GC_S_MASK (U_GC_SM_MASK|U_GC_SC_MASK|U_GC_SK_MASK|U_GC_SO_MASK)
00590
00595 typedef enum UCharDirection {
00599
U_LEFT_TO_RIGHT = 0,
00601
U_RIGHT_TO_LEFT = 1,
00603
U_EUROPEAN_NUMBER = 2,
00605
U_EUROPEAN_NUMBER_SEPARATOR = 3,
00607
U_EUROPEAN_NUMBER_TERMINATOR = 4,
00609
U_ARABIC_NUMBER = 5,
00611
U_COMMON_NUMBER_SEPARATOR = 6,
00613
U_BLOCK_SEPARATOR = 7,
00615
U_SEGMENT_SEPARATOR = 8,
00617
U_WHITE_SPACE_NEUTRAL = 9,
00619
U_OTHER_NEUTRAL = 10,
00621
U_LEFT_TO_RIGHT_EMBEDDING = 11,
00623
U_LEFT_TO_RIGHT_OVERRIDE = 12,
00625
U_RIGHT_TO_LEFT_ARABIC = 13,
00627
U_RIGHT_TO_LEFT_EMBEDDING = 14,
00629
U_RIGHT_TO_LEFT_OVERRIDE = 15,
00631
U_POP_DIRECTIONAL_FORMAT = 16,
00633
U_DIR_NON_SPACING_MARK = 17,
00635
U_BOUNDARY_NEUTRAL = 18,
00637
U_CHAR_DIRECTION_COUNT
00638 }
UCharDirection;
00639
00644 enum UBlockCode {
00646
UBLOCK_NO_BLOCK = 0,
00647
00649
UBLOCK_BASIC_LATIN = 1,
00650
00652
UBLOCK_LATIN_1_SUPPLEMENT=2,
00653
00655
UBLOCK_LATIN_EXTENDED_A =3,
00656
00658
UBLOCK_LATIN_EXTENDED_B =4,
00659
00661
UBLOCK_IPA_EXTENSIONS =5,
00662
00664
UBLOCK_SPACING_MODIFIER_LETTERS =6,
00665
00667
UBLOCK_COMBINING_DIACRITICAL_MARKS =7,
00668
00673
UBLOCK_GREEK =8,
00674
00676
UBLOCK_CYRILLIC =9,
00677
00679
UBLOCK_ARMENIAN =10,
00680
00682
UBLOCK_HEBREW =11,
00683
00685
UBLOCK_ARABIC =12,
00686
00688
UBLOCK_SYRIAC =13,
00689
00691
UBLOCK_THAANA =14,
00692
00694
UBLOCK_DEVANAGARI =15,
00695
00697
UBLOCK_BENGALI =16,
00698
00700
UBLOCK_GURMUKHI =17,
00701
00703
UBLOCK_GUJARATI =18,
00704
00706
UBLOCK_ORIYA =19,
00707
00709
UBLOCK_TAMIL =20,
00710
00712
UBLOCK_TELUGU =21,
00713
00715
UBLOCK_KANNADA =22,
00716
00718
UBLOCK_MALAYALAM =23,
00719
00721
UBLOCK_SINHALA =24,
00722
00724
UBLOCK_THAI =25,
00725
00727
UBLOCK_LAO =26,
00728
00730
UBLOCK_TIBETAN =27,
00731
00733
UBLOCK_MYANMAR =28,
00734
00736
UBLOCK_GEORGIAN =29,
00737
00739
UBLOCK_HANGUL_JAMO =30,
00740
00742
UBLOCK_ETHIOPIC =31,
00743
00745
UBLOCK_CHEROKEE =32,
00746
00748
UBLOCK_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS =33,
00749
00751
UBLOCK_OGHAM =34,
00752
00754
UBLOCK_RUNIC =35,
00755
00757
UBLOCK_KHMER =36,
00758
00760
UBLOCK_MONGOLIAN =37,
00761
00763
UBLOCK_LATIN_EXTENDED_ADDITIONAL =38,
00764
00766
UBLOCK_GREEK_EXTENDED =39,
00767
00769
UBLOCK_GENERAL_PUNCTUATION =40,
00770
00772
UBLOCK_SUPERSCRIPTS_AND_SUBSCRIPTS =41,
00773
00775
UBLOCK_CURRENCY_SYMBOLS =42,
00776
00781
UBLOCK_COMBINING_MARKS_FOR_SYMBOLS =43,
00782
00784
UBLOCK_LETTERLIKE_SYMBOLS =44,
00785
00787
UBLOCK_NUMBER_FORMS =45,
00788
00790
UBLOCK_ARROWS =46,
00791
00793
UBLOCK_MATHEMATICAL_OPERATORS =47,
00794
00796
UBLOCK_MISCELLANEOUS_TECHNICAL =48,
00797
00799
UBLOCK_CONTROL_PICTURES =49,
00800
00802
UBLOCK_OPTICAL_CHARACTER_RECOGNITION =50,
00803
00805
UBLOCK_ENCLOSED_ALPHANUMERICS =51,
00806
00808
UBLOCK_BOX_DRAWING =52,
00809
00811
UBLOCK_BLOCK_ELEMENTS =53,
00812
00814
UBLOCK_GEOMETRIC_SHAPES =54,
00815
00817
UBLOCK_MISCELLANEOUS_SYMBOLS =55,
00818
00820
UBLOCK_DINGBATS =56,
00821
00823
UBLOCK_BRAILLE_PATTERNS =57,
00824
00826
UBLOCK_CJK_RADICALS_SUPPLEMENT =58,
00827
00829
UBLOCK_KANGXI_RADICALS =59,
00830
00832
UBLOCK_IDEOGRAPHIC_DESCRIPTION_CHARACTERS =60,
00833
00835
UBLOCK_CJK_SYMBOLS_AND_PUNCTUATION =61,
00836
00838
UBLOCK_HIRAGANA =62,
00839
00841
UBLOCK_KATAKANA =63,
00842
00844
UBLOCK_BOPOMOFO =64,
00845
00847
UBLOCK_HANGUL_COMPATIBILITY_JAMO =65,
00848
00850
UBLOCK_KANBUN =66,
00851
00853
UBLOCK_BOPOMOFO_EXTENDED =67,
00854
00856
UBLOCK_ENCLOSED_CJK_LETTERS_AND_MONTHS =68,
00857
00859
UBLOCK_CJK_COMPATIBILITY =69,
00860
00862
UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A =70,
00863
00865
UBLOCK_CJK_UNIFIED_IDEOGRAPHS =71,
00866
00868
UBLOCK_YI_SYLLABLES =72,
00869
00871
UBLOCK_YI_RADICALS =73,
00872
00874
UBLOCK_HANGUL_SYLLABLES =74,
00875
00877
UBLOCK_HIGH_SURROGATES =75,
00878
00880
UBLOCK_HIGH_PRIVATE_USE_SURROGATES =76,
00881
00883
UBLOCK_LOW_SURROGATES =77,
00884
00894
UBLOCK_PRIVATE_USE = 78,
00904
UBLOCK_PRIVATE_USE_AREA =
UBLOCK_PRIVATE_USE,
00905
00907
UBLOCK_CJK_COMPATIBILITY_IDEOGRAPHS =79,
00908
00910
UBLOCK_ALPHABETIC_PRESENTATION_FORMS =80,
00911
00913
UBLOCK_ARABIC_PRESENTATION_FORMS_A =81,
00914
00916
UBLOCK_COMBINING_HALF_MARKS =82,
00917
00919
UBLOCK_CJK_COMPATIBILITY_FORMS =83,
00920
00922
UBLOCK_SMALL_FORM_VARIANTS =84,
00923
00925
UBLOCK_ARABIC_PRESENTATION_FORMS_B =85,
00926
00928
UBLOCK_SPECIALS =86,
00929
00931
UBLOCK_HALFWIDTH_AND_FULLWIDTH_FORMS =87,
00932
00933
00934
00936
UBLOCK_OLD_ITALIC = 88 ,
00938
UBLOCK_GOTHIC = 89 ,
00940
UBLOCK_DESERET = 90 ,
00942
UBLOCK_BYZANTINE_MUSICAL_SYMBOLS = 91 ,
00944
UBLOCK_MUSICAL_SYMBOLS = 92 ,
00946
UBLOCK_MATHEMATICAL_ALPHANUMERIC_SYMBOLS = 93 ,
00948
UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B = 94 ,
00950
UBLOCK_CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT = 95 ,
00952
UBLOCK_TAGS = 96,
00953
00954
00955
00957
UBLOCK_CYRILLIC_SUPPLEMENTARY = 97,
00959
UBLOCK_TAGALOG = 98,
00961
UBLOCK_HANUNOO = 99,
00963
UBLOCK_BUHID = 100,
00965
UBLOCK_TAGBANWA = 101,
00967
UBLOCK_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A = 102,
00969
UBLOCK_SUPPLEMENTAL_ARROWS_A = 103,
00971
UBLOCK_SUPPLEMENTAL_ARROWS_B = 104,
00973
UBLOCK_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B = 105,
00975
UBLOCK_SUPPLEMENTAL_MATHEMATICAL_OPERATORS = 106,
00977
UBLOCK_KATAKANA_PHONETIC_EXTENSIONS = 107,
00979
UBLOCK_VARIATION_SELECTORS = 108,
00981
UBLOCK_SUPPLEMENTARY_PRIVATE_USE_AREA_A = 109,
00983
UBLOCK_SUPPLEMENTARY_PRIVATE_USE_AREA_B = 110,
00984
00985
00986
00988
UBLOCK_LIMBU = 111,
00990
UBLOCK_TAI_LE = 112,
00992
UBLOCK_KHMER_SYMBOLS = 113,
00994
UBLOCK_PHONETIC_EXTENSIONS = 114,
00996
UBLOCK_MISCELLANEOUS_SYMBOLS_AND_ARROWS = 115,
00998
UBLOCK_YIJING_HEXAGRAM_SYMBOLS = 116,
01000
UBLOCK_LINEAR_B_SYLLABARY = 117,
01002
UBLOCK_LINEAR_B_IDEOGRAMS = 118,
01004
UBLOCK_AEGEAN_NUMBERS = 119,
01006
UBLOCK_UGARITIC = 120,
01008
UBLOCK_SHAVIAN = 121,
01010
UBLOCK_OSMANYA = 122,
01012
UBLOCK_CYPRIOT_SYLLABARY = 123,
01014
UBLOCK_TAI_XUAN_JING_SYMBOLS = 124,
01016
UBLOCK_VARIATION_SELECTORS_SUPPLEMENT = 125,
01017
01019
UBLOCK_COUNT,
01020
01022
UBLOCK_INVALID_CODE=-1
01023 };
01024
01026 typedef enum UBlockCode UBlockCode;
01027
01035 typedef enum UEastAsianWidth {
01036 U_EA_NEUTRAL,
01037 U_EA_AMBIGUOUS,
01038 U_EA_HALFWIDTH,
01039 U_EA_FULLWIDTH,
01040 U_EA_NARROW,
01041 U_EA_WIDE,
01042 U_EA_COUNT
01043 }
UEastAsianWidth;
01044
01045
01046
01047
01048
01060 typedef enum UCharNameChoice {
01061 U_UNICODE_CHAR_NAME,
01062 U_UNICODE_10_CHAR_NAME,
01063 U_EXTENDED_CHAR_NAME,
01064 U_CHAR_NAME_CHOICE_COUNT
01065 }
UCharNameChoice;
01066
01080 typedef enum UPropertyNameChoice {
01081 U_SHORT_PROPERTY_NAME,
01082 U_LONG_PROPERTY_NAME,
01083 U_PROPERTY_NAME_CHOICE_COUNT
01084 }
UPropertyNameChoice;
01085
01092 typedef enum UDecompositionType {
01093 U_DT_NONE,
01094 U_DT_CANONICAL,
01095 U_DT_COMPAT,
01096 U_DT_CIRCLE,
01097 U_DT_FINAL,
01098 U_DT_FONT,
01099 U_DT_FRACTION,
01100 U_DT_INITIAL,
01101 U_DT_ISOLATED,
01102 U_DT_MEDIAL,
01103 U_DT_NARROW,
01104 U_DT_NOBREAK,
01105 U_DT_SMALL,
01106 U_DT_SQUARE,
01107 U_DT_SUB,
01108 U_DT_SUPER,
01109 U_DT_VERTICAL,
01110 U_DT_WIDE,
01111 U_DT_COUNT
01112 }
UDecompositionType;
01113
01120 typedef enum UJoiningType {
01121 U_JT_NON_JOINING,
01122 U_JT_JOIN_CAUSING,
01123 U_JT_DUAL_JOINING,
01124 U_JT_LEFT_JOINING,
01125 U_JT_RIGHT_JOINING,
01126 U_JT_TRANSPARENT,
01127 U_JT_COUNT
01128 }
UJoiningType;
01129
01136 typedef enum UJoiningGroup {
01137 U_JG_NO_JOINING_GROUP,
01138 U_JG_AIN,
01139 U_JG_ALAPH,
01140 U_JG_ALEF,
01141 U_JG_BEH,
01142 U_JG_BETH,
01143 U_JG_DAL,
01144 U_JG_DALATH_RISH,
01145 U_JG_E,
01146 U_JG_FEH,
01147 U_JG_FINAL_SEMKATH,
01148 U_JG_GAF,
01149 U_JG_GAMAL,
01150 U_JG_HAH,
01151 U_JG_HAMZA_ON_HEH_GOAL,
01152 U_JG_HE,
01153 U_JG_HEH,
01154 U_JG_HEH_GOAL,
01155 U_JG_HETH,
01156 U_JG_KAF,
01157 U_JG_KAPH,
01158 U_JG_KNOTTED_HEH,
01159 U_JG_LAM,
01160 U_JG_LAMADH,
01161 U_JG_MEEM,
01162 U_JG_MIM,
01163 U_JG_NOON,
01164 U_JG_NUN,
01165 U_JG_PE,
01166 U_JG_QAF,
01167 U_JG_QAPH,
01168 U_JG_REH,
01169 U_JG_REVERSED_PE,
01170 U_JG_SAD,
01171 U_JG_SADHE,
01172 U_JG_SEEN,
01173 U_JG_SEMKATH,
01174 U_JG_SHIN,
01175 U_JG_SWASH_KAF,
01176 U_JG_SYRIAC_WAW,
01177 U_JG_TAH,
01178 U_JG_TAW,
01179 U_JG_TEH_MARBUTA,
01180 U_JG_TETH,
01181 U_JG_WAW,
01182 U_JG_YEH,
01183 U_JG_YEH_BARREE,
01184 U_JG_YEH_WITH_TAIL,
01185 U_JG_YUDH,
01186 U_JG_YUDH_HE,
01187 U_JG_ZAIN,
01188
U_JG_FE,
01189
U_JG_KHAPH,
01190
U_JG_ZHAIN,
01191 U_JG_COUNT
01192 }
UJoiningGroup;
01193
01200 typedef enum ULineBreak {
01201 U_LB_UNKNOWN,
01202 U_LB_AMBIGUOUS,
01203 U_LB_ALPHABETIC,
01204 U_LB_BREAK_BOTH,
01205 U_LB_BREAK_AFTER,
01206 U_LB_BREAK_BEFORE,
01207 U_LB_MANDATORY_BREAK,
01208 U_LB_CONTINGENT_BREAK,
01209 U_LB_CLOSE_PUNCTUATION,
01210 U_LB_COMBINING_MARK,
01211 U_LB_CARRIAGE_RETURN,
01212 U_LB_EXCLAMATION,
01213 U_LB_GLUE,
01214 U_LB_HYPHEN,
01215 U_LB_IDEOGRAPHIC,
01216 U_LB_INSEPERABLE,
01217 U_LB_INFIX_NUMERIC,
01218 U_LB_LINE_FEED,
01219 U_LB_NONSTARTER,
01220 U_LB_NUMERIC,
01221 U_LB_OPEN_PUNCTUATION,
01222 U_LB_POSTFIX_NUMERIC,
01223 U_LB_PREFIX_NUMERIC,
01224 U_LB_QUOTATION,
01225 U_LB_COMPLEX_CONTEXT,
01226 U_LB_SURROGATE,
01227 U_LB_SPACE,
01228 U_LB_BREAK_SYMBOLS,
01229 U_LB_ZWSPACE,
01230 U_LB_NEXT_LINE,
01231 U_LB_WORD_JOINER,
01232 U_LB_COUNT
01233 }
ULineBreak;
01234
01241 typedef enum UNumericType {
01242 U_NT_NONE,
01243 U_NT_DECIMAL,
01244 U_NT_DIGIT,
01245 U_NT_NUMERIC,
01246 U_NT_COUNT
01247 }
UNumericType;
01248
01255 typedef enum UHangulSyllableType {
01256 U_HST_NOT_APPLICABLE,
01257 U_HST_LEADING_JAMO,
01258 U_HST_VOWEL_JAMO,
01259 U_HST_TRAILING_JAMO,
01260 U_HST_LV_SYLLABLE,
01261 U_HST_LVT_SYLLABLE,
01262 U_HST_COUNT
01263 }
UHangulSyllableType;
01264
01291
U_CAPI UBool U_EXPORT2
01292
u_hasBinaryProperty(UChar32 c, UProperty which);
01293
01306
U_CAPI UBool U_EXPORT2
01307
u_isUAlphabetic(UChar32 c);
01308
01321
U_CAPI UBool U_EXPORT2
01322
u_isULowercase(UChar32 c);
01323
01336
U_CAPI UBool U_EXPORT2
01337
u_isUUppercase(UChar32 c);
01338
01357
U_CAPI UBool U_EXPORT2
01358
u_isUWhiteSpace(UChar32 c);
01359
01397
U_CAPI int32_t U_EXPORT2
01398
u_getIntPropertyValue(UChar32 c, UProperty which);
01399
01418
U_CAPI int32_t U_EXPORT2
01419
u_getIntPropertyMinValue(UProperty which);
01420
01447
U_CAPI int32_t U_EXPORT2
01448
u_getIntPropertyMaxValue(UProperty which);
01449
01470
U_CAPI double U_EXPORT2
01471
u_getNumericValue(UChar32 c);
01472
01480 #define U_NO_NUMERIC_VALUE ((double)-123456789.)
01481
01506
U_CAPI UBool U_EXPORT2
01507
u_islower(UChar32 c);
01508
01533
U_CAPI UBool U_EXPORT2
01534
u_isupper(UChar32 c);
01535
01550
U_CAPI UBool U_EXPORT2
01551
u_istitle(UChar32 c);
01552
01571
U_CAPI UBool U_EXPORT2
01572
u_isdigit(UChar32 c);
01573
01592
U_CAPI UBool U_EXPORT2
01593
u_isalpha(UChar32 c);
01594
01613
U_CAPI UBool U_EXPORT2
01614
u_isalnum(UChar32 c);
01615
01636
U_CAPI UBool U_EXPORT2
01637
u_isxdigit(UChar32 c);
01638
01652
U_CAPI UBool U_EXPORT2
01653
u_ispunct(UChar32 c);
01654
01671
U_CAPI UBool U_EXPORT2
01672
u_isgraph(UChar32 c);
01673
01700
U_CAPI UBool U_EXPORT2
01701
u_isblank(UChar32 c);
01702
01725
U_CAPI UBool U_EXPORT2
01726
u_isdefined(UChar32 c);
01727
01746
U_CAPI UBool U_EXPORT2
01747
u_isspace(UChar32 c);
01748
01767
U_CAPI UBool U_EXPORT2
01768
u_isJavaSpaceChar(UChar32 c);
01769
01801
U_CAPI UBool U_EXPORT2
01802
u_isWhitespace(UChar32 c);
01803
01825
U_CAPI UBool U_EXPORT2
01826
u_iscntrl(UChar32 c);
01827
01840
U_CAPI UBool U_EXPORT2
01841
u_isISOControl(UChar32 c);
01842
01858
U_CAPI UBool U_EXPORT2
01859
u_isprint(UChar32 c);
01860
01879
U_CAPI UBool U_EXPORT2
01880
u_isbase(UChar32 c);
01881
01898
U_CAPI UCharDirection U_EXPORT2
01899
u_charDirection(UChar32 c);
01900
01916
U_CAPI UBool U_EXPORT2
01917
u_isMirrored(UChar32 c);
01918
01938
U_CAPI UChar32 U_EXPORT2
01939
u_charMirror(UChar32 c);
01940
01952
U_CAPI int8_t U_EXPORT2
01953
u_charType(UChar32 c);
01954
01968 #define U_GET_GC_MASK(c) U_MASK(u_charType(c))
01969
01987
typedef UBool U_CALLCONV
01988 UCharEnumTypeRange(
const void *context, UChar32 start, UChar32 limit, UCharCategory type);
01989
02009
U_CAPI void U_EXPORT2
02010
u_enumCharTypes(UCharEnumTypeRange *enumRange,
const void *context);
02011
02012
#if !UCONFIG_NO_NORMALIZATION
02013
02021
U_CAPI uint8_t U_EXPORT2
02022
u_getCombiningClass(UChar32 c);
02023
02024
#endif
02025
02049
U_CAPI int32_t U_EXPORT2
02050
u_charDigitValue(UChar32 c);
02051
02061
U_CAPI UBlockCode U_EXPORT2
02062
ublock_getCode(UChar32 c);
02063
02096
U_CAPI int32_t U_EXPORT2
02097
u_charName(UChar32 code, UCharNameChoice nameChoice,
02098
char *buffer, int32_t bufferLength,
02099 UErrorCode *pErrorCode);
02100
02123
U_CAPI int32_t U_EXPORT2
02124
u_getISOComment(UChar32 c,
02125
char *dest, int32_t destCapacity,
02126 UErrorCode *pErrorCode);
02127
02148
U_CAPI UChar32 U_EXPORT2
02149
u_charFromName(UCharNameChoice nameChoice,
02150
const char *name,
02151 UErrorCode *pErrorCode);
02152
02170 typedef UBool UEnumCharNamesFn(
void *context,
02171 UChar32 code,
02172 UCharNameChoice nameChoice,
02173
const char *name,
02174 int32_t length);
02175
02197
U_CAPI void U_EXPORT2
02198
u_enumCharNames(UChar32 start, UChar32 limit,
02199 UEnumCharNamesFn *fn,
02200
void *context,
02201 UCharNameChoice nameChoice,
02202 UErrorCode *pErrorCode);
02203
02235
U_CAPI const char* U_EXPORT2
02236
u_getPropertyName(UProperty property,
02237 UPropertyNameChoice nameChoice);
02238
02258
U_CAPI UProperty U_EXPORT2
02259
u_getPropertyEnum(
const char* alias);
02260
02308
U_CAPI const char* U_EXPORT2
02309
u_getPropertyValueName(UProperty property,
02310 int32_t value,
02311 UPropertyNameChoice nameChoice);
02312
02344
U_CAPI int32_t U_EXPORT2
02345
u_getPropertyValueEnum(UProperty property,
02346
const char* alias);
02347
02365
U_CAPI UBool U_EXPORT2
02366
u_isIDStart(UChar32 c);
02367
02389
U_CAPI UBool U_EXPORT2
02390
u_isIDPart(UChar32 c);
02391
02414
U_CAPI UBool U_EXPORT2
02415
u_isIDIgnorable(UChar32 c);
02416
02433
U_CAPI UBool U_EXPORT2
02434
u_isJavaIDStart(UChar32 c);
02435
02454
U_CAPI UBool U_EXPORT2
02455
u_isJavaIDPart(UChar32 c);
02456
02475
U_CAPI UChar32 U_EXPORT2
02476
u_tolower(UChar32 c);
02477
02496
U_CAPI UChar32 U_EXPORT2
02497
u_toupper(UChar32 c);
02498
02517
U_CAPI UChar32 U_EXPORT2
02518
u_totitle(UChar32 c);
02519
02521 #define U_FOLD_CASE_DEFAULT 0
02522
02539 #define U_FOLD_CASE_EXCLUDE_SPECIAL_I 1
02540
02559
U_CAPI UChar32 U_EXPORT2
02560
u_foldCase(UChar32 c, uint32_t options);
02561
02600
U_CAPI int32_t U_EXPORT2
02601
u_digit(UChar32 ch, int8_t radix);
02602
02631
U_CAPI UChar32 U_EXPORT2
02632
u_forDigit(int32_t digit, int8_t radix);
02633
02648
U_CAPI void U_EXPORT2
02649
u_charAge(UChar32 c, UVersionInfo versionArray);
02650
02662
U_CAPI void U_EXPORT2
02663
u_getUnicodeVersion(UVersionInfo versionArray);
02664
02686
U_CAPI int32_t U_EXPORT2
02687
u_getFC_NFKC_Closure(UChar32 c, UChar *dest, int32_t destCapacity, UErrorCode *pErrorCode);
02688
02689
U_CDECL_END
02690
02691
#endif
02692
Generated on Wed Jul 28 09:15:54 2004 for ICU 2.8 by
1.3.7