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 "3.1.1"
00043
00065 #define UCHAR_MIN_VALUE 0
00066
00073 #define UCHAR_MAX_VALUE 0x10ffff
00074
00079 #define U_MASK(x) ((uint32_t)1<<(x))
00080
00098 enum UProperty {
00101
UCHAR_ALPHABETIC,
00103
UCHAR_BINARY_START=
UCHAR_ALPHABETIC,
00105
UCHAR_ASCII_HEX_DIGIT,
00109
UCHAR_BIDI_CONTROL,
00114
UCHAR_BIDI_MIRRORED,
00116
UCHAR_DASH,
00120
UCHAR_DEFAULT_IGNORABLE_CODE_POINT,
00123
UCHAR_DEPRECATED,
00126
UCHAR_DIACRITIC,
00130
UCHAR_EXTENDER,
00134
UCHAR_FULL_COMPOSITION_EXCLUSION,
00138
UCHAR_GRAPHEME_BASE,
00142
UCHAR_GRAPHEME_EXTEND,
00145
UCHAR_GRAPHEME_LINK,
00148
UCHAR_HEX_DIGIT,
00151
UCHAR_HYPHEN,
00155
UCHAR_ID_CONTINUE,
00159
UCHAR_ID_START,
00162
UCHAR_IDEOGRAPHIC,
00166
UCHAR_IDS_BINARY_OPERATOR,
00170
UCHAR_IDS_TRINARY_OPERATOR,
00173
UCHAR_JOIN_CONTROL,
00177
UCHAR_LOGICAL_ORDER_EXCEPTION,
00180
UCHAR_LOWERCASE,
00182
UCHAR_MATH,
00186
UCHAR_NONCHARACTER_CODE_POINT,
00188
UCHAR_QUOTATION_MARK,
00192
UCHAR_RADICAL,
00197
UCHAR_SOFT_DOTTED,
00201
UCHAR_TERMINAL_PUNCTUATION,
00205
UCHAR_UNIFIED_IDEOGRAPH,
00208
UCHAR_UPPERCASE,
00212
UCHAR_WHITE_SPACE,
00216
UCHAR_XID_CONTINUE,
00219
UCHAR_XID_START,
00221
UCHAR_BINARY_LIMIT
00222 };
00223
00225 typedef enum UProperty UProperty;
00226
00232 enum UCharCategory
00233 {
00235
U_UNASSIGNED = 0,
00237
U_GENERAL_OTHER_TYPES = 0,
00239
U_UPPERCASE_LETTER = 1,
00241
U_LOWERCASE_LETTER = 2,
00243
U_TITLECASE_LETTER = 3,
00245
U_MODIFIER_LETTER = 4,
00247
U_OTHER_LETTER = 5,
00249
U_NON_SPACING_MARK = 6,
00251
U_ENCLOSING_MARK = 7,
00253
U_COMBINING_SPACING_MARK = 8,
00255
U_DECIMAL_DIGIT_NUMBER = 9,
00257
U_LETTER_NUMBER = 10,
00259
U_OTHER_NUMBER = 11,
00261
U_SPACE_SEPARATOR = 12,
00263
U_LINE_SEPARATOR = 13,
00265
U_PARAGRAPH_SEPARATOR = 14,
00267
U_CONTROL_CHAR = 15,
00269
U_FORMAT_CHAR = 16,
00271
U_PRIVATE_USE_CHAR = 17,
00273
U_SURROGATE = 18,
00275
U_DASH_PUNCTUATION = 19,
00277
U_START_PUNCTUATION = 20,
00279
U_END_PUNCTUATION = 21,
00281
U_CONNECTOR_PUNCTUATION = 22,
00283
U_OTHER_PUNCTUATION = 23,
00285
U_MATH_SYMBOL = 24,
00287
U_CURRENCY_SYMBOL = 25,
00289
U_MODIFIER_SYMBOL = 26,
00291
U_OTHER_SYMBOL = 27,
00293
U_INITIAL_PUNCTUATION = 28,
00295
U_FINAL_PUNCTUATION = 29,
00297
U_CHAR_CATEGORY_COUNT
00298 };
00299
00300
typedef enum UCharCategory UCharCategory;
00301
00316 #define U_GC_CN_MASK U_MASK(U_GENERAL_OTHER_TYPES)
00317
00318
#define U_GC_LU_MASK U_MASK(U_UPPERCASE_LETTER)
00319
#define U_GC_LL_MASK U_MASK(U_LOWERCASE_LETTER)
00320
#define U_GC_LT_MASK U_MASK(U_TITLECASE_LETTER)
00321
#define U_GC_LM_MASK U_MASK(U_MODIFIER_LETTER)
00322
#define U_GC_LO_MASK U_MASK(U_OTHER_LETTER)
00323
00324
#define U_GC_MN_MASK U_MASK(U_NON_SPACING_MARK)
00325
#define U_GC_ME_MASK U_MASK(U_ENCLOSING_MARK)
00326
#define U_GC_MC_MASK U_MASK(U_COMBINING_SPACING_MARK)
00327
00328
#define U_GC_ND_MASK U_MASK(U_DECIMAL_DIGIT_NUMBER)
00329
#define U_GC_NL_MASK U_MASK(U_LETTER_NUMBER)
00330
#define U_GC_NO_MASK U_MASK(U_OTHER_NUMBER)
00331
00332
#define U_GC_ZS_MASK U_MASK(U_SPACE_SEPARATOR)
00333
#define U_GC_ZL_MASK U_MASK(U_LINE_SEPARATOR)
00334
#define U_GC_ZP_MASK U_MASK(U_PARAGRAPH_SEPARATOR)
00335
00336
#define U_GC_CC_MASK U_MASK(U_CONTROL_CHAR)
00337
#define U_GC_CF_MASK U_MASK(U_FORMAT_CHAR)
00338
#define U_GC_CO_MASK U_MASK(U_PRIVATE_USE_CHAR)
00339
#define U_GC_CS_MASK U_MASK(U_SURROGATE)
00340
00341
#define U_GC_PD_MASK U_MASK(U_DASH_PUNCTUATION)
00342
#define U_GC_PS_MASK U_MASK(U_START_PUNCTUATION)
00343
#define U_GC_PE_MASK U_MASK(U_END_PUNCTUATION)
00344
#define U_GC_PC_MASK U_MASK(U_CONNECTOR_PUNCTUATION)
00345
#define U_GC_PO_MASK U_MASK(U_OTHER_PUNCTUATION)
00346
00347
#define U_GC_SM_MASK U_MASK(U_MATH_SYMBOL)
00348
#define U_GC_SC_MASK U_MASK(U_CURRENCY_SYMBOL)
00349
#define U_GC_SK_MASK U_MASK(U_MODIFIER_SYMBOL)
00350
#define U_GC_SO_MASK U_MASK(U_OTHER_SYMBOL)
00351
00352
#define U_GC_PI_MASK U_MASK(U_INITIAL_PUNCTUATION)
00353
#define U_GC_PF_MASK U_MASK(U_FINAL_PUNCTUATION)
00354
00355
00356
#define U_GC_L_MASK \
00357
(U_GC_LU_MASK|U_GC_LL_MASK|U_GC_LT_MASK|U_GC_LM_MASK|U_GC_LO_MASK)
00358
00359
#define U_GC_M_MASK (U_GC_MN_MASK|U_GC_ME_MASK|U_GC_MC_MASK)
00360
00361
#define U_GC_N_MASK (U_GC_ND_MASK|U_GC_NL_MASK|U_GC_NO_MASK)
00362
00363
#define U_GC_Z_MASK (U_GC_ZS_MASK|U_GC_ZL_MASK|U_GC_ZP_MASK)
00364
00365
#define U_GC_C_MASK \
00366
(U_GC_CN_MASK|U_GC_CC_MASK|U_GC_CF_MASK|U_GC_CO_MASK|U_GC_CS_MASK)
00367
00368
#define U_GC_P_MASK \
00369
(U_GC_PD_MASK|U_GC_PS_MASK|U_GC_PE_MASK|U_GC_PC_MASK|U_GC_PO_MASK| \
00370
U_GC_PI_MASK|U_GC_PF_MASK)
00371
00372
#define U_GC_S_MASK (U_GC_SM_MASK|U_GC_SC_MASK|U_GC_SK_MASK|U_GC_SO_MASK)
00373
00378 enum UCharDirection {
00380
U_LEFT_TO_RIGHT = 0,
00382
U_RIGHT_TO_LEFT = 1,
00384
U_EUROPEAN_NUMBER = 2,
00386
U_EUROPEAN_NUMBER_SEPARATOR = 3,
00388
U_EUROPEAN_NUMBER_TERMINATOR = 4,
00390
U_ARABIC_NUMBER = 5,
00392
U_COMMON_NUMBER_SEPARATOR = 6,
00394
U_BLOCK_SEPARATOR = 7,
00396
U_SEGMENT_SEPARATOR = 8,
00398
U_WHITE_SPACE_NEUTRAL = 9,
00400
U_OTHER_NEUTRAL = 10,
00402
U_LEFT_TO_RIGHT_EMBEDDING = 11,
00404
U_LEFT_TO_RIGHT_OVERRIDE = 12,
00406
U_RIGHT_TO_LEFT_ARABIC = 13,
00408
U_RIGHT_TO_LEFT_EMBEDDING = 14,
00410
U_RIGHT_TO_LEFT_OVERRIDE = 15,
00412
U_POP_DIRECTIONAL_FORMAT = 16,
00414
U_DIR_NON_SPACING_MARK = 17,
00416
U_BOUNDARY_NEUTRAL = 18,
00418
U_CHAR_DIRECTION_COUNT
00419 };
00420
00421
typedef enum UCharDirection UCharDirection;
00422
00428 enum UBlockCode {
00430
UBLOCK_BASIC_LATIN = 1,
00432
U_BASIC_LATIN = 1,
00433
00435
UBLOCK_LATIN_1_SUPPLEMENT=2,
00437
U_LATIN_1_SUPPLEMENT=2,
00438
00440
UBLOCK_LATIN_EXTENDED_A =3,
00442
U_LATIN_EXTENDED_A=3,
00443
00445
UBLOCK_LATIN_EXTENDED_B =4,
00447
U_LATIN_EXTENDED_B=4,
00448
00450
UBLOCK_IPA_EXTENSIONS =5,
00452
U_IPA_EXTENSIONS=5,
00453
00455
UBLOCK_SPACING_MODIFIER_LETTERS =6,
00457
U_SPACING_MODIFIER_LETTERS=6,
00458
00460
UBLOCK_COMBINING_DIACRITICAL_MARKS =7,
00462
U_COMBINING_DIACRITICAL_MARKS=7,
00463
00465
UBLOCK_GREEK =8,
00467
U_GREEK=8,
00468
00470
UBLOCK_CYRILLIC =9,
00472
U_CYRILLIC=9,
00473
00475
UBLOCK_ARMENIAN =10,
00477
U_ARMENIAN=10,
00478
00480
UBLOCK_HEBREW =11,
00482
U_HEBREW=11,
00483
00485
UBLOCK_ARABIC =12,
00487
U_ARABIC=12,
00488
00490
UBLOCK_SYRIAC =13,
00492
U_SYRIAC=13,
00493
00495
UBLOCK_THAANA =14,
00497
U_THAANA=14,
00498
00500
UBLOCK_DEVANAGARI =15,
00502
U_DEVANAGARI=15,
00503
00505
UBLOCK_BENGALI =16,
00507
U_BENGALI=16,
00508
00510
UBLOCK_GURMUKHI =17,
00512
U_GURMUKHI=17,
00513
00515
UBLOCK_GUJARATI =18,
00517
U_GUJARATI=18,
00518
00520
UBLOCK_ORIYA =19,
00522
U_ORIYA=19,
00523
00525
UBLOCK_TAMIL =20,
00527
U_TAMIL=20,
00528
00530
UBLOCK_TELUGU =21,
00532
U_TELUGU=21,
00533
00535
UBLOCK_KANNADA =22,
00537
U_KANNADA=22,
00538
00540
UBLOCK_MALAYALAM =23,
00542
U_MALAYALAM=23,
00543
00545
UBLOCK_SINHALA =24,
00547
U_SINHALA=24,
00548
00550
UBLOCK_THAI =25,
00552
U_THAI=25,
00553
00555
UBLOCK_LAO =26,
00557
U_LAO=26,
00558
00560
UBLOCK_TIBETAN =27,
00562
U_TIBETAN=27,
00563
00565
UBLOCK_MYANMAR =28,
00567
U_MYANMAR=28,
00568
00570
UBLOCK_GEORGIAN =29,
00572
U_GEORGIAN=29,
00573
00575
UBLOCK_HANGUL_JAMO =30,
00577
U_HANGUL_JAMO=30,
00578
00580
UBLOCK_ETHIOPIC =31,
00582
U_ETHIOPIC=31,
00583
00585
UBLOCK_CHEROKEE =32,
00587
U_CHEROKEE=32,
00588
00590
UBLOCK_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS =33,
00592
U_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS=33,
00593
00595
UBLOCK_OGHAM =34,
00597
U_OGHAM=34,
00598
00600
UBLOCK_RUNIC =35,
00602
U_RUNIC=35,
00603
00605
UBLOCK_KHMER =36,
00607
U_KHMER=36,
00608
00610
UBLOCK_MONGOLIAN =37,
00612
U_MONGOLIAN=37,
00613
00615
UBLOCK_LATIN_EXTENDED_ADDITIONAL =38,
00617
U_LATIN_EXTENDED_ADDITIONAL=38,
00618
00620
UBLOCK_GREEK_EXTENDED =39,
00622
U_GREEK_EXTENDED=39,
00623
00625
UBLOCK_GENERAL_PUNCTUATION =40,
00627
U_GENERAL_PUNCTUATION=40,
00628
00630
UBLOCK_SUPERSCRIPTS_AND_SUBSCRIPTS =41,
00632
U_SUPERSCRIPTS_AND_SUBSCRIPTS=41,
00633
00635
UBLOCK_CURRENCY_SYMBOLS =42,
00637
U_CURRENCY_SYMBOLS=42,
00638
00640
UBLOCK_COMBINING_MARKS_FOR_SYMBOLS =43,
00642
U_COMBINING_MARKS_FOR_SYMBOLS=43,
00643
00645
UBLOCK_LETTERLIKE_SYMBOLS =44,
00647
U_LETTERLIKE_SYMBOLS=44,
00648
00650
UBLOCK_NUMBER_FORMS =45,
00652
U_NUMBER_FORMS=45,
00653
00655
UBLOCK_ARROWS =46,
00657
U_ARROWS=46,
00658
00660
UBLOCK_MATHEMATICAL_OPERATORS =47,
00662
U_MATHEMATICAL_OPERATORS=47,
00663
00665
UBLOCK_MISCELLANEOUS_TECHNICAL =48,
00667
U_MISCELLANEOUS_TECHNICAL=48,
00668
00670
UBLOCK_CONTROL_PICTURES =49,
00672
U_CONTROL_PICTURES=49,
00673
00675
UBLOCK_OPTICAL_CHARACTER_RECOGNITION =50,
00677
U_OPTICAL_CHARACTER_RECOGNITION=50,
00678
00680
UBLOCK_ENCLOSED_ALPHANUMERICS =51,
00682
U_ENCLOSED_ALPHANUMERICS=51,
00683
00685
UBLOCK_BOX_DRAWING =52,
00687
U_BOX_DRAWING=52,
00688
00690
UBLOCK_BLOCK_ELEMENTS =53,
00692
U_BLOCK_ELEMENTS=53,
00693
00695
UBLOCK_GEOMETRIC_SHAPES =54,
00697
U_GEOMETRIC_SHAPES=54,
00698
00700
UBLOCK_MISCELLANEOUS_SYMBOLS =55,
00702
U_MISCELLANEOUS_SYMBOLS=55,
00703
00705
UBLOCK_DINGBATS =56,
00707
U_DINGBATS=56,
00708
00710
UBLOCK_BRAILLE_PATTERNS =57,
00712
U_BRAILLE_PATTERNS=57,
00713
00715
UBLOCK_CJK_RADICALS_SUPPLEMENT =58,
00717
U_CJK_RADICALS_SUPPLEMENT=58,
00718
00720
UBLOCK_KANGXI_RADICALS =59,
00722
U_KANGXI_RADICALS=59,
00723
00725
UBLOCK_IDEOGRAPHIC_DESCRIPTION_CHARACTERS =60,
00727
U_IDEOGRAPHIC_DESCRIPTION_CHARACTERS=60,
00728
00730
UBLOCK_CJK_SYMBOLS_AND_PUNCTUATION =61,
00732
U_CJK_SYMBOLS_AND_PUNCTUATION=61,
00733
00735
UBLOCK_HIRAGANA =62,
00737
U_HIRAGANA=62,
00738
00740
UBLOCK_KATAKANA =63,
00742
U_KATAKANA=63,
00743
00745
UBLOCK_BOPOMOFO =64,
00747
U_BOPOMOFO=64,
00748
00750
UBLOCK_HANGUL_COMPATIBILITY_JAMO =65,
00752
U_HANGUL_COMPATIBILITY_JAMO=65,
00753
00755
UBLOCK_KANBUN =66,
00757
U_KANBUN=66,
00758
00760
UBLOCK_BOPOMOFO_EXTENDED =67,
00762
U_BOPOMOFO_EXTENDED=67,
00763
00765
UBLOCK_ENCLOSED_CJK_LETTERS_AND_MONTHS =68,
00767
U_ENCLOSED_CJK_LETTERS_AND_MONTHS=68,
00768
00770
UBLOCK_CJK_COMPATIBILITY =69,
00772
U_CJK_COMPATIBILITY=69,
00773
00775
UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A =70,
00777
U_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A=70,
00778
00780
UBLOCK_CJK_UNIFIED_IDEOGRAPHS =71,
00782
U_CJK_UNIFIED_IDEOGRAPHS=71,
00783
00785
UBLOCK_YI_SYLLABLES =72,
00787
U_YI_SYLLABLES=72,
00788
00790
UBLOCK_YI_RADICALS =73,
00792
U_YI_RADICALS=73,
00793
00795
UBLOCK_HANGUL_SYLLABLES =74,
00797
U_HANGUL_SYLLABLES=74,
00798
00800
UBLOCK_HIGH_SURROGATES =75,
00802
U_HIGH_SURROGATES=75,
00803
00805
UBLOCK_HIGH_PRIVATE_USE_SURROGATES =76,
00807
U_HIGH_PRIVATE_USE_SURROGATES=76,
00808
00810
UBLOCK_LOW_SURROGATES =77,
00812
U_LOW_SURROGATES=77,
00813
00815
UBLOCK_PRIVATE_USE = 78,
00817
UBLOCK_PRIVATE_USE_AREA =
UBLOCK_PRIVATE_USE,
00819
U_PRIVATE_USE_AREA=78,
00820
00822
UBLOCK_CJK_COMPATIBILITY_IDEOGRAPHS =79,
00824
U_CJK_COMPATIBILITY_IDEOGRAPHS=79,
00825
00827
UBLOCK_ALPHABETIC_PRESENTATION_FORMS =80,
00829
U_ALPHABETIC_PRESENTATION_FORMS=80,
00830
00832
UBLOCK_ARABIC_PRESENTATION_FORMS_A =81,
00834
U_ARABIC_PRESENTATION_FORMS_A=81,
00835
00837
UBLOCK_COMBINING_HALF_MARKS =82,
00839
U_COMBINING_HALF_MARKS=82,
00840
00842
UBLOCK_CJK_COMPATIBILITY_FORMS =83,
00844
U_CJK_COMPATIBILITY_FORMS=83,
00845
00847
UBLOCK_SMALL_FORM_VARIANTS =84,
00849
U_SMALL_FORM_VARIANTS=84,
00850
00852
UBLOCK_ARABIC_PRESENTATION_FORMS_B =85,
00854
U_ARABIC_PRESENTATION_FORMS_B=85,
00855
00857
UBLOCK_SPECIALS =86,
00859
U_SPECIALS=86,
00860
00862
UBLOCK_HALFWIDTH_AND_FULLWIDTH_FORMS =87,
00864
U_HALFWIDTH_AND_FULLWIDTH_FORMS=87,
00865
00867
UBLOCK_OLD_ITALIC = 88 ,
00869
UBLOCK_GOTHIC = 89 ,
00871
UBLOCK_DESERET = 90 ,
00873
UBLOCK_BYZANTINE_MUSICAL_SYMBOLS = 91 ,
00875
UBLOCK_MUSICAL_SYMBOLS = 92 ,
00877
UBLOCK_MATHEMATICAL_ALPHANUMERIC_SYMBOLS = 93 ,
00879
UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B = 94 ,
00881
UBLOCK_CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT = 95 ,
00883
UBLOCK_TAGS = 96 ,
00885
UBLOCK_COUNT=97,
00887
U_SCRIPT_COUNT=
UBLOCK_COUNT,
00888
00890
UBLOCK_INVALID_CODE=-1,
00891
00893
U_CHAR_SCRIPT_COUNT =
UBLOCK_COUNT,
00895
U_NO_SCRIPT =
UBLOCK_COUNT
00896 };
00897
00899 typedef enum UBlockCode UBlockCode;
00900
00905 enum UCellWidth
00906 {
00908
U_ZERO_WIDTH = 0,
00910
U_HALF_WIDTH = 1,
00912
U_FULL_WIDTH = 2,
00914
U_NEUTRAL_WIDTH = 3,
00916
U_CELL_WIDTH_COUNT
00917 };
00918
00920 typedef enum UCellWidth UCellWidth;
00921
00933 enum UCharNameChoice {
00934 U_UNICODE_CHAR_NAME,
00935 U_UNICODE_10_CHAR_NAME,
00936 U_EXTENDED_CHAR_NAME,
00937 U_CHAR_NAME_CHOICE_COUNT
00938 };
00939
00941 typedef enum UCharNameChoice UCharNameChoice;
00942
00972 U_CAPI UBool U_EXPORT2
00973
u_hasBinaryProperty(UChar32 c, UProperty which);
00974
00985 U_CAPI UBool U_EXPORT2
00986
u_isUAlphabetic(UChar32 c);
00987
00998 U_CAPI UBool U_EXPORT2
00999
u_isULowercase(UChar32 c);
01000
01011 U_CAPI UBool U_EXPORT2
01012
u_isUUppercase(UChar32 c);
01013
01025 U_CAPI UBool U_EXPORT2
01026
u_isUWhiteSpace(UChar32 c);
01027
01028
01029
01030
01031
01032
01045 U_CAPI UBool U_EXPORT2
01046
u_islower(UChar32 c);
01047
01059 U_CAPI UBool U_EXPORT2
01060
u_isupper(UChar32 c);
01061
01073 U_CAPI UBool U_EXPORT2
01074
u_istitle(UChar32 c);
01075
01083 U_CAPI UBool U_EXPORT2
01084
u_isdigit(UChar32 c);
01085
01094 U_CAPI UBool U_EXPORT2
01095
u_isalnum(UChar32 c);
01096
01112 U_CAPI UBool U_EXPORT2
01113
u_isdefined(UChar32 c);
01114
01126 U_CAPI UBool U_EXPORT2
01127
u_isalpha(UChar32 c);
01128
01136 U_CAPI UBool U_EXPORT2
01137
u_isspace(UChar32 c);
01138
01167 U_CAPI UBool U_EXPORT2
01168
u_isWhitespace(UChar32 c);
01169
01185 U_CAPI UBool U_EXPORT2
01186
u_iscntrl(UChar32 c);
01187
01188
01199 U_CAPI UBool U_EXPORT2
01200
u_isprint(UChar32 c);
01201
01213 U_CAPI UBool U_EXPORT2
01214
u_isbase(UChar32 c);
01215
01225 U_CAPI UCharDirection U_EXPORT2
01226
u_charDirection(UChar32 c);
01227
01238 U_CAPI UBool U_EXPORT2
01239
u_isMirrored(UChar32 c);
01240
01257 U_CAPI
UChar32 U_EXPORT2
01258
u_charMirror(UChar32 c);
01259
01311 U_CAPI uint16_t U_EXPORT2
01312
u_charCellWidth(UChar32 c);
01313
01324 U_CAPI int8_t U_EXPORT2
01325
u_charType(UChar32 c);
01326
01337 #define U_GET_GC_MASK(c) U_MASK(u_charType(c))
01338
01356
typedef UBool
U_CALLCONV
01357 UCharEnumTypeRange(
const void *context, UChar32 start, UChar32 limit, UCharCategory type);
01358
01378 U_CAPI
void U_EXPORT2
01379
u_enumCharTypes(UCharEnumTypeRange *enumRange,
const void *context);
01380
01388 U_CAPI uint8_t U_EXPORT2
01389
u_getCombiningClass(UChar32 c);
01390
01399 U_CAPI int32_t U_EXPORT2
01400
u_charDigitValue(UChar32 c);
01401
01408 U_CAPI
UBlockCode U_EXPORT2
01409
ublock_getCode(UChar32 ch);
01410
01443 U_CAPI int32_t U_EXPORT2
01444
u_charName(UChar32 code, UCharNameChoice nameChoice,
01445
char *buffer, int32_t bufferLength,
01446 UErrorCode *pErrorCode);
01447
01467 U_CAPI
UChar32 U_EXPORT2
01468
u_charFromName(UCharNameChoice nameChoice,
01469
const char *name,
01470 UErrorCode *pErrorCode);
01471
01488 typedef UBool
UEnumCharNamesFn(
void *context,
01489 UChar32 code,
01490 UCharNameChoice nameChoice,
01491
const char *name,
01492 int32_t length);
01493
01514 U_CAPI
void U_EXPORT2
01515
u_enumCharNames(UChar32 start, UChar32 limit,
01516 UEnumCharNamesFn *fn,
01517
void *context,
01518 UCharNameChoice nameChoice,
01519 UErrorCode *pErrorCode);
01520
01537 U_CAPI UBool U_EXPORT2
01538
u_isIDStart(UChar32 c);
01539
01564 U_CAPI UBool U_EXPORT2
01565
u_isIDPart(UChar32 c);
01566
01591 U_CAPI UBool U_EXPORT2
01592
u_isIDIgnorable(UChar32 c);
01593
01614 U_CAPI UBool U_EXPORT2
01615
u_isJavaIDStart(UChar32 c);
01616
01645 U_CAPI UBool U_EXPORT2
01646
u_isJavaIDPart(UChar32 c);
01647
01670 U_CAPI
UChar32 U_EXPORT2
01671
u_tolower(UChar32 c);
01672
01688 U_CAPI
UChar32 U_EXPORT2
01689
u_toupper(UChar32 c);
01690
01705 U_CAPI
UChar32 U_EXPORT2
01706
u_totitle(UChar32 c);
01707
01709 #define U_FOLD_CASE_DEFAULT 0
01710
01711 #define U_FOLD_CASE_EXCLUDE_SPECIAL_I 1
01712
01726 U_CAPI
UChar32 U_EXPORT2
01727
u_foldCase(UChar32 c, uint32_t options);
01728
01764 U_CAPI int32_t U_EXPORT2
01765
u_digit(UChar32 ch, int8_t radix);
01766
01793 U_CAPI
UChar32 U_EXPORT2
01794
u_forDigit(int32_t digit, int8_t radix);
01795
01810 U_CAPI
void U_EXPORT2
01811
u_charAge(UChar32 c, UVersionInfo versionArray);
01812
01820 U_CAPI
void U_EXPORT2
01821
u_getUnicodeVersion(UVersionInfo info);
01822
01823
01827 #define u_charScript ublock_getCode
01828
01829 typedef UBlockCode UCharScript;
01830
01831 U_CDECL_END
01832
01833
#endif
01834
Generated on Fri Aug 13 09:53:50 2004 for ICU 2.1 by
1.3.7