Main Page | Class Hierarchy | Alphabetical List | Data Structures | File List | Data Fields | Globals | Related Pages

uchar.h

Go to the documentation of this file.
00001 /* 00002 ********************************************************************** 00003 * Copyright (C) 1997-2001, International Business Machines 00004 * Corporation and others. All Rights Reserved. 00005 ********************************************************************** 00006 * 00007 * File UCHAR.H 00008 * 00009 * Modification History: 00010 * 00011 * Date Name Description 00012 * 04/02/97 aliu Creation. 00013 * 03/29/99 helena Updated for C APIs. 00014 * 4/15/99 Madhu Updated for C Implementation and Javadoc 00015 * 5/20/99 Madhu Added the function u_getVersion() 00016 * 8/19/1999 srl Upgraded scripts to Unicode 3.0 00017 * 8/27/1999 schererm UCharDirection constants: U_... 00018 * 11/11/1999 weiv added u_isalnum(), cleaned comments 00019 * 01/11/2000 helena Renamed u_getVersion to u_getUnicodeVersion(). 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 /* Unicode version number */ 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 * ### TODO Document all properties more precisely, how they are based (or not) on UCD files. 01030 * Especially u_isdigit, u_isspace, u_isWhitespace. 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 /*_UCHAR*/ 01834 /*eof*/

Generated on Wed Jul 28 05:45:13 2004 for ICU 2.1 by doxygen 1.3.7