ICU 56.1: uchar.h Source File

ICU 56.1 56.1

- Main Page
- Related Pages
- Modules
- Namespaces
- Data Structures
- Files

- File List
- Globals

uchar.h
Go to the documentation of this file.
1 /*
2 **********************************************************************
3 * Copyright (C) 1997-2015, International Business Machines
4 * Corporation and others. All Rights Reserved.
5 **********************************************************************
6 *
7 * File UCHAR.H
8 *
9 * Modification History:
10 *
11 * Date Name Description
12 * 04/02/97 aliu Creation.
13 * 03/29/99 helena Updated for C APIs.
14 * 4/15/99 Madhu Updated for C Implementation and Javadoc
15 * 5/20/99 Madhu Added the function u_getVersion()
16 * 8/19/1999 srl Upgraded scripts to Unicode 3.0
17 * 8/27/1999 schererm UCharDirection constants: U_...
18 * 11/11/1999 weiv added u_isalnum(), cleaned comments
19 * 01/11/2000 helena Renamed u_getVersion to u_getUnicodeVersion().
20 ******************************************************************************
21 */
22
23 #ifndef UCHAR_H
24 #define UCHAR_H
25
26 #include "unicode/utypes.h"
27
28 U_CDECL_BEGIN
29
30 /*==========================================================================*/
31 /* Unicode version number */
32 /*==========================================================================*/
42 #define U_UNICODE_VERSION "8.0"
43
124 #define UCHAR_MIN_VALUE 0
125
134 #define UCHAR_MAX_VALUE 0x10ffff
135
140 #define U_MASK(x) ((uint32_t)1<<(x))
141
161 typedef enum UProperty {
162 /*
163 * Note: UProperty constants are parsed by preparseucd.py.
164 * It matches lines like
165 * UCHAR_<Unicode property name>=<integer>,
166 */
167
168 /* Note: Place UCHAR_ALPHABETIC before UCHAR_BINARY_START so that
169 debuggers display UCHAR_ALPHABETIC as the symbolic name for 0,
170 rather than UCHAR_BINARY_START. Likewise for other *_START
171 identifiers. */
172
175 UCHAR_ALPHABETIC=0,
177 UCHAR_BINARY_START=UCHAR_ALPHABETIC,
179 UCHAR_ASCII_HEX_DIGIT=1,
183 UCHAR_BIDI_CONTROL=2,
188 UCHAR_BIDI_MIRRORED=3,
190 UCHAR_DASH=4,
194 UCHAR_DEFAULT_IGNORABLE_CODE_POINT=5,
197 UCHAR_DEPRECATED=6,
200 UCHAR_DIACRITIC=7,
204 UCHAR_EXTENDER=8,
208 UCHAR_FULL_COMPOSITION_EXCLUSION=9,
212 UCHAR_GRAPHEME_BASE=10,
216 UCHAR_GRAPHEME_EXTEND=11,
219 UCHAR_GRAPHEME_LINK=12,
222 UCHAR_HEX_DIGIT=13,
225 UCHAR_HYPHEN=14,
230 UCHAR_ID_CONTINUE=15,
234 UCHAR_ID_START=16,
237 UCHAR_IDEOGRAPHIC=17,
241 UCHAR_IDS_BINARY_OPERATOR=18,
245 UCHAR_IDS_TRINARY_OPERATOR=19,
248 UCHAR_JOIN_CONTROL=20,
252 UCHAR_LOGICAL_ORDER_EXCEPTION=21,
255 UCHAR_LOWERCASE=22,
257 UCHAR_MATH=23,
261 UCHAR_NONCHARACTER_CODE_POINT=24,
263 UCHAR_QUOTATION_MARK=25,
267 UCHAR_RADICAL=26,
272 UCHAR_SOFT_DOTTED=27,
276 UCHAR_TERMINAL_PUNCTUATION=28,
280 UCHAR_UNIFIED_IDEOGRAPH=29,
283 UCHAR_UPPERCASE=30,
287 UCHAR_WHITE_SPACE=31,
291 UCHAR_XID_CONTINUE=32,
294 UCHAR_XID_START=33,
298 UCHAR_CASE_SENSITIVE=34,
303 UCHAR_S_TERM=35,
309 UCHAR_VARIATION_SELECTOR=36,
316 UCHAR_NFD_INERT=37,
323 UCHAR_NFKD_INERT=38,
330 UCHAR_NFC_INERT=39,
337 UCHAR_NFKC_INERT=40,
348 UCHAR_SEGMENT_STARTER=41,
353 UCHAR_PATTERN_SYNTAX=42,
358 UCHAR_PATTERN_WHITE_SPACE=43,
363 UCHAR_POSIX_ALNUM=44,
368 UCHAR_POSIX_BLANK=45,
373 UCHAR_POSIX_GRAPH=46,
378 UCHAR_POSIX_PRINT=47,
383 UCHAR_POSIX_XDIGIT=48,
385 UCHAR_CASED=49,
387 UCHAR_CASE_IGNORABLE=50,
389 UCHAR_CHANGES_WHEN_LOWERCASED=51,
391 UCHAR_CHANGES_WHEN_UPPERCASED=52,
393 UCHAR_CHANGES_WHEN_TITLECASED=53,
395 UCHAR_CHANGES_WHEN_CASEFOLDED=54,
397 UCHAR_CHANGES_WHEN_CASEMAPPED=55,
399 UCHAR_CHANGES_WHEN_NFKC_CASEFOLDED=56,
401 UCHAR_BINARY_LIMIT=57,
402
405 UCHAR_BIDI_CLASS=0x1000,
407 UCHAR_INT_START=UCHAR_BIDI_CLASS,
410 UCHAR_BLOCK=0x1001,
413 UCHAR_CANONICAL_COMBINING_CLASS=0x1002,
416 UCHAR_DECOMPOSITION_TYPE=0x1003,
420 UCHAR_EAST_ASIAN_WIDTH=0x1004,
423 UCHAR_GENERAL_CATEGORY=0x1005,
426 UCHAR_JOINING_GROUP=0x1006,
429 UCHAR_JOINING_TYPE=0x1007,
432 UCHAR_LINE_BREAK=0x1008,
435 UCHAR_NUMERIC_TYPE=0x1009,
438 UCHAR_SCRIPT=0x100A,
441 UCHAR_HANGUL_SYLLABLE_TYPE=0x100B,
444 UCHAR_NFD_QUICK_CHECK=0x100C,
447 UCHAR_NFKD_QUICK_CHECK=0x100D,
450 UCHAR_NFC_QUICK_CHECK=0x100E,
453 UCHAR_NFKC_QUICK_CHECK=0x100F,
460 UCHAR_LEAD_CANONICAL_COMBINING_CLASS=0x1010,
467 UCHAR_TRAIL_CANONICAL_COMBINING_CLASS=0x1011,
472 UCHAR_GRAPHEME_CLUSTER_BREAK=0x1012,
477 UCHAR_SENTENCE_BREAK=0x1013,
482 UCHAR_WORD_BREAK=0x1014,
487 UCHAR_BIDI_PAIRED_BRACKET_TYPE=0x1015,
489 UCHAR_INT_LIMIT=0x1016,
490
499 UCHAR_GENERAL_CATEGORY_MASK=0x2000,
501 UCHAR_MASK_START=UCHAR_GENERAL_CATEGORY_MASK,
503 UCHAR_MASK_LIMIT=0x2001,
504
507 UCHAR_NUMERIC_VALUE=0x3000,
509 UCHAR_DOUBLE_START=UCHAR_NUMERIC_VALUE,
511 UCHAR_DOUBLE_LIMIT=0x3001,
512
515 UCHAR_AGE=0x4000,
517 UCHAR_STRING_START=UCHAR_AGE,
520 UCHAR_BIDI_MIRRORING_GLYPH=0x4001,
523 UCHAR_CASE_FOLDING=0x4002,
524 #ifndef U_HIDE_DEPRECATED_API
525
527 UCHAR_ISO_COMMENT=0x4003,
528 #endif /* U_HIDE_DEPRECATED_API */
529
531 UCHAR_LOWERCASE_MAPPING=0x4004,
534 UCHAR_NAME=0x4005,
537 UCHAR_SIMPLE_CASE_FOLDING=0x4006,
540 UCHAR_SIMPLE_LOWERCASE_MAPPING=0x4007,
543 UCHAR_SIMPLE_TITLECASE_MAPPING=0x4008,
546 UCHAR_SIMPLE_UPPERCASE_MAPPING=0x4009,
549 UCHAR_TITLECASE_MAPPING=0x400A,
550 #ifndef U_HIDE_DEPRECATED_API
551
555 UCHAR_UNICODE_1_NAME=0x400B,
556 #endif /* U_HIDE_DEPRECATED_API */
557
559 UCHAR_UPPERCASE_MAPPING=0x400C,
562 UCHAR_BIDI_PAIRED_BRACKET=0x400D,
564 UCHAR_STRING_LIMIT=0x400E,
565
571 UCHAR_SCRIPT_EXTENSIONS=0x7000,
573 UCHAR_OTHER_PROPERTY_START=UCHAR_SCRIPT_EXTENSIONS,
576 UCHAR_OTHER_PROPERTY_LIMIT=0x7001,
578 UCHAR_INVALID_CODE = -1
579 } UProperty;
580
586 typedef enum UCharCategory
587 {
588 /*
589 * Note: UCharCategory constants and their API comments are parsed by preparseucd.py.
590 * It matches pairs of lines like
591 * / ** <Unicode 2-letter General_Category value> comment... * /
592 * U_<[A-Z_]+> = <integer>,
593 */
594
596 U_UNASSIGNED = 0,
598 U_GENERAL_OTHER_TYPES = 0,
600 U_UPPERCASE_LETTER = 1,
602 U_LOWERCASE_LETTER = 2,
604 U_TITLECASE_LETTER = 3,
606 U_MODIFIER_LETTER = 4,
608 U_OTHER_LETTER = 5,
610 U_NON_SPACING_MARK = 6,
612 U_ENCLOSING_MARK = 7,
614 U_COMBINING_SPACING_MARK = 8,
616 U_DECIMAL_DIGIT_NUMBER = 9,
618 U_LETTER_NUMBER = 10,
620 U_OTHER_NUMBER = 11,
622 U_SPACE_SEPARATOR = 12,
624 U_LINE_SEPARATOR = 13,
626 U_PARAGRAPH_SEPARATOR = 14,
628 U_CONTROL_CHAR = 15,
630 U_FORMAT_CHAR = 16,
632 U_PRIVATE_USE_CHAR = 17,
634 U_SURROGATE = 18,
636 U_DASH_PUNCTUATION = 19,
638 U_START_PUNCTUATION = 20,
640 U_END_PUNCTUATION = 21,
642 U_CONNECTOR_PUNCTUATION = 22,
644 U_OTHER_PUNCTUATION = 23,
646 U_MATH_SYMBOL = 24,
648 U_CURRENCY_SYMBOL = 25,
650 U_MODIFIER_SYMBOL = 26,
652 U_OTHER_SYMBOL = 27,
654 U_INITIAL_PUNCTUATION = 28,
656 U_FINAL_PUNCTUATION = 29,
658 U_CHAR_CATEGORY_COUNT
659 } UCharCategory;
660
675 #define U_GC_CN_MASK U_MASK(U_GENERAL_OTHER_TYPES)
676
678 #define U_GC_LU_MASK U_MASK(U_UPPERCASE_LETTER)
679
680 #define U_GC_LL_MASK U_MASK(U_LOWERCASE_LETTER)
681
682 #define U_GC_LT_MASK U_MASK(U_TITLECASE_LETTER)
683
684 #define U_GC_LM_MASK U_MASK(U_MODIFIER_LETTER)
685
686 #define U_GC_LO_MASK U_MASK(U_OTHER_LETTER)
687
689 #define U_GC_MN_MASK U_MASK(U_NON_SPACING_MARK)
690
691 #define U_GC_ME_MASK U_MASK(U_ENCLOSING_MARK)
692
693 #define U_GC_MC_MASK U_MASK(U_COMBINING_SPACING_MARK)
694
696 #define U_GC_ND_MASK U_MASK(U_DECIMAL_DIGIT_NUMBER)
697
698 #define U_GC_NL_MASK U_MASK(U_LETTER_NUMBER)
699
700 #define U_GC_NO_MASK U_MASK(U_OTHER_NUMBER)
701
703 #define U_GC_ZS_MASK U_MASK(U_SPACE_SEPARATOR)
704
705 #define U_GC_ZL_MASK U_MASK(U_LINE_SEPARATOR)
706
707 #define U_GC_ZP_MASK U_MASK(U_PARAGRAPH_SEPARATOR)
708
710 #define U_GC_CC_MASK U_MASK(U_CONTROL_CHAR)
711
712 #define U_GC_CF_MASK U_MASK(U_FORMAT_CHAR)
713
714 #define U_GC_CO_MASK U_MASK(U_PRIVATE_USE_CHAR)
715
716 #define U_GC_CS_MASK U_MASK(U_SURROGATE)
717
719 #define U_GC_PD_MASK U_MASK(U_DASH_PUNCTUATION)
720
721 #define U_GC_PS_MASK U_MASK(U_START_PUNCTUATION)
722
723 #define U_GC_PE_MASK U_MASK(U_END_PUNCTUATION)
724
725 #define U_GC_PC_MASK U_MASK(U_CONNECTOR_PUNCTUATION)
726
727 #define U_GC_PO_MASK U_MASK(U_OTHER_PUNCTUATION)
728
730 #define U_GC_SM_MASK U_MASK(U_MATH_SYMBOL)
731
732 #define U_GC_SC_MASK U_MASK(U_CURRENCY_SYMBOL)
733
734 #define U_GC_SK_MASK U_MASK(U_MODIFIER_SYMBOL)
735
736 #define U_GC_SO_MASK U_MASK(U_OTHER_SYMBOL)
737
739 #define U_GC_PI_MASK U_MASK(U_INITIAL_PUNCTUATION)
740
741 #define U_GC_PF_MASK U_MASK(U_FINAL_PUNCTUATION)
742
743
745 #define U_GC_L_MASK \
746 (U_GC_LU_MASK|U_GC_LL_MASK|U_GC_LT_MASK|U_GC_LM_MASK|U_GC_LO_MASK)
747
749 #define U_GC_LC_MASK \
750 (U_GC_LU_MASK|U_GC_LL_MASK|U_GC_LT_MASK)
751
753 #define U_GC_M_MASK (U_GC_MN_MASK|U_GC_ME_MASK|U_GC_MC_MASK)
754
756 #define U_GC_N_MASK (U_GC_ND_MASK|U_GC_NL_MASK|U_GC_NO_MASK)
757
759 #define U_GC_Z_MASK (U_GC_ZS_MASK|U_GC_ZL_MASK|U_GC_ZP_MASK)
760
762 #define U_GC_C_MASK \
763 (U_GC_CN_MASK|U_GC_CC_MASK|U_GC_CF_MASK|U_GC_CO_MASK|U_GC_CS_MASK)
764
766 #define U_GC_P_MASK \
767 (U_GC_PD_MASK|U_GC_PS_MASK|U_GC_PE_MASK|U_GC_PC_MASK|U_GC_PO_MASK| \
768 U_GC_PI_MASK|U_GC_PF_MASK)
769
771 #define U_GC_S_MASK (U_GC_SM_MASK|U_GC_SC_MASK|U_GC_SK_MASK|U_GC_SO_MASK)
772
777 typedef enum UCharDirection {
778 /*
779 * Note: UCharDirection constants and their API comments are parsed by preparseucd.py.
780 * It matches pairs of lines like
781 * / ** <Unicode 1..3-letter Bidi_Class value> comment... * /
782 * U_<[A-Z_]+> = <integer>,
783 */
784
786 U_LEFT_TO_RIGHT = 0,
788 U_RIGHT_TO_LEFT = 1,
790 U_EUROPEAN_NUMBER = 2,
792 U_EUROPEAN_NUMBER_SEPARATOR = 3,
794 U_EUROPEAN_NUMBER_TERMINATOR = 4,
796 U_ARABIC_NUMBER = 5,
798 U_COMMON_NUMBER_SEPARATOR = 6,
800 U_BLOCK_SEPARATOR = 7,
802 U_SEGMENT_SEPARATOR = 8,
804 U_WHITE_SPACE_NEUTRAL = 9,
806 U_OTHER_NEUTRAL = 10,
808 U_LEFT_TO_RIGHT_EMBEDDING = 11,
810 U_LEFT_TO_RIGHT_OVERRIDE = 12,
812 U_RIGHT_TO_LEFT_ARABIC = 13,
814 U_RIGHT_TO_LEFT_EMBEDDING = 14,
816 U_RIGHT_TO_LEFT_OVERRIDE = 15,
818 U_POP_DIRECTIONAL_FORMAT = 16,
820 U_DIR_NON_SPACING_MARK = 17,
822 U_BOUNDARY_NEUTRAL = 18,
824 U_FIRST_STRONG_ISOLATE = 19,
826 U_LEFT_TO_RIGHT_ISOLATE = 20,
828 U_RIGHT_TO_LEFT_ISOLATE = 21,
830 U_POP_DIRECTIONAL_ISOLATE = 22,
832 U_CHAR_DIRECTION_COUNT
833 } UCharDirection;
834
841 typedef enum UBidiPairedBracketType {
842 /*
843 * Note: UBidiPairedBracketType constants are parsed by preparseucd.py.
844 * It matches lines like
845 * U_BPT_<Unicode Bidi_Paired_Bracket_Type value name>
846 */
847
849 U_BPT_NONE,
851 U_BPT_OPEN,
853 U_BPT_CLOSE,
855 U_BPT_COUNT /* 3 */
856 } UBidiPairedBracketType;
857
862 enum UBlockCode {
863 /*
864 * Note: UBlockCode constants are parsed by preparseucd.py.
865 * It matches lines like
866 * UBLOCK_<Unicode Block value name> = <integer>,
867 */
868
870 UBLOCK_NO_BLOCK = 0, /*[none]*/ /* Special range indicating No_Block */
871
873 UBLOCK_BASIC_LATIN = 1, /*[0000]*/
874
876 UBLOCK_LATIN_1_SUPPLEMENT=2, /*[0080]*/
877
879 UBLOCK_LATIN_EXTENDED_A =3, /*[0100]*/
880
882 UBLOCK_LATIN_EXTENDED_B =4, /*[0180]*/
883
885 UBLOCK_IPA_EXTENSIONS =5, /*[0250]*/
886
888 UBLOCK_SPACING_MODIFIER_LETTERS =6, /*[02B0]*/
889
891 UBLOCK_COMBINING_DIACRITICAL_MARKS =7, /*[0300]*/
892
897 UBLOCK_GREEK =8, /*[0370]*/
898
900 UBLOCK_CYRILLIC =9, /*[0400]*/
901
903 UBLOCK_ARMENIAN =10, /*[0530]*/
904
906 UBLOCK_HEBREW =11, /*[0590]*/
907
909 UBLOCK_ARABIC =12, /*[0600]*/
910
912 UBLOCK_SYRIAC =13, /*[0700]*/
913
915 UBLOCK_THAANA =14, /*[0780]*/
916
918 UBLOCK_DEVANAGARI =15, /*[0900]*/
919
921 UBLOCK_BENGALI =16, /*[0980]*/
922
924 UBLOCK_GURMUKHI =17, /*[0A00]*/
925
927 UBLOCK_GUJARATI =18, /*[0A80]*/
928
930 UBLOCK_ORIYA =19, /*[0B00]*/
931
933 UBLOCK_TAMIL =20, /*[0B80]*/
934
936 UBLOCK_TELUGU =21, /*[0C00]*/
937
939 UBLOCK_KANNADA =22, /*[0C80]*/
940
942 UBLOCK_MALAYALAM =23, /*[0D00]*/
943
945 UBLOCK_SINHALA =24, /*[0D80]*/
946
948 UBLOCK_THAI =25, /*[0E00]*/
949
951 UBLOCK_LAO =26, /*[0E80]*/
952
954 UBLOCK_TIBETAN =27, /*[0F00]*/
955
957 UBLOCK_MYANMAR =28, /*[1000]*/
958
960 UBLOCK_GEORGIAN =29, /*[10A0]*/
961
963 UBLOCK_HANGUL_JAMO =30, /*[1100]*/
964
966 UBLOCK_ETHIOPIC =31, /*[1200]*/
967
969 UBLOCK_CHEROKEE =32, /*[13A0]*/
970
972 UBLOCK_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS =33, /*[1400]*/
973
975 UBLOCK_OGHAM =34, /*[1680]*/
976
978 UBLOCK_RUNIC =35, /*[16A0]*/
979
981 UBLOCK_KHMER =36, /*[1780]*/
982
984 UBLOCK_MONGOLIAN =37, /*[1800]*/
985
987 UBLOCK_LATIN_EXTENDED_ADDITIONAL =38, /*[1E00]*/
988
990 UBLOCK_GREEK_EXTENDED =39, /*[1F00]*/
991
993 UBLOCK_GENERAL_PUNCTUATION =40, /*[2000]*/
994
996 UBLOCK_SUPERSCRIPTS_AND_SUBSCRIPTS =41, /*[2070]*/
997
999 UBLOCK_CURRENCY_SYMBOLS =42, /*[20A0]*/
1000
1005 UBLOCK_COMBINING_MARKS_FOR_SYMBOLS =43, /*[20D0]*/
1006
1008 UBLOCK_LETTERLIKE_SYMBOLS =44, /*[2100]*/
1009
1011 UBLOCK_NUMBER_FORMS =45, /*[2150]*/
1012
1014 UBLOCK_ARROWS =46, /*[2190]*/
1015
1017 UBLOCK_MATHEMATICAL_OPERATORS =47, /*[2200]*/
1018
1020 UBLOCK_MISCELLANEOUS_TECHNICAL =48, /*[2300]*/
1021
1023 UBLOCK_CONTROL_PICTURES =49, /*[2400]*/
1024
1026 UBLOCK_OPTICAL_CHARACTER_RECOGNITION =50, /*[2440]*/
1027
1029 UBLOCK_ENCLOSED_ALPHANUMERICS =51, /*[2460]*/
1030
1032 UBLOCK_BOX_DRAWING =52, /*[2500]*/
1033
1035 UBLOCK_BLOCK_ELEMENTS =53, /*[2580]*/
1036
1038 UBLOCK_GEOMETRIC_SHAPES =54, /*[25A0]*/
1039
1041 UBLOCK_MISCELLANEOUS_SYMBOLS =55, /*[2600]*/
1042
1044 UBLOCK_DINGBATS =56, /*[2700]*/
1045
1047 UBLOCK_BRAILLE_PATTERNS =57, /*[2800]*/
1048
1050 UBLOCK_CJK_RADICALS_SUPPLEMENT =58, /*[2E80]*/
1051
1053 UBLOCK_KANGXI_RADICALS =59, /*[2F00]*/
1054
1056 UBLOCK_IDEOGRAPHIC_DESCRIPTION_CHARACTERS =60, /*[2FF0]*/
1057
1059 UBLOCK_CJK_SYMBOLS_AND_PUNCTUATION =61, /*[3000]*/
1060
1062 UBLOCK_HIRAGANA =62, /*[3040]*/
1063
1065 UBLOCK_KATAKANA =63, /*[30A0]*/
1066
1068 UBLOCK_BOPOMOFO =64, /*[3100]*/
1069
1071 UBLOCK_HANGUL_COMPATIBILITY_JAMO =65, /*[3130]*/
1072
1074 UBLOCK_KANBUN =66, /*[3190]*/
1075
1077 UBLOCK_BOPOMOFO_EXTENDED =67, /*[31A0]*/
1078
1080 UBLOCK_ENCLOSED_CJK_LETTERS_AND_MONTHS =68, /*[3200]*/
1081
1083 UBLOCK_CJK_COMPATIBILITY =69, /*[3300]*/
1084
1086 UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A =70, /*[3400]*/
1087
1089 UBLOCK_CJK_UNIFIED_IDEOGRAPHS =71, /*[4E00]*/
1090
1092 UBLOCK_YI_SYLLABLES =72, /*[A000]*/
1093
1095 UBLOCK_YI_RADICALS =73, /*[A490]*/
1096
1098 UBLOCK_HANGUL_SYLLABLES =74, /*[AC00]*/
1099
1101 UBLOCK_HIGH_SURROGATES =75, /*[D800]*/
1102
1104 UBLOCK_HIGH_PRIVATE_USE_SURROGATES =76, /*[DB80]*/
1105
1107 UBLOCK_LOW_SURROGATES =77, /*[DC00]*/
1108
1118 UBLOCK_PRIVATE_USE_AREA =78, /*[E000]*/
1128 UBLOCK_PRIVATE_USE = UBLOCK_PRIVATE_USE_AREA,
1129
1131 UBLOCK_CJK_COMPATIBILITY_IDEOGRAPHS =79, /*[F900]*/
1132
1134 UBLOCK_ALPHABETIC_PRESENTATION_FORMS =80, /*[FB00]*/
1135
1137 UBLOCK_ARABIC_PRESENTATION_FORMS_A =81, /*[FB50]*/
1138
1140 UBLOCK_COMBINING_HALF_MARKS =82, /*[FE20]*/
1141
1143 UBLOCK_CJK_COMPATIBILITY_FORMS =83, /*[FE30]*/
1144
1146 UBLOCK_SMALL_FORM_VARIANTS =84, /*[FE50]*/
1147
1149 UBLOCK_ARABIC_PRESENTATION_FORMS_B =85, /*[FE70]*/
1150
1152 UBLOCK_SPECIALS =86, /*[FFF0]*/
1153
1155 UBLOCK_HALFWIDTH_AND_FULLWIDTH_FORMS =87, /*[FF00]*/
1156
1157 /* New blocks in Unicode 3.1 */
1158
1160 UBLOCK_OLD_ITALIC = 88, /*[10300]*/
1162 UBLOCK_GOTHIC = 89, /*[10330]*/
1164 UBLOCK_DESERET = 90, /*[10400]*/
1166 UBLOCK_BYZANTINE_MUSICAL_SYMBOLS = 91, /*[1D000]*/
1168 UBLOCK_MUSICAL_SYMBOLS = 92, /*[1D100]*/
1170 UBLOCK_MATHEMATICAL_ALPHANUMERIC_SYMBOLS = 93, /*[1D400]*/
1172 UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B = 94, /*[20000]*/
1174 UBLOCK_CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT = 95, /*[2F800]*/
1176 UBLOCK_TAGS = 96, /*[E0000]*/
1177
1178 /* New blocks in Unicode 3.2 */
1179
1181 UBLOCK_CYRILLIC_SUPPLEMENT = 97, /*[0500]*/
1186 UBLOCK_CYRILLIC_SUPPLEMENTARY = UBLOCK_CYRILLIC_SUPPLEMENT,
1188 UBLOCK_TAGALOG = 98, /*[1700]*/
1190 UBLOCK_HANUNOO = 99, /*[1720]*/
1192 UBLOCK_BUHID = 100, /*[1740]*/
1194 UBLOCK_TAGBANWA = 101, /*[1760]*/
1196 UBLOCK_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A = 102, /*[27C0]*/
1198 UBLOCK_SUPPLEMENTAL_ARROWS_A = 103, /*[27F0]*/
1200 UBLOCK_SUPPLEMENTAL_ARROWS_B = 104, /*[2900]*/
1202 UBLOCK_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B = 105, /*[2980]*/
1204 UBLOCK_SUPPLEMENTAL_MATHEMATICAL_OPERATORS = 106, /*[2A00]*/
1206 UBLOCK_KATAKANA_PHONETIC_EXTENSIONS = 107, /*[31F0]*/
1208 UBLOCK_VARIATION_SELECTORS = 108, /*[FE00]*/
1210 UBLOCK_SUPPLEMENTARY_PRIVATE_USE_AREA_A = 109, /*[F0000]*/
1212 UBLOCK_SUPPLEMENTARY_PRIVATE_USE_AREA_B = 110, /*[100000]*/
1213
1214 /* New blocks in Unicode 4 */
1215
1217 UBLOCK_LIMBU = 111, /*[1900]*/
1219 UBLOCK_TAI_LE = 112, /*[1950]*/
1221 UBLOCK_KHMER_SYMBOLS = 113, /*[19E0]*/
1223 UBLOCK_PHONETIC_EXTENSIONS = 114, /*[1D00]*/
1225 UBLOCK_MISCELLANEOUS_SYMBOLS_AND_ARROWS = 115, /*[2B00]*/
1227 UBLOCK_YIJING_HEXAGRAM_SYMBOLS = 116, /*[4DC0]*/
1229 UBLOCK_LINEAR_B_SYLLABARY = 117, /*[10000]*/
1231 UBLOCK_LINEAR_B_IDEOGRAMS = 118, /*[10080]*/
1233 UBLOCK_AEGEAN_NUMBERS = 119, /*[10100]*/
1235 UBLOCK_UGARITIC = 120, /*[10380]*/
1237 UBLOCK_SHAVIAN = 121, /*[10450]*/
1239 UBLOCK_OSMANYA = 122, /*[10480]*/
1241 UBLOCK_CYPRIOT_SYLLABARY = 123, /*[10800]*/
1243 UBLOCK_TAI_XUAN_JING_SYMBOLS = 124, /*[1D300]*/
1245 UBLOCK_VARIATION_SELECTORS_SUPPLEMENT = 125, /*[E0100]*/
1246
1247 /* New blocks in Unicode 4.1 */
1248
1250 UBLOCK_ANCIENT_GREEK_MUSICAL_NOTATION = 126, /*[1D200]*/
1252 UBLOCK_ANCIENT_GREEK_NUMBERS = 127, /*[10140]*/
1254 UBLOCK_ARABIC_SUPPLEMENT = 128, /*[0750]*/
1256 UBLOCK_BUGINESE = 129, /*[1A00]*/
1258 UBLOCK_CJK_STROKES = 130, /*[31C0]*/
1260 UBLOCK_COMBINING_DIACRITICAL_MARKS_SUPPLEMENT = 131, /*[1DC0]*/
1262 UBLOCK_COPTIC = 132, /*[2C80]*/
1264 UBLOCK_ETHIOPIC_EXTENDED = 133, /*[2D80]*/
1266 UBLOCK_ETHIOPIC_SUPPLEMENT = 134, /*[1380]*/
1268 UBLOCK_GEORGIAN_SUPPLEMENT = 135, /*[2D00]*/
1270 UBLOCK_GLAGOLITIC = 136, /*[2C00]*/
1272 UBLOCK_KHAROSHTHI = 137, /*[10A00]*/
1274 UBLOCK_MODIFIER_TONE_LETTERS = 138, /*[A700]*/
1276 UBLOCK_NEW_TAI_LUE = 139, /*[1980]*/
1278 UBLOCK_OLD_PERSIAN = 140, /*[103A0]*/
1280 UBLOCK_PHONETIC_EXTENSIONS_SUPPLEMENT = 141, /*[1D80]*/
1282 UBLOCK_SUPPLEMENTAL_PUNCTUATION = 142, /*[2E00]*/
1284 UBLOCK_SYLOTI_NAGRI = 143, /*[A800]*/
1286 UBLOCK_TIFINAGH = 144, /*[2D30]*/
1288 UBLOCK_VERTICAL_FORMS = 145, /*[FE10]*/
1289
1290 /* New blocks in Unicode 5.0 */
1291
1293 UBLOCK_NKO = 146, /*[07C0]*/
1295 UBLOCK_BALINESE = 147, /*[1B00]*/
1297 UBLOCK_LATIN_EXTENDED_C = 148, /*[2C60]*/
1299 UBLOCK_LATIN_EXTENDED_D = 149, /*[A720]*/
1301 UBLOCK_PHAGS_PA = 150, /*[A840]*/
1303 UBLOCK_PHOENICIAN = 151, /*[10900]*/
1305 UBLOCK_CUNEIFORM = 152, /*[12000]*/
1307 UBLOCK_CUNEIFORM_NUMBERS_AND_PUNCTUATION = 153, /*[12400]*/
1309 UBLOCK_COUNTING_ROD_NUMERALS = 154, /*[1D360]*/
1310
1311 /* New blocks in Unicode 5.1 */
1312
1314 UBLOCK_SUNDANESE = 155, /*[1B80]*/
1316 UBLOCK_LEPCHA = 156, /*[1C00]*/
1318 UBLOCK_OL_CHIKI = 157, /*[1C50]*/
1320 UBLOCK_CYRILLIC_EXTENDED_A = 158, /*[2DE0]*/
1322 UBLOCK_VAI = 159, /*[A500]*/
1324 UBLOCK_CYRILLIC_EXTENDED_B = 160, /*[A640]*/
1326 UBLOCK_SAURASHTRA = 161, /*[A880]*/
1328 UBLOCK_KAYAH_LI = 162, /*[A900]*/
1330 UBLOCK_REJANG = 163, /*[A930]*/
1332 UBLOCK_CHAM = 164, /*[AA00]*/
1334 UBLOCK_ANCIENT_SYMBOLS = 165, /*[10190]*/
1336 UBLOCK_PHAISTOS_DISC = 166, /*[101D0]*/
1338 UBLOCK_LYCIAN = 167, /*[10280]*/
1340 UBLOCK_CARIAN = 168, /*[102A0]*/
1342 UBLOCK_LYDIAN = 169, /*[10920]*/
1344 UBLOCK_MAHJONG_TILES = 170, /*[1F000]*/
1346 UBLOCK_DOMINO_TILES = 171, /*[1F030]*/
1347
1348 /* New blocks in Unicode 5.2 */
1349
1351 UBLOCK_SAMARITAN = 172, /*[0800]*/
1353 UBLOCK_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED = 173, /*[18B0]*/
1355 UBLOCK_TAI_THAM = 174, /*[1A20]*/
1357 UBLOCK_VEDIC_EXTENSIONS = 175, /*[1CD0]*/
1359 UBLOCK_LISU = 176, /*[A4D0]*/
1361 UBLOCK_BAMUM = 177, /*[A6A0]*/
1363 UBLOCK_COMMON_INDIC_NUMBER_FORMS = 178, /*[A830]*/
1365 UBLOCK_DEVANAGARI_EXTENDED = 179, /*[A8E0]*/
1367 UBLOCK_HANGUL_JAMO_EXTENDED_A = 180, /*[A960]*/
1369 UBLOCK_JAVANESE = 181, /*[A980]*/
1371 UBLOCK_MYANMAR_EXTENDED_A = 182, /*[AA60]*/
1373 UBLOCK_TAI_VIET = 183, /*[AA80]*/
1375 UBLOCK_MEETEI_MAYEK = 184, /*[ABC0]*/
1377 UBLOCK_HANGUL_JAMO_EXTENDED_B = 185, /*[D7B0]*/
1379 UBLOCK_IMPERIAL_ARAMAIC = 186, /*[10840]*/
1381 UBLOCK_OLD_SOUTH_ARABIAN = 187, /*[10A60]*/
1383 UBLOCK_AVESTAN = 188, /*[10B00]*/
1385 UBLOCK_INSCRIPTIONAL_PARTHIAN = 189, /*[10B40]*/
1387 UBLOCK_INSCRIPTIONAL_PAHLAVI = 190, /*[10B60]*/
1389 UBLOCK_OLD_TURKIC = 191, /*[10C00]*/
1391 UBLOCK_RUMI_NUMERAL_SYMBOLS = 192, /*[10E60]*/
1393 UBLOCK_KAITHI = 193, /*[11080]*/
1395 UBLOCK_EGYPTIAN_HIEROGLYPHS = 194, /*[13000]*/
1397 UBLOCK_ENCLOSED_ALPHANUMERIC_SUPPLEMENT = 195, /*[1F100]*/
1399 UBLOCK_ENCLOSED_IDEOGRAPHIC_SUPPLEMENT = 196, /*[1F200]*/
1401 UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C = 197, /*[2A700]*/
1402
1403 /* New blocks in Unicode 6.0 */
1404
1406 UBLOCK_MANDAIC = 198, /*[0840]*/
1408 UBLOCK_BATAK = 199, /*[1BC0]*/
1410 UBLOCK_ETHIOPIC_EXTENDED_A = 200, /*[AB00]*/
1412 UBLOCK_BRAHMI = 201, /*[11000]*/
1414 UBLOCK_BAMUM_SUPPLEMENT = 202, /*[16800]*/
1416 UBLOCK_KANA_SUPPLEMENT = 203, /*[1B000]*/
1418 UBLOCK_PLAYING_CARDS = 204, /*[1F0A0]*/
1420 UBLOCK_MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS = 205, /*[1F300]*/
1422 UBLOCK_EMOTICONS = 206, /*[1F600]*/
1424 UBLOCK_TRANSPORT_AND_MAP_SYMBOLS = 207, /*[1F680]*/
1426 UBLOCK_ALCHEMICAL_SYMBOLS = 208, /*[1F700]*/
1428 UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D = 209, /*[2B740]*/
1429
1430 /* New blocks in Unicode 6.1 */
1431
1433 UBLOCK_ARABIC_EXTENDED_A = 210, /*[08A0]*/
1435 UBLOCK_ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS = 211, /*[1EE00]*/
1437 UBLOCK_CHAKMA = 212, /*[11100]*/
1439 UBLOCK_MEETEI_MAYEK_EXTENSIONS = 213, /*[AAE0]*/
1441 UBLOCK_MEROITIC_CURSIVE = 214, /*[109A0]*/
1443 UBLOCK_MEROITIC_HIEROGLYPHS = 215, /*[10980]*/
1445 UBLOCK_MIAO = 216, /*[16F00]*/
1447 UBLOCK_SHARADA = 217, /*[11180]*/
1449 UBLOCK_SORA_SOMPENG = 218, /*[110D0]*/
1451 UBLOCK_SUNDANESE_SUPPLEMENT = 219, /*[1CC0]*/
1453 UBLOCK_TAKRI = 220, /*[11680]*/
1454
1455 /* New blocks in Unicode 7.0 */
1456
1458 UBLOCK_BASSA_VAH = 221, /*[16AD0]*/
1460 UBLOCK_CAUCASIAN_ALBANIAN = 222, /*[10530]*/
1462 UBLOCK_COPTIC_EPACT_NUMBERS = 223, /*[102E0]*/
1464 UBLOCK_COMBINING_DIACRITICAL_MARKS_EXTENDED = 224, /*[1AB0]*/
1466 UBLOCK_DUPLOYAN = 225, /*[1BC00]*/
1468 UBLOCK_ELBASAN = 226, /*[10500]*/
1470 UBLOCK_GEOMETRIC_SHAPES_EXTENDED = 227, /*[1F780]*/
1472 UBLOCK_GRANTHA = 228, /*[11300]*/
1474 UBLOCK_KHOJKI = 229, /*[11200]*/
1476 UBLOCK_KHUDAWADI = 230, /*[112B0]*/
1478 UBLOCK_LATIN_EXTENDED_E = 231, /*[AB30]*/
1480 UBLOCK_LINEAR_A = 232, /*[10600]*/
1482 UBLOCK_MAHAJANI = 233, /*[11150]*/
1484 UBLOCK_MANICHAEAN = 234, /*[10AC0]*/
1486 UBLOCK_MENDE_KIKAKUI = 235, /*[1E800]*/
1488 UBLOCK_MODI = 236, /*[11600]*/
1490 UBLOCK_MRO = 237, /*[16A40]*/
1492 UBLOCK_MYANMAR_EXTENDED_B = 238, /*[A9E0]*/
1494 UBLOCK_NABATAEAN = 239, /*[10880]*/
1496 UBLOCK_OLD_NORTH_ARABIAN = 240, /*[10A80]*/
1498 UBLOCK_OLD_PERMIC = 241, /*[10350]*/
1500 UBLOCK_ORNAMENTAL_DINGBATS = 242, /*[1F650]*/
1502 UBLOCK_PAHAWH_HMONG = 243, /*[16B00]*/
1504 UBLOCK_PALMYRENE = 244, /*[10860]*/
1506 UBLOCK_PAU_CIN_HAU = 245, /*[11AC0]*/
1508 UBLOCK_PSALTER_PAHLAVI = 246, /*[10B80]*/
1510 UBLOCK_SHORTHAND_FORMAT_CONTROLS = 247, /*[1BCA0]*/
1512 UBLOCK_SIDDHAM = 248, /*[11580]*/
1514 UBLOCK_SINHALA_ARCHAIC_NUMBERS = 249, /*[111E0]*/
1516 UBLOCK_SUPPLEMENTAL_ARROWS_C = 250, /*[1F800]*/
1518 UBLOCK_TIRHUTA = 251, /*[11480]*/
1520 UBLOCK_WARANG_CITI = 252, /*[118A0]*/
1521
1522 /* New blocks in Unicode 8.0 */
1523
1525 UBLOCK_AHOM = 253, /*[11700]*/
1527 UBLOCK_ANATOLIAN_HIEROGLYPHS = 254, /*[14400]*/
1529 UBLOCK_CHEROKEE_SUPPLEMENT = 255, /*[AB70]*/
1531 UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_E = 256, /*[2B820]*/
1533 UBLOCK_EARLY_DYNASTIC_CUNEIFORM = 257, /*[12480]*/
1535 UBLOCK_HATRAN = 258, /*[108E0]*/
1537 UBLOCK_MULTANI = 259, /*[11280]*/
1539 UBLOCK_OLD_HUNGARIAN = 260, /*[10C80]*/
1541 UBLOCK_SUPPLEMENTAL_SYMBOLS_AND_PICTOGRAPHS = 261, /*[1F900]*/
1543 UBLOCK_SUTTON_SIGNWRITING = 262, /*[1D800]*/
1544
1546 UBLOCK_COUNT = 263,
1547
1549 UBLOCK_INVALID_CODE=-1
1550 };
1551
1553 typedef enum UBlockCode UBlockCode;
1554
1562 typedef enum UEastAsianWidth {
1563 /*
1564 * Note: UEastAsianWidth constants are parsed by preparseucd.py.
1565 * It matches lines like
1566 * U_EA_<Unicode East_Asian_Width value name>
1567 */
1568
1569 U_EA_NEUTRAL, /*[N]*/
1570 U_EA_AMBIGUOUS, /*[A]*/
1571 U_EA_HALFWIDTH, /*[H]*/
1572 U_EA_FULLWIDTH, /*[F]*/
1573 U_EA_NARROW, /*[Na]*/
1574 U_EA_WIDE, /*[W]*/
1575 U_EA_COUNT
1576 } UEastAsianWidth;
1577
1589 typedef enum UCharNameChoice {
1591 U_UNICODE_CHAR_NAME,
1592 #ifndef U_HIDE_DEPRECATED_API
1593
1598 U_UNICODE_10_CHAR_NAME,
1599 #endif /* U_HIDE_DEPRECATED_API */
1600
1601 U_EXTENDED_CHAR_NAME = U_UNICODE_CHAR_NAME+2,
1603 U_CHAR_NAME_ALIAS,
1605 U_CHAR_NAME_CHOICE_COUNT
1606 } UCharNameChoice;
1607
1621 typedef enum UPropertyNameChoice {
1622 U_SHORT_PROPERTY_NAME,
1623 U_LONG_PROPERTY_NAME,
1624 U_PROPERTY_NAME_CHOICE_COUNT
1625 } UPropertyNameChoice;
1626
1633 typedef enum UDecompositionType {
1634 /*
1635 * Note: UDecompositionType constants are parsed by preparseucd.py.
1636 * It matches lines like
1637 * U_DT_<Unicode Decomposition_Type value name>
1638 */
1639
1640 U_DT_NONE, /*[none]*/
1641 U_DT_CANONICAL, /*[can]*/
1642 U_DT_COMPAT, /*[com]*/
1643 U_DT_CIRCLE, /*[enc]*/
1644 U_DT_FINAL, /*[fin]*/
1645 U_DT_FONT, /*[font]*/
1646 U_DT_FRACTION, /*[fra]*/
1647 U_DT_INITIAL, /*[init]*/
1648 U_DT_ISOLATED, /*[iso]*/
1649 U_DT_MEDIAL, /*[med]*/
1650 U_DT_NARROW, /*[nar]*/
1651 U_DT_NOBREAK, /*[nb]*/
1652 U_DT_SMALL, /*[sml]*/
1653 U_DT_SQUARE, /*[sqr]*/
1654 U_DT_SUB, /*[sub]*/
1655 U_DT_SUPER, /*[sup]*/
1656 U_DT_VERTICAL, /*[vert]*/
1657 U_DT_WIDE, /*[wide]*/
1658 U_DT_COUNT /* 18 */
1659 } UDecompositionType;
1660
1667 typedef enum UJoiningType {
1668 /*
1669 * Note: UJoiningType constants are parsed by preparseucd.py.
1670 * It matches lines like
1671 * U_JT_<Unicode Joining_Type value name>
1672 */
1673
1674 U_JT_NON_JOINING, /*[U]*/
1675 U_JT_JOIN_CAUSING, /*[C]*/
1676 U_JT_DUAL_JOINING, /*[D]*/
1677 U_JT_LEFT_JOINING, /*[L]*/
1678 U_JT_RIGHT_JOINING, /*[R]*/
1679 U_JT_TRANSPARENT, /*[T]*/
1680 U_JT_COUNT /* 6 */
1681 } UJoiningType;
1682
1689 typedef enum UJoiningGroup {
1690 /*
1691 * Note: UJoiningGroup constants are parsed by preparseucd.py.
1692 * It matches lines like
1693 * U_JG_<Unicode Joining_Group value name>
1694 */
1695
1696 U_JG_NO_JOINING_GROUP,
1697 U_JG_AIN,
1698 U_JG_ALAPH,
1699 U_JG_ALEF,
1700 U_JG_BEH,
1701 U_JG_BETH,
1702 U_JG_DAL,
1703 U_JG_DALATH_RISH,
1704 U_JG_E,
1705 U_JG_FEH,
1706 U_JG_FINAL_SEMKATH,
1707 U_JG_GAF,
1708 U_JG_GAMAL,
1709 U_JG_HAH,
1710 U_JG_TEH_MARBUTA_GOAL,
1711 U_JG_HAMZA_ON_HEH_GOAL=U_JG_TEH_MARBUTA_GOAL,
1712 U_JG_HE,
1713 U_JG_HEH,
1714 U_JG_HEH_GOAL,
1715 U_JG_HETH,
1716 U_JG_KAF,
1717 U_JG_KAPH,
1718 U_JG_KNOTTED_HEH,
1719 U_JG_LAM,
1720 U_JG_LAMADH,
1721 U_JG_MEEM,
1722 U_JG_MIM,
1723 U_JG_NOON,
1724 U_JG_NUN,
1725 U_JG_PE,
1726 U_JG_QAF,
1727 U_JG_QAPH,
1728 U_JG_REH,
1729 U_JG_REVERSED_PE,
1730 U_JG_SAD,
1731 U_JG_SADHE,
1732 U_JG_SEEN,
1733 U_JG_SEMKATH,
1734 U_JG_SHIN,
1735 U_JG_SWASH_KAF,
1736 U_JG_SYRIAC_WAW,
1737 U_JG_TAH,
1738 U_JG_TAW,
1739 U_JG_TEH_MARBUTA,
1740 U_JG_TETH,
1741 U_JG_WAW,
1742 U_JG_YEH,
1743 U_JG_YEH_BARREE,
1744 U_JG_YEH_WITH_TAIL,
1745 U_JG_YUDH,
1746 U_JG_YUDH_HE,
1747 U_JG_ZAIN,
1748 U_JG_FE,
1749 U_JG_KHAPH,
1750 U_JG_ZHAIN,
1751 U_JG_BURUSHASKI_YEH_BARREE,
1752 U_JG_FARSI_YEH,
1753 U_JG_NYA,
1754 U_JG_ROHINGYA_YEH,
1755 U_JG_MANICHAEAN_ALEPH,
1756 U_JG_MANICHAEAN_AYIN,
1757 U_JG_MANICHAEAN_BETH,
1758 U_JG_MANICHAEAN_DALETH,
1759 U_JG_MANICHAEAN_DHAMEDH,
1760 U_JG_MANICHAEAN_FIVE,
1761 U_JG_MANICHAEAN_GIMEL,
1762 U_JG_MANICHAEAN_HETH,
1763 U_JG_MANICHAEAN_HUNDRED,
1764 U_JG_MANICHAEAN_KAPH,
1765 U_JG_MANICHAEAN_LAMEDH,
1766 U_JG_MANICHAEAN_MEM,
1767 U_JG_MANICHAEAN_NUN,
1768 U_JG_MANICHAEAN_ONE,
1769 U_JG_MANICHAEAN_PE,
1770 U_JG_MANICHAEAN_QOPH,
1771 U_JG_MANICHAEAN_RESH,
1772 U_JG_MANICHAEAN_SADHE,
1773 U_JG_MANICHAEAN_SAMEKH,
1774 U_JG_MANICHAEAN_TAW,
1775 U_JG_MANICHAEAN_TEN,
1776 U_JG_MANICHAEAN_TETH,
1777 U_JG_MANICHAEAN_THAMEDH,
1778 U_JG_MANICHAEAN_TWENTY,
1779 U_JG_MANICHAEAN_WAW,
1780 U_JG_MANICHAEAN_YODH,
1781 U_JG_MANICHAEAN_ZAYIN,
1782 U_JG_STRAIGHT_WAW,
1783 U_JG_COUNT
1784 } UJoiningGroup;
1785
1792 typedef enum UGraphemeClusterBreak {
1793 /*
1794 * Note: UGraphemeClusterBreak constants are parsed by preparseucd.py.
1795 * It matches lines like
1796 * U_GCB_<Unicode Grapheme_Cluster_Break value name>
1797 */
1798
1799 U_GCB_OTHER = 0, /*[XX]*/
1800 U_GCB_CONTROL = 1, /*[CN]*/
1801 U_GCB_CR = 2, /*[CR]*/
1802 U_GCB_EXTEND = 3, /*[EX]*/
1803 U_GCB_L = 4, /*[L]*/
1804 U_GCB_LF = 5, /*[LF]*/
1805 U_GCB_LV = 6, /*[LV]*/
1806 U_GCB_LVT = 7, /*[LVT]*/
1807 U_GCB_T = 8, /*[T]*/
1808 U_GCB_V = 9, /*[V]*/
1809 U_GCB_SPACING_MARK = 10, /*[SM]*/ /* from here on: new in Unicode 5.1/ICU 4.0 */
1810 U_GCB_PREPEND = 11, /*[PP]*/
1811 U_GCB_REGIONAL_INDICATOR = 12, /*[RI]*/ /* new in Unicode 6.2/ICU 50 */
1812 U_GCB_COUNT = 13
1813 } UGraphemeClusterBreak;
1814
1822 typedef enum UWordBreakValues {
1823 /*
1824 * Note: UWordBreakValues constants are parsed by preparseucd.py.
1825 * It matches lines like
1826 * U_WB_<Unicode Word_Break value name>
1827 */
1828
1829 U_WB_OTHER = 0, /*[XX]*/
1830 U_WB_ALETTER = 1, /*[LE]*/
1831 U_WB_FORMAT = 2, /*[FO]*/
1832 U_WB_KATAKANA = 3, /*[KA]*/
1833 U_WB_MIDLETTER = 4, /*[ML]*/
1834 U_WB_MIDNUM = 5, /*[MN]*/
1835 U_WB_NUMERIC = 6, /*[NU]*/
1836 U_WB_EXTENDNUMLET = 7, /*[EX]*/
1837 U_WB_CR = 8, /*[CR]*/ /* from here on: new in Unicode 5.1/ICU 4.0 */
1838 U_WB_EXTEND = 9, /*[Extend]*/
1839 U_WB_LF = 10, /*[LF]*/
1840 U_WB_MIDNUMLET =11, /*[MB]*/
1841 U_WB_NEWLINE =12, /*[NL]*/
1842 U_WB_REGIONAL_INDICATOR = 13, /*[RI]*/ /* new in Unicode 6.2/ICU 50 */
1843 U_WB_HEBREW_LETTER = 14, /*[HL]*/ /* from here on: new in Unicode 6.3/ICU 52 */
1844 U_WB_SINGLE_QUOTE = 15, /*[SQ]*/
1845 U_WB_DOUBLE_QUOTE = 16, /*[DQ]*/
1846 U_WB_COUNT = 17
1847 } UWordBreakValues;
1848
1855 typedef enum USentenceBreak {
1856 /*
1857 * Note: USentenceBreak constants are parsed by preparseucd.py.
1858 * It matches lines like
1859 * U_SB_<Unicode Sentence_Break value name>
1860 */
1861
1862 U_SB_OTHER = 0, /*[XX]*/
1863 U_SB_ATERM = 1, /*[AT]*/
1864 U_SB_CLOSE = 2, /*[CL]*/
1865 U_SB_FORMAT = 3, /*[FO]*/
1866 U_SB_LOWER = 4, /*[LO]*/
1867 U_SB_NUMERIC = 5, /*[NU]*/
1868 U_SB_OLETTER = 6, /*[LE]*/
1869 U_SB_SEP = 7, /*[SE]*/
1870 U_SB_SP = 8, /*[SP]*/
1871 U_SB_STERM = 9, /*[ST]*/
1872 U_SB_UPPER = 10, /*[UP]*/
1873 U_SB_CR = 11, /*[CR]*/ /* from here on: new in Unicode 5.1/ICU 4.0 */
1874 U_SB_EXTEND = 12, /*[EX]*/
1875 U_SB_LF = 13, /*[LF]*/
1876 U_SB_SCONTINUE = 14, /*[SC]*/
1877 U_SB_COUNT = 15
1878 } USentenceBreak;
1879
1886 typedef enum ULineBreak {
1887 /*
1888 * Note: ULineBreak constants are parsed by preparseucd.py.
1889 * It matches lines like
1890 * U_LB_<Unicode Line_Break value name>
1891 */
1892
1893 U_LB_UNKNOWN = 0, /*[XX]*/
1894 U_LB_AMBIGUOUS = 1, /*[AI]*/
1895 U_LB_ALPHABETIC = 2, /*[AL]*/
1896 U_LB_BREAK_BOTH = 3, /*[B2]*/
1897 U_LB_BREAK_AFTER = 4, /*[BA]*/
1898 U_LB_BREAK_BEFORE = 5, /*[BB]*/
1899 U_LB_MANDATORY_BREAK = 6, /*[BK]*/
1900 U_LB_CONTINGENT_BREAK = 7, /*[CB]*/
1901 U_LB_CLOSE_PUNCTUATION = 8, /*[CL]*/
1902 U_LB_COMBINING_MARK = 9, /*[CM]*/
1903 U_LB_CARRIAGE_RETURN = 10, /*[CR]*/
1904 U_LB_EXCLAMATION = 11, /*[EX]*/
1905 U_LB_GLUE = 12, /*[GL]*/
1906 U_LB_HYPHEN = 13, /*[HY]*/
1907 U_LB_IDEOGRAPHIC = 14, /*[ID]*/
1909 U_LB_INSEPARABLE = 15, /*[IN]*/
1910 U_LB_INSEPERABLE = U_LB_INSEPARABLE,
1911 U_LB_INFIX_NUMERIC = 16, /*[IS]*/
1912 U_LB_LINE_FEED = 17, /*[LF]*/
1913 U_LB_NONSTARTER = 18, /*[NS]*/
1914 U_LB_NUMERIC = 19, /*[NU]*/
1915 U_LB_OPEN_PUNCTUATION = 20, /*[OP]*/
1916 U_LB_POSTFIX_NUMERIC = 21, /*[PO]*/
1917 U_LB_PREFIX_NUMERIC = 22, /*[PR]*/
1918 U_LB_QUOTATION = 23, /*[QU]*/
1919 U_LB_COMPLEX_CONTEXT = 24, /*[SA]*/
1920 U_LB_SURROGATE = 25, /*[SG]*/
1921 U_LB_SPACE = 26, /*[SP]*/
1922 U_LB_BREAK_SYMBOLS = 27, /*[SY]*/
1923 U_LB_ZWSPACE = 28, /*[ZW]*/
1924 U_LB_NEXT_LINE = 29, /*[NL]*/ /* from here on: new in Unicode 4/ICU 2.6 */
1925 U_LB_WORD_JOINER = 30, /*[WJ]*/
1926 U_LB_H2 = 31, /*[H2]*/ /* from here on: new in Unicode 4.1/ICU 3.4 */
1927 U_LB_H3 = 32, /*[H3]*/
1928 U_LB_JL = 33, /*[JL]*/
1929 U_LB_JT = 34, /*[JT]*/
1930 U_LB_JV = 35, /*[JV]*/
1931 U_LB_CLOSE_PARENTHESIS = 36, /*[CP]*/ /* new in Unicode 5.2/ICU 4.4 */
1932 U_LB_CONDITIONAL_JAPANESE_STARTER = 37,/*[CJ]*/ /* new in Unicode 6.1/ICU 49 */
1933 U_LB_HEBREW_LETTER = 38, /*[HL]*/ /* new in Unicode 6.1/ICU 49 */
1934 U_LB_REGIONAL_INDICATOR = 39,/*[RI]*/ /* new in Unicode 6.2/ICU 50 */
1935 U_LB_COUNT = 40
1936 } ULineBreak;
1937
1944 typedef enum UNumericType {
1945 /*
1946 * Note: UNumericType constants are parsed by preparseucd.py.
1947 * It matches lines like
1948 * U_NT_<Unicode Numeric_Type value name>
1949 */
1950
1951 U_NT_NONE, /*[None]*/
1952 U_NT_DECIMAL, /*[de]*/
1953 U_NT_DIGIT, /*[di]*/
1954 U_NT_NUMERIC, /*[nu]*/
1955 U_NT_COUNT
1956 } UNumericType;
1957
1964 typedef enum UHangulSyllableType {
1965 /*
1966 * Note: UHangulSyllableType constants are parsed by preparseucd.py.
1967 * It matches lines like
1968 * U_HST_<Unicode Hangul_Syllable_Type value name>
1969 */
1970
1971 U_HST_NOT_APPLICABLE, /*[NA]*/
1972 U_HST_LEADING_JAMO, /*[L]*/
1973 U_HST_VOWEL_JAMO, /*[V]*/
1974 U_HST_TRAILING_JAMO, /*[T]*/
1975 U_HST_LV_SYLLABLE, /*[LV]*/
1976 U_HST_LVT_SYLLABLE, /*[LVT]*/
1977 U_HST_COUNT
1978 } UHangulSyllableType;
1979
2006 U_STABLE UBool U_EXPORT2
2007 u_hasBinaryProperty(UChar32 c, UProperty which);
2008
2021 U_STABLE UBool U_EXPORT2
2022 u_isUAlphabetic(UChar32 c);
2023
2036 U_STABLE UBool U_EXPORT2
2037 u_isULowercase(UChar32 c);
2038
2051 U_STABLE UBool U_EXPORT2
2052 u_isUUppercase(UChar32 c);
2053
2072 U_STABLE UBool U_EXPORT2
2073 u_isUWhiteSpace(UChar32 c);
2074
2112 U_STABLE int32_t U_EXPORT2
2113 u_getIntPropertyValue(UChar32 c, UProperty which);
2114
2133 U_STABLE int32_t U_EXPORT2
2134 u_getIntPropertyMinValue(UProperty which);
2135
2162 U_STABLE int32_t U_EXPORT2
2163 u_getIntPropertyMaxValue(UProperty which);
2164
2187 U_STABLE double U_EXPORT2
2188 u_getNumericValue(UChar32 c);
2189
2197 #define U_NO_NUMERIC_VALUE ((double)-123456789.)
2198
2222 U_STABLE UBool U_EXPORT2
2223 u_islower(UChar32 c);
2224
2249 U_STABLE UBool U_EXPORT2
2250 u_isupper(UChar32 c);
2251
2266 U_STABLE UBool U_EXPORT2
2267 u_istitle(UChar32 c);
2268
2287 U_STABLE UBool U_EXPORT2
2288 u_isdigit(UChar32 c);
2289
2308 U_STABLE UBool U_EXPORT2
2309 u_isalpha(UChar32 c);
2310
2329 U_STABLE UBool U_EXPORT2
2330 u_isalnum(UChar32 c);
2331
2352 U_STABLE UBool U_EXPORT2
2353 u_isxdigit(UChar32 c);
2354
2368 U_STABLE UBool U_EXPORT2
2369 u_ispunct(UChar32 c);
2370
2387 U_STABLE UBool U_EXPORT2
2388 u_isgraph(UChar32 c);
2389
2416 U_STABLE UBool U_EXPORT2
2417 u_isblank(UChar32 c);
2418
2441 U_STABLE UBool U_EXPORT2
2442 u_isdefined(UChar32 c);
2443
2462 U_STABLE UBool U_EXPORT2
2463 u_isspace(UChar32 c);
2464
2483 U_STABLE UBool U_EXPORT2
2484 u_isJavaSpaceChar(UChar32 c);
2485
2523 U_STABLE UBool U_EXPORT2
2524 u_isWhitespace(UChar32 c);
2525
2547 U_STABLE UBool U_EXPORT2
2548 u_iscntrl(UChar32 c);
2549
2562 U_STABLE UBool U_EXPORT2
2563 u_isISOControl(UChar32 c);
2564
2580 U_STABLE UBool U_EXPORT2
2581 u_isprint(UChar32 c);
2582
2601 U_STABLE UBool U_EXPORT2
2602 u_isbase(UChar32 c);
2603
2620 U_STABLE UCharDirection U_EXPORT2
2621 u_charDirection(UChar32 c);
2622
2638 U_STABLE UBool U_EXPORT2
2639 u_isMirrored(UChar32 c);
2640
2660 U_STABLE UChar32 U_EXPORT2
2661 u_charMirror(UChar32 c);
2662
2679 U_STABLE UChar32 U_EXPORT2
2680 u_getBidiPairedBracket(UChar32 c);
2681
2693 U_STABLE int8_t U_EXPORT2
2694 u_charType(UChar32 c);
2695
2709 #define U_GET_GC_MASK(c) U_MASK(u_charType(c))
2710
2728 typedef UBool U_CALLCONV
2729 UCharEnumTypeRange(const void *context, UChar32 start, UChar32 limit, UCharCategory type);
2730
2750 U_STABLE void U_EXPORT2
2751 u_enumCharTypes(UCharEnumTypeRange *enumRange, const void *context);
2752
2753 #if !UCONFIG_NO_NORMALIZATION
2754
2762 U_STABLE uint8_t U_EXPORT2
2763 u_getCombiningClass(UChar32 c);
2764
2765 #endif
2766
2790 U_STABLE int32_t U_EXPORT2
2791 u_charDigitValue(UChar32 c);
2792
2802 U_STABLE UBlockCode U_EXPORT2
2803 ublock_getCode(UChar32 c);
2804
2837 U_STABLE int32_t U_EXPORT2
2838 u_charName(UChar32 code, UCharNameChoice nameChoice,
2839 char *buffer, int32_t bufferLength,
2840 UErrorCode *pErrorCode);
2841
2842 #ifndef U_HIDE_DEPRECATED_API
2843
2861 U_DEPRECATED int32_t U_EXPORT2
2862 u_getISOComment(UChar32 c,
2863 char *dest, int32_t destCapacity,
2864 UErrorCode *pErrorCode);
2865 #endif /* U_HIDE_DEPRECATED_API */
2866
2887 U_STABLE UChar32 U_EXPORT2
2888 u_charFromName(UCharNameChoice nameChoice,
2889 const char *name,
2890 UErrorCode *pErrorCode);
2891
2909 typedef UBool U_CALLCONV UEnumCharNamesFn(void *context,
2910 UChar32 code,
2911 UCharNameChoice nameChoice,
2912 const char *name,
2913 int32_t length);
2914
2936 U_STABLE void U_EXPORT2
2937 u_enumCharNames(UChar32 start, UChar32 limit,
2938 UEnumCharNamesFn *fn,
2939 void *context,
2940 UCharNameChoice nameChoice,
2941 UErrorCode *pErrorCode);
2942
2974 U_STABLE const char* U_EXPORT2
2975 u_getPropertyName(UProperty property,
2976 UPropertyNameChoice nameChoice);
2977
2997 U_STABLE UProperty U_EXPORT2
2998 u_getPropertyEnum(const char* alias);
2999
3047 U_STABLE const char* U_EXPORT2
3048 u_getPropertyValueName(UProperty property,
3049 int32_t value,
3050 UPropertyNameChoice nameChoice);
3051
3083 U_STABLE int32_t U_EXPORT2
3084 u_getPropertyValueEnum(UProperty property,
3085 const char* alias);
3086
3104 U_STABLE UBool U_EXPORT2
3105 u_isIDStart(UChar32 c);
3106
3128 U_STABLE UBool U_EXPORT2
3129 u_isIDPart(UChar32 c);
3130
3151 U_STABLE UBool U_EXPORT2
3152 u_isIDIgnorable(UChar32 c);
3153
3170 U_STABLE UBool U_EXPORT2
3171 u_isJavaIDStart(UChar32 c);
3172
3191 U_STABLE UBool U_EXPORT2
3192 u_isJavaIDPart(UChar32 c);
3193
3216 U_STABLE UChar32 U_EXPORT2
3217 u_tolower(UChar32 c);
3218
3241 U_STABLE UChar32 U_EXPORT2
3242 u_toupper(UChar32 c);
3243
3266 U_STABLE UChar32 U_EXPORT2
3267 u_totitle(UChar32 c);
3268
3270 #define U_FOLD_CASE_DEFAULT 0
3271
3288 #define U_FOLD_CASE_EXCLUDE_SPECIAL_I 1
3289
3312 U_STABLE UChar32 U_EXPORT2
3313 u_foldCase(UChar32 c, uint32_t options);
3314
3353 U_STABLE int32_t U_EXPORT2
3354 u_digit(UChar32 ch, int8_t radix);
3355
3384 U_STABLE UChar32 U_EXPORT2
3385 u_forDigit(int32_t digit, int8_t radix);
3386
3401 U_STABLE void U_EXPORT2
3402 u_charAge(UChar32 c, UVersionInfo versionArray);
3403
3415 U_STABLE void U_EXPORT2
3416 u_getUnicodeVersion(UVersionInfo versionArray);
3417
3418 #if !UCONFIG_NO_NORMALIZATION
3419
3440 U_STABLE int32_t U_EXPORT2
3441 u_getFC_NFKC_Closure(UChar32 c, UChar *dest, int32_t destCapacity, UErrorCode *pErrorCode);
3442
3443 #endif
3444
3445
3446 U_CDECL_END
3447
3448 #endif /*_UCHAR*/
3449 /*eof*/
UBLOCK_LEPCHA
Definition: uchar.h:1316
UBLOCK_KHMER
Definition: uchar.h:981
UVersionInfo
uint8_t UVersionInfo[U_MAX_VERSION_LENGTH]
The binary form of a version on ICU APIs is an array of 4 uint8_t.
Definition: uversion.h:57
UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C
Definition: uchar.h:1401
UCHAR_IDEOGRAPHIC
Binary property Ideographic.
Definition: uchar.h:237
UBLOCK_CYRILLIC_SUPPLEMENTARY
Unicode 4.0.1 renames the "Cyrillic Supplementary" block to "Cyrillic Supplement".
Definition: uchar.h:1186
UBLOCK_GRANTHA
Definition: uchar.h:1472
UBLOCK_BOX_DRAWING
Definition: uchar.h:1032
UCHAR_CHANGES_WHEN_LOWERCASED
Binary property Changes_When_Lowercased.
Definition: uchar.h:389
UBLOCK_GENERAL_PUNCTUATION
Definition: uchar.h:993
UCHAR_IDS_BINARY_OPERATOR
Binary property IDS_Binary_Operator (new in Unicode 3.2).
Definition: uchar.h:241
UBLOCK_SYLOTI_NAGRI
Definition: uchar.h:1284
UBLOCK_AVESTAN
Definition: uchar.h:1383
UBLOCK_MISCELLANEOUS_SYMBOLS_AND_ARROWS
Definition: uchar.h:1225
UBLOCK_COMBINING_DIACRITICAL_MARKS_EXTENDED
Definition: uchar.h:1464
U_ENCLOSING_MARK
Me.
Definition: uchar.h:612
UBLOCK_CJK_STROKES
Definition: uchar.h:1258
UBLOCK_GEOMETRIC_SHAPES_EXTENDED
Definition: uchar.h:1470
UBLOCK_OLD_ITALIC
Definition: uchar.h:1160
UCHAR_CASE_IGNORABLE
Binary property Case_Ignorable.
Definition: uchar.h:387
UBLOCK_MONGOLIAN
Definition: uchar.h:984
u_isUWhiteSpace
UBool u_isUWhiteSpace(UChar32 c)
Check if a code point has the White_Space Unicode property.
U_CURRENCY_SYMBOL
Sc.
Definition: uchar.h:648
u_istitle
UBool u_istitle(UChar32 c)
Determines whether the specified code point is a titlecase letter.
UCHAR_NFC_QUICK_CHECK
Enumerated property NFC_Quick_Check.
Definition: uchar.h:450
U_LEFT_TO_RIGHT
L.
Definition: uchar.h:786
U_MODIFIER_LETTER
Lm.
Definition: uchar.h:606
u_totitle
UChar32 u_totitle(UChar32 c)
The given character is mapped to its titlecase equivalent according to UnicodeData.txt; if none is defined, the character itself is returned.
U_START_PUNCTUATION
Ps.
Definition: uchar.h:638
UBLOCK_VARIATION_SELECTORS_SUPPLEMENT
Definition: uchar.h:1245
UBLOCK_BOPOMOFO_EXTENDED
Definition: uchar.h:1077
UBLOCK_MANDAIC
Definition: uchar.h:1406
U_JG_MANICHAEAN_BETH
Definition: uchar.h:1757
UCHAR_SCRIPT_EXTENSIONS
Miscellaneous property Script_Extensions (new in Unicode 6.0).
Definition: uchar.h:571
UBLOCK_BYZANTINE_MUSICAL_SYMBOLS
Definition: uchar.h:1166
UBLOCK_LATIN_EXTENDED_ADDITIONAL
Definition: uchar.h:987
u_getPropertyName
const char * u_getPropertyName(UProperty property, UPropertyNameChoice nameChoice)
Return the Unicode name for a given property, as given in the Unicode database file PropertyAliases...
UBLOCK_OPTICAL_CHARACTER_RECOGNITION
Definition: uchar.h:1026
UBLOCK_PRIVATE_USE
Same as UBLOCK_PRIVATE_USE_AREA.
Definition: uchar.h:1128
UBLOCK_MYANMAR_EXTENDED_B
Definition: uchar.h:1492
u_foldCase
UChar32 u_foldCase(UChar32 c, uint32_t options)
The given character is mapped to its case folding equivalent according to UnicodeData.txt and CaseFolding.txt; if the character has no case folding equivalent, the character itself is returned.
UBLOCK_GOTHIC
Definition: uchar.h:1162
UCHAR_INT_START
First constant for enumerated/integer Unicode properties.
Definition: uchar.h:407
UBLOCK_CHAKMA
Definition: uchar.h:1437
u_getBidiPairedBracket
UChar32 u_getBidiPairedBracket(UChar32 c)
Maps the specified character to its paired bracket character.
UCHAR_XID_START
Binary property XID_Start.
Definition: uchar.h:294
UCHAR_JOIN_CONTROL
Binary property Join_Control.
Definition: uchar.h:248
UBLOCK_HEBREW
Definition: uchar.h:906
UCHAR_LOGICAL_ORDER_EXCEPTION
Binary property Logical_Order_Exception (new in Unicode 3.2).
Definition: uchar.h:252
UCHAR_WHITE_SPACE
Binary property White_Space.
Definition: uchar.h:287
UCHAR_TITLECASE_MAPPING
String property Titlecase_Mapping.
Definition: uchar.h:549
UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_E
Definition: uchar.h:1531
U_FIRST_STRONG_ISOLATE
FSI.
Definition: uchar.h:824
UBLOCK_LISU
Definition: uchar.h:1359
UBLOCK_SUTTON_SIGNWRITING
Definition: uchar.h:1543
UBLOCK_TAKRI
Definition: uchar.h:1453
UBLOCK_ENCLOSED_CJK_LETTERS_AND_MONTHS
Definition: uchar.h:1080
U_JG_ZHAIN
Definition: uchar.h:1750
UBLOCK_ARMENIAN
Definition: uchar.h:903
UBLOCK_CJK_UNIFIED_IDEOGRAPHS
Definition: uchar.h:1089
U_RIGHT_TO_LEFT_ISOLATE
RLI.
Definition: uchar.h:828
UBLOCK_ARABIC
Definition: uchar.h:909
UBLOCK_LATIN_EXTENDED_B
Definition: uchar.h:882
UBLOCK_RUNIC
Definition: uchar.h:978
UBLOCK_KHMER_SYMBOLS
Definition: uchar.h:1221
UCHAR_INT_LIMIT
One more than the last constant for enumerated/integer Unicode properties.
Definition: uchar.h:489
UBLOCK_SAURASHTRA
Definition: uchar.h:1326
U_SEGMENT_SEPARATOR
S.
Definition: uchar.h:802
UCHAR_NUMERIC_TYPE
Enumerated property Numeric_Type.
Definition: uchar.h:435
UCHAR_POSIX_XDIGIT
Binary property xdigit (a C/POSIX character class).
Definition: uchar.h:383
ublock_getCode
UBlockCode ublock_getCode(UChar32 c)
Returns the Unicode allocation block that contains the character.
UCHAR_ALPHABETIC
Binary property Alphabetic.
Definition: uchar.h:175
UBLOCK_CONTROL_PICTURES
Definition: uchar.h:1023
UBLOCK_ORIYA
Definition: uchar.h:930
UBLOCK_BATAK
Definition: uchar.h:1408
UCHAR_DOUBLE_START
First constant for double Unicode properties.
Definition: uchar.h:509
UBLOCK_COPTIC
Definition: uchar.h:1262
UBLOCK_CJK_RADICALS_SUPPLEMENT
Definition: uchar.h:1050
U_RIGHT_TO_LEFT_OVERRIDE
RLO.
Definition: uchar.h:816
UBLOCK_SUPPLEMENTARY_PRIVATE_USE_AREA_A
Definition: uchar.h:1210
UEnumCharNamesFn
UBool UEnumCharNamesFn(void *context, UChar32 code, UCharNameChoice nameChoice, const char *name, int32_t length)
Type of a callback function for u_enumCharNames() that gets called for each Unicode character with th...
Definition: uchar.h:2909
U_JG_MANICHAEAN_HETH
Definition: uchar.h:1762
UBLOCK_KANGXI_RADICALS
Definition: uchar.h:1053
U_JG_ROHINGYA_YEH
Definition: uchar.h:1754
U_JG_MANICHAEAN_TETH
Definition: uchar.h:1776
UBLOCK_CYRILLIC_EXTENDED_B
Definition: uchar.h:1324
UBLOCK_MODI
Definition: uchar.h:1488
u_isgraph
UBool u_isgraph(UChar32 c)
Determines whether the specified code point is a "graphic" character (printable, excluding spaces)...
UBLOCK_COMBINING_DIACRITICAL_MARKS_SUPPLEMENT
Definition: uchar.h:1260
U_GENERAL_OTHER_TYPES
Cn "Other, Not Assigned (no characters in [UnicodeData.txt] have this property)" (same as U_UNASSIGNE...
Definition: uchar.h:598
UBLOCK_KHOJKI
Definition: uchar.h:1474
UBLOCK_SAMARITAN
Definition: uchar.h:1351
UCHAR_SIMPLE_CASE_FOLDING
String property Simple_Case_Folding.
Definition: uchar.h:537
UBLOCK_HIGH_SURROGATES
Definition: uchar.h:1101
UBLOCK_PHAISTOS_DISC
Definition: uchar.h:1336
UCHAR_NFC_INERT
Binary property NFC_Inert.
Definition: uchar.h:330
UCHAR_POSIX_GRAPH
Binary property graph (a C/POSIX character class).
Definition: uchar.h:373
UBLOCK_LATIN_EXTENDED_E
Definition: uchar.h:1478
UBLOCK_LATIN_EXTENDED_D
Definition: uchar.h:1299
UCHAR_BIDI_MIRRORING_GLYPH
String property Bidi_Mirroring_Glyph.
Definition: uchar.h:520
U_SPACE_SEPARATOR
Zs.
Definition: uchar.h:622
UCHAR_MASK_LIMIT
One more than the last constant for bit-mask Unicode properties.
Definition: uchar.h:503
UBLOCK_CARIAN
Definition: uchar.h:1340
u_isdefined
UBool u_isdefined(UChar32 c)
Determines whether the specified code point is "defined", which usually means that it is assigned a c...
UCHAR_BLOCK
Enumerated property Block.
Definition: uchar.h:410
UBLOCK_GURMUKHI
Definition: uchar.h:924
UCHAR_INVALID_CODE
Represents a nonexistent or invalid property or property value.
Definition: uchar.h:578
U_LB_INSEPARABLE
Renamed from the misspelled "inseperable" in Unicode 4.0.1/ICU 3.0.
Definition: uchar.h:1909
UCHAR_RADICAL
Binary property Radical (new in Unicode 3.2).
Definition: uchar.h:267
UCharDirection
UCharDirection
This specifies the language directional property of a character set.
Definition: uchar.h:777
UBLOCK_OSMANYA
Definition: uchar.h:1239
UCHAR_IDS_TRINARY_OPERATOR
Binary property IDS_Trinary_Operator (new in Unicode 3.2).
Definition: uchar.h:245
UBLOCK_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B
Definition: uchar.h:1202
UCHAR_GRAPHEME_LINK
Binary property Grapheme_Link (new in Unicode 3.2).
Definition: uchar.h:219
UCHAR_DECOMPOSITION_TYPE
Enumerated property Decomposition_Type.
Definition: uchar.h:416
UBLOCK_PHAGS_PA
Definition: uchar.h:1301
U_CALLCONV
#define U_CALLCONV
Similar to U_CDECL_BEGIN/U_CDECL_END, this qualifier is necessary in callback function typedefs to ma...
Definition: platform.h:823
UBLOCK_BENGALI
Definition: uchar.h:921
UCHAR_CASE_FOLDING
String property Case_Folding.
Definition: uchar.h:523
UBLOCK_PSALTER_PAHLAVI
Definition: uchar.h:1508
UBLOCK_KATAKANA_PHONETIC_EXTENSIONS
Definition: uchar.h:1206
U_RIGHT_TO_LEFT
R.
Definition: uchar.h:788
UCHAR_NAME
String property Name.
Definition: uchar.h:534
UBLOCK_KAITHI
Definition: uchar.h:1393
U_DECIMAL_DIGIT_NUMBER
Nd.
Definition: uchar.h:616
UBLOCK_DESERET
Definition: uchar.h:1164
UCHAR_SIMPLE_UPPERCASE_MAPPING
String property Simple_Uppercase_Mapping.
Definition: uchar.h:546
U_PARAGRAPH_SEPARATOR
Zp.
Definition: uchar.h:626
u_forDigit
UChar32 u_forDigit(int32_t digit, int8_t radix)
Determines the character representation for a specific digit in the specified radix.
UBLOCK_KAYAH_LI
Definition: uchar.h:1328
UBLOCK_HATRAN
Definition: uchar.h:1535
UCHAR_BIDI_CLASS
Enumerated property Bidi_Class.
Definition: uchar.h:405
u_charDigitValue
int32_t u_charDigitValue(UChar32 c)
Returns the decimal digit value of a decimal digit character.
UCHAR_GENERAL_CATEGORY
Enumerated property General_Category.
Definition: uchar.h:423
U_JG_BURUSHASKI_YEH_BARREE
Definition: uchar.h:1751
UBLOCK_TAMIL
Definition: uchar.h:933
U_JG_FARSI_YEH
Definition: uchar.h:1752
UBLOCK_AHOM
Definition: uchar.h:1525
UBLOCK_ETHIOPIC_EXTENDED_A
Definition: uchar.h:1410
UBLOCK_OGHAM
Definition: uchar.h:975
U_LINE_SEPARATOR
Zl.
Definition: uchar.h:624
UBLOCK_LIMBU
Definition: uchar.h:1217
UBLOCK_EARLY_DYNASTIC_CUNEIFORM
Definition: uchar.h:1533
UBLOCK_AEGEAN_NUMBERS
Definition: uchar.h:1233
U_JG_MANICHAEAN_HUNDRED
Definition: uchar.h:1763
U_MATH_SYMBOL
Sm.
Definition: uchar.h:646
UBLOCK_SPECIALS
Definition: uchar.h:1152
UBLOCK_ANCIENT_GREEK_MUSICAL_NOTATION
Definition: uchar.h:1250
UBLOCK_SUPERSCRIPTS_AND_SUBSCRIPTS
Definition: uchar.h:996
UCHAR_UNICODE_1_NAME
String property Unicode_1_Name.
Definition: uchar.h:555
UBLOCK_MUSICAL_SYMBOLS
Definition: uchar.h:1168
UBLOCK_ARABIC_PRESENTATION_FORMS_B
Definition: uchar.h:1149
u_getFC_NFKC_Closure
int32_t u_getFC_NFKC_Closure(UChar32 c, UChar *dest, int32_t destCapacity, UErrorCode *pErrorCode)
Get the FC_NFKC_Closure property string for a character.
UBLOCK_NABATAEAN
Definition: uchar.h:1494
UBLOCK_IPA_EXTENSIONS
Definition: uchar.h:885
UBLOCK_DEVANAGARI_EXTENDED
Definition: uchar.h:1365
UBLOCK_GREEK_EXTENDED
Definition: uchar.h:990
UBLOCK_SHORTHAND_FORMAT_CONTROLS
Definition: uchar.h:1510
UNumericType
UNumericType
Numeric Type constants.
Definition: uchar.h:1944
UBLOCK_CYRILLIC_SUPPLEMENT
Definition: uchar.h:1181
UBLOCK_HANGUL_JAMO_EXTENDED_B
Definition: uchar.h:1377
UBLOCK_GEORGIAN_SUPPLEMENT
Definition: uchar.h:1268
U_BPT_COUNT
Definition: uchar.h:855
UCHAR_PATTERN_WHITE_SPACE
Binary property Pattern_White_Space (new in Unicode 4.1).
Definition: uchar.h:358
U_JG_MANICHAEAN_FIVE
Definition: uchar.h:1760
U_POP_DIRECTIONAL_FORMAT
PDF.
Definition: uchar.h:818
U_BPT_CLOSE
Close paired bracket.
Definition: uchar.h:853
u_iscntrl
UBool u_iscntrl(UChar32 c)
Determines whether the specified code point is a control character (as defined by this function)...
UBLOCK_BASIC_LATIN
Definition: uchar.h:873
UCharEnumTypeRange
UBool UCharEnumTypeRange(const void *context, UChar32 start, UChar32 limit, UCharCategory type)
Callback from u_enumCharTypes(), is called for each contiguous range of code points c (where start<=c...
Definition: uchar.h:2729
U_JG_MANICHAEAN_YODH
Definition: uchar.h:1780
UBLOCK_ANATOLIAN_HIEROGLYPHS
Definition: uchar.h:1527
UCHAR_CHANGES_WHEN_CASEFOLDED
Binary property Changes_When_Casefolded.
Definition: uchar.h:395
U_FINAL_PUNCTUATION
Pf.
Definition: uchar.h:656
UBLOCK_KANBUN
Definition: uchar.h:1074
UBLOCK_LINEAR_B_SYLLABARY
Definition: uchar.h:1229
UBLOCK_NUMBER_FORMS
Definition: uchar.h:1011
UBLOCK_LATIN_1_SUPPLEMENT
Definition: uchar.h:876
U_JG_MANICHAEAN_NUN
Definition: uchar.h:1767
UCHAR_NFD_INERT
Binary property NFD_Inert.
Definition: uchar.h:316
UBLOCK_LINEAR_B_IDEOGRAMS
Definition: uchar.h:1231
UBLOCK_MEETEI_MAYEK
Definition: uchar.h:1375
UBLOCK_OLD_SOUTH_ARABIAN
Definition: uchar.h:1381
UCHAR_DIACRITIC
Binary property Diacritic.
Definition: uchar.h:200
UCHAR_TERMINAL_PUNCTUATION
Binary property Terminal_Punctuation.
Definition: uchar.h:276
U_RIGHT_TO_LEFT_EMBEDDING
RLE.
Definition: uchar.h:814
U_LEFT_TO_RIGHT_EMBEDDING
LRE.
Definition: uchar.h:808
U_JG_MANICHAEAN_DALETH
Definition: uchar.h:1758
UBLOCK_NKO
Definition: uchar.h:1293
u_charFromName
UChar32 u_charFromName(UCharNameChoice nameChoice, const char *name, UErrorCode *pErrorCode)
Find a Unicode character by its name and return its code point value.
UBLOCK_MYANMAR_EXTENDED_A
Definition: uchar.h:1371
UBLOCK_CJK_SYMBOLS_AND_PUNCTUATION
Definition: uchar.h:1059
U_JG_MANICHAEAN_MEM
Definition: uchar.h:1766
u_isUAlphabetic
UBool u_isUAlphabetic(UChar32 c)
Check if a code point has the Alphabetic Unicode property.
UBLOCK_ETHIOPIC_SUPPLEMENT
Definition: uchar.h:1266
UBLOCK_DUPLOYAN
Definition: uchar.h:1466
UBLOCK_MANICHAEAN
Definition: uchar.h:1484
UCHAR_NFD_QUICK_CHECK
Enumerated property NFD_Quick_Check.
Definition: uchar.h:444
UBLOCK_OLD_PERSIAN
Definition: uchar.h:1278
u_charAge
void u_charAge(UChar32 c, UVersionInfo versionArray)
Get the "age" of the code point.
u_getPropertyValueEnum
int32_t u_getPropertyValueEnum(UProperty property, const char *alias)
Return the property value integer for a given value name, as specified in the Unicode database file P...
UBLOCK_YI_SYLLABLES
Definition: uchar.h:1092
UBLOCK_KATAKANA
Definition: uchar.h:1065
U_CDECL_BEGIN
#define U_CDECL_BEGIN
This is used to begin a declaration of a library private ICU C API.
Definition: umachine.h:82
UCHAR_S_TERM
Binary property STerm (new in Unicode 4.0.1).
Definition: uchar.h:303
UCHAR_JOINING_GROUP
Enumerated property Joining_Group.
Definition: uchar.h:426
UCHAR_ID_CONTINUE
Binary property ID_Continue.
Definition: uchar.h:230
UBLOCK_CYPRIOT_SYLLABARY
Definition: uchar.h:1241
U_CONTROL_CHAR
Cc.
Definition: uchar.h:628
U_BPT_OPEN
Open paired bracket.
Definition: uchar.h:851
UCHAR_POSIX_BLANK
Binary property blank (a C/POSIX character class).
Definition: uchar.h:368
UCHAR_QUOTATION_MARK
Binary property Quotation_Mark.
Definition: uchar.h:263
U_DEPRECATED
#define U_DEPRECATED
This is used to declare a function as a deprecated public ICU C API.
Definition: umachine.h:113
UCHAR_CHANGES_WHEN_NFKC_CASEFOLDED
Binary property Changes_When_NFKC_Casefolded.
Definition: uchar.h:399
UBLOCK_COUNTING_ROD_NUMERALS
Definition: uchar.h:1309
UBLOCK_SUPPLEMENTAL_SYMBOLS_AND_PICTOGRAPHS
Definition: uchar.h:1541
UCHAR_BINARY_START
First constant for binary Unicode properties.
Definition: uchar.h:177
U_JG_FE
Definition: uchar.h:1748
UBLOCK_CYRILLIC_EXTENDED_A
Definition: uchar.h:1320
UBLOCK_CHEROKEE
Definition: uchar.h:969
UBLOCK_KHUDAWADI
Definition: uchar.h:1476
UBLOCK_SUPPLEMENTAL_PUNCTUATION
Definition: uchar.h:1282
UCHAR_NONCHARACTER_CODE_POINT
Binary property Noncharacter_Code_Point.
Definition: uchar.h:261
UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A
Definition: uchar.h:1086
UCHAR_HYPHEN
Binary property Hyphen.
Definition: uchar.h:225
UBLOCK_UGARITIC
Definition: uchar.h:1235
UBLOCK_BLOCK_ELEMENTS
Definition: uchar.h:1035
UBLOCK_VEDIC_EXTENSIONS
Definition: uchar.h:1357
U_OTHER_PUNCTUATION
Po.
Definition: uchar.h:644
U_OTHER_NUMBER
No.
Definition: uchar.h:620
UBLOCK_SUPPLEMENTARY_PRIVATE_USE_AREA_B
Definition: uchar.h:1212
UBLOCK_BRAHMI
Definition: uchar.h:1412
U_JG_MANICHAEAN_TWENTY
Definition: uchar.h:1778
UBLOCK_LINEAR_A
Definition: uchar.h:1480
UCHAR_EAST_ASIAN_WIDTH
Enumerated property East_Asian_Width.
Definition: uchar.h:420
UBLOCK_ENCLOSED_ALPHANUMERIC_SUPPLEMENT
Definition: uchar.h:1397
ULineBreak
ULineBreak
Line Break constants.
Definition: uchar.h:1886
U_DASH_PUNCTUATION
Pd.
Definition: uchar.h:636
UBLOCK_COMBINING_DIACRITICAL_MARKS
Definition: uchar.h:891
UBLOCK_VERTICAL_FORMS
Definition: uchar.h:1288
UBLOCK_ANCIENT_SYMBOLS
Definition: uchar.h:1334
U_CHAR_DIRECTION_COUNT
Definition: uchar.h:832
UBLOCK_THAANA
Definition: uchar.h:915
UCHAR_FULL_COMPOSITION_EXCLUSION
Binary property Full_Composition_Exclusion.
Definition: uchar.h:208
U_JG_MANICHAEAN_RESH
Definition: uchar.h:1771
U_UPPERCASE_LETTER
Lu.
Definition: uchar.h:600
UCHAR_GENERAL_CATEGORY_MASK
Bitmask property General_Category_Mask.
Definition: uchar.h:499
UCHAR_SIMPLE_TITLECASE_MAPPING
String property Simple_Titlecase_Mapping.
Definition: uchar.h:543
UBLOCK_CUNEIFORM
Definition: uchar.h:1305
UBLOCK_IDEOGRAPHIC_DESCRIPTION_CHARACTERS
Definition: uchar.h:1056
UBLOCK_COMBINING_MARKS_FOR_SYMBOLS
Unicode 3.2 renames this block to "Combining Diacritical Marks for Symbols".
Definition: uchar.h:1005
UBLOCK_INVALID_CODE
Definition: uchar.h:1549
UBLOCK_EGYPTIAN_HIEROGLYPHS
Definition: uchar.h:1395
UBLOCK_SORA_SOMPENG
Definition: uchar.h:1449
U_JG_MANICHAEAN_SADHE
Definition: uchar.h:1772
u_digit
int32_t u_digit(UChar32 ch, int8_t radix)
Returns the decimal digit value of the code point in the specified radix.
UDecompositionType
UDecompositionType
Decomposition Type constants.
Definition: uchar.h:1633
u_isprint
UBool u_isprint(UChar32 c)
Determines whether the specified code point is a printable character.
UBLOCK_COPTIC_EPACT_NUMBERS
Definition: uchar.h:1462
u_isxdigit
UBool u_isxdigit(UChar32 c)
Determines whether the specified code point is a hexadecimal digit.
UBLOCK_TAGS
Definition: uchar.h:1176
U_TITLECASE_LETTER
Lt.
Definition: uchar.h:604
UBLOCK_BOPOMOFO
Definition: uchar.h:1068
UHangulSyllableType
UHangulSyllableType
Hangul Syllable Type constants.
Definition: uchar.h:1964
UCHAR_SIMPLE_LOWERCASE_MAPPING
String property Simple_Lowercase_Mapping.
Definition: uchar.h:540
UBLOCK_OLD_TURKIC
Definition: uchar.h:1389
UBLOCK_OL_CHIKI
Definition: uchar.h:1318
UBLOCK_BRAILLE_PATTERNS
Definition: uchar.h:1047
UCHAR_POSIX_PRINT
Binary property print (a C/POSIX character class).
Definition: uchar.h:378
UCHAR_CASE_SENSITIVE
Binary property Case_Sensitive.
Definition: uchar.h:298
U_EXTENDED_CHAR_NAME
Standard or synthetic character name.
Definition: uchar.h:1601
UCHAR_BIDI_MIRRORED
Binary property Bidi_Mirrored.
Definition: uchar.h:188
UBLOCK_HANGUL_SYLLABLES
Definition: uchar.h:1098
UBLOCK_VAI
Definition: uchar.h:1322
U_NON_SPACING_MARK
Mn.
Definition: uchar.h:610
UCHAR_NFKC_INERT
Binary property NFKC_Inert.
Definition: uchar.h:337
UBLOCK_MYANMAR
Definition: uchar.h:957
u_getIntPropertyValue
int32_t u_getIntPropertyValue(UChar32 c, UProperty which)
Get the property value for an enumerated or integer Unicode property for a code point.
U_OTHER_SYMBOL
So.
Definition: uchar.h:652
UBLOCK_TIBETAN
Definition: uchar.h:954
UBLOCK_ELBASAN
Definition: uchar.h:1468
UBLOCK_TAI_XUAN_JING_SYMBOLS
Definition: uchar.h:1243
U_JG_MANICHAEAN_DHAMEDH
Definition: uchar.h:1759
UBLOCK_HIRAGANA
Definition: uchar.h:1062
UBLOCK_PAHAWH_HMONG
Definition: uchar.h:1502
UCHAR_CHANGES_WHEN_CASEMAPPED
Binary property Changes_When_Casemapped.
Definition: uchar.h:397
UCHAR_STRING_START
First constant for string Unicode properties.
Definition: uchar.h:517
UCHAR_GRAPHEME_EXTEND
Binary property Grapheme_Extend (new in Unicode 3.2).
Definition: uchar.h:216
UChar32
int32_t UChar32
Define UChar32 as a type for single Unicode code points.
Definition: umachine.h:332
UBLOCK_CJK_COMPATIBILITY_FORMS
Definition: uchar.h:1143
UGraphemeClusterBreak
UGraphemeClusterBreak
Grapheme Cluster Break constants.
Definition: uchar.h:1792
UBLOCK_SUPPLEMENTAL_ARROWS_A
Definition: uchar.h:1198
UBLOCK_NO_BLOCK
New No_Block value in Unicode 4.
Definition: uchar.h:870
UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D
Definition: uchar.h:1428
UCHAR_EXTENDER
Binary property Extender.
Definition: uchar.h:204
UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B
Definition: uchar.h:1172
UCHAR_NUMERIC_VALUE
Double property Numeric_Value.
Definition: uchar.h:507
UBLOCK_IMPERIAL_ARAMAIC
Definition: uchar.h:1379
UCHAR_MATH
Binary property Math.
Definition: uchar.h:257
U_JG_KHAPH
Definition: uchar.h:1749
U_UNICODE_CHAR_NAME
Unicode character name (Name property).
Definition: uchar.h:1591
U_JG_MANICHAEAN_SAMEKH
Definition: uchar.h:1773
UCHAR_GRAPHEME_BASE
Binary property Grapheme_Base (new in Unicode 3.2).
Definition: uchar.h:212
UCHAR_NFKD_INERT
Binary property NFKD_Inert.
Definition: uchar.h:323
U_WHITE_SPACE_NEUTRAL
WS.
Definition: uchar.h:804
UBLOCK_ARABIC_PRESENTATION_FORMS_A
Definition: uchar.h:1137
UBLOCK_BASSA_VAH
Definition: uchar.h:1458
UBLOCK_HANGUL_JAMO
Definition: uchar.h:963
UBLOCK_SUNDANESE
Definition: uchar.h:1314
UBLOCK_MATHEMATICAL_OPERATORS
Definition: uchar.h:1017
UBLOCK_ALPHABETIC_PRESENTATION_FORMS
Definition: uchar.h:1134
u_getCombiningClass
uint8_t u_getCombiningClass(UChar32 c)
Returns the combining class of the code point as specified in UnicodeData.txt.
UBLOCK_COMBINING_HALF_MARKS
Definition: uchar.h:1140
u_isbase
UBool u_isbase(UChar32 c)
Determines whether the specified code point is a base character.
UCharCategory
UCharCategory
Data for enumerated Unicode general category types.
Definition: uchar.h:586
UBLOCK_ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS
Definition: uchar.h:1435
U_JG_MANICHAEAN_ONE
Definition: uchar.h:1768
u_getPropertyValueName
const char * u_getPropertyValueName(UProperty property, int32_t value, UPropertyNameChoice nameChoice)
Return the Unicode name for a given property value, as given in the Unicode database file PropertyVal...
UCHAR_SENTENCE_BREAK
Enumerated property Sentence_Break (new in Unicode 4.1).
Definition: uchar.h:477
UBLOCK_CHEROKEE_SUPPLEMENT
Definition: uchar.h:1529
U_BOUNDARY_NEUTRAL
BN.
Definition: uchar.h:822
u_getNumericValue
double u_getNumericValue(UChar32 c)
Get the numeric value for a Unicode code point as defined in the Unicode Character Database...
UCHAR_LOWERCASE
Binary property Lowercase.
Definition: uchar.h:255
UBLOCK_MATHEMATICAL_ALPHANUMERIC_SYMBOLS
Definition: uchar.h:1170
UBLOCK_NEW_TAI_LUE
Definition: uchar.h:1276
UBLOCK_LATIN_EXTENDED_A
Definition: uchar.h:879
u_isJavaIDStart
UBool u_isJavaIDStart(UChar32 c)
Determines if the specified character is permissible as the first character in a Java identifier...
U_EUROPEAN_NUMBER
EN.
Definition: uchar.h:790
UBLOCK_JAVANESE
Definition: uchar.h:1369
UCHAR_MASK_START
First constant for bit-mask Unicode properties.
Definition: uchar.h:501
UCHAR_BIDI_PAIRED_BRACKET_TYPE
Enumerated property Bidi_Paired_Bracket_Type (new in Unicode 6.3).
Definition: uchar.h:487
U_PRIVATE_USE_CHAR
Co.
Definition: uchar.h:632
UBLOCK_PALMYRENE
Definition: uchar.h:1504
u_isspace
UBool u_isspace(UChar32 c)
Determines if the specified character is a space character or not.
USentenceBreak
USentenceBreak
Sentence Break constants.
Definition: uchar.h:1855
UBLOCK_OLD_HUNGARIAN
Definition: uchar.h:1539
UBLOCK_MISCELLANEOUS_TECHNICAL
Definition: uchar.h:1020
U_JG_MANICHAEAN_ALEPH
Definition: uchar.h:1755
UBLOCK_CUNEIFORM_NUMBERS_AND_PUNCTUATION
Definition: uchar.h:1307
U_JG_MANICHAEAN_TEN
Definition: uchar.h:1775
UCHAR_UNIFIED_IDEOGRAPH
Binary property Unified_Ideograph (new in Unicode 3.2).
Definition: uchar.h:280
UBLOCK_ARROWS
Definition: uchar.h:1014
UBLOCK_ALCHEMICAL_SYMBOLS
Definition: uchar.h:1426
UCHAR_CANONICAL_COMBINING_CLASS
Enumerated property Canonical_Combining_Class.
Definition: uchar.h:413
UCharNameChoice
UCharNameChoice
Selector constants for u_charName().
Definition: uchar.h:1589
UBLOCK_EMOTICONS
Definition: uchar.h:1422
U_LETTER_NUMBER
Nl.
Definition: uchar.h:618
UBLOCK_BUGINESE
Definition: uchar.h:1256
UBLOCK_HANGUL_JAMO_EXTENDED_A
Definition: uchar.h:1367
U_JG_MANICHAEAN_AYIN
Definition: uchar.h:1756
UBLOCK_CJK_COMPATIBILITY
Definition: uchar.h:1083
UCHAR_BINARY_LIMIT
One more than the last constant for binary Unicode properties.
Definition: uchar.h:401
u_isJavaIDPart
UBool u_isJavaIDPart(UChar32 c)
Determines if the specified character is permissible in a Java identifier.
UBLOCK_TIRHUTA
Definition: uchar.h:1518
UCHAR_SCRIPT
Enumerated property Script.
Definition: uchar.h:438
UBLOCK_COMMON_INDIC_NUMBER_FORMS
Definition: uchar.h:1363
UBLOCK_GREEK
Unicode 3.2 renames this block to "Greek and Coptic".
Definition: uchar.h:897
UBLOCK_MODIFIER_TONE_LETTERS
Definition: uchar.h:1274
UBLOCK_GEOMETRIC_SHAPES
Definition: uchar.h:1038
U_LEFT_TO_RIGHT_OVERRIDE
LRO.
Definition: uchar.h:810
UCHAR_HEX_DIGIT
Binary property Hex_Digit.
Definition: uchar.h:222
UCHAR_UPPERCASE_MAPPING
String property Uppercase_Mapping.
Definition: uchar.h:559
UBLOCK_TAGALOG
Definition: uchar.h:1188
UBLOCK_INSCRIPTIONAL_PARTHIAN
Definition: uchar.h:1385
UBLOCK_MEROITIC_CURSIVE
Definition: uchar.h:1441
UBLOCK_SYRIAC
Definition: uchar.h:912
U_OTHER_LETTER
Lo.
Definition: uchar.h:608
UPropertyNameChoice
UPropertyNameChoice
Selector constants for u_getPropertyName() and u_getPropertyValueName().
Definition: uchar.h:1621
UCHAR_LOWERCASE_MAPPING
String property Lowercase_Mapping.
Definition: uchar.h:531
U_MODIFIER_SYMBOL
Sk.
Definition: uchar.h:650
u_charDirection
UCharDirection u_charDirection(UChar32 c)
Returns the bidirectional category value for the code point, which is used in the Unicode bidirection...
UBLOCK_CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT
Definition: uchar.h:1174
u_islower
UBool u_islower(UChar32 c)
Determines whether the specified code point has the general category "Ll" (lowercase letter)...
U_EUROPEAN_NUMBER_SEPARATOR
ES.
Definition: uchar.h:792
UChar
uint16_t UChar
Define UChar to be UCHAR_TYPE, if that is #defined (for example, to char16_t), or wchar_t if that is ...
Definition: umachine.h:312
UBLOCK_SINHALA_ARCHAIC_NUMBERS
Definition: uchar.h:1514
UBLOCK_LETTERLIKE_SYMBOLS
Definition: uchar.h:1008
UBLOCK_YIJING_HEXAGRAM_SYMBOLS
Definition: uchar.h:1227
U_JG_NYA
Definition: uchar.h:1753
U_DIR_NON_SPACING_MARK
NSM.
Definition: uchar.h:820
U_CDECL_END
#define U_CDECL_END
This is used to end a declaration of a library private ICU C API.
Definition: umachine.h:83
UBLOCK_LAO
Definition: uchar.h:951
UBLOCK_TIFINAGH
Definition: uchar.h:1286
UBLOCK_BALINESE
Definition: uchar.h:1295
UCHAR_NFKC_QUICK_CHECK
Enumerated property NFKC_Quick_Check.
Definition: uchar.h:453
U_BPT_NONE
Not a paired bracket.
Definition: uchar.h:849
UBLOCK_KANA_SUPPLEMENT
Definition: uchar.h:1416
UBLOCK_INSCRIPTIONAL_PAHLAVI
Definition: uchar.h:1387
UBLOCK_ETHIOPIC
Definition: uchar.h:966
UBLOCK_SHARADA
Definition: uchar.h:1447
UBLOCK_GEORGIAN
Definition: uchar.h:960
UBLOCK_MIAO
Definition: uchar.h:1445
UBLOCK_SPACING_MODIFIER_LETTERS
Definition: uchar.h:888
UBLOCK_KHAROSHTHI
Definition: uchar.h:1272
UBLOCK_CHAM
Definition: uchar.h:1332
UProperty
UProperty
Selection constants for Unicode properties.
Definition: uchar.h:161
UBLOCK_PHONETIC_EXTENSIONS
Definition: uchar.h:1223
UBLOCK_HIGH_PRIVATE_USE_SURROGATES
Definition: uchar.h:1104
U_ARABIC_NUMBER
AN.
Definition: uchar.h:796
U_LEFT_TO_RIGHT_ISOLATE
LRI.
Definition: uchar.h:826
u_enumCharTypes
void u_enumCharTypes(UCharEnumTypeRange *enumRange, const void *context)
Enumerate efficiently all code points with their Unicode general categories.
UBLOCK_THAI
Definition: uchar.h:948
UCHAR_HANGUL_SYLLABLE_TYPE
Enumerated property Hangul_Syllable_Type, new in Unicode 4.
Definition: uchar.h:441
UCHAR_DASH
Binary property Dash.
Definition: uchar.h:190
UCHAR_POSIX_ALNUM
Binary property alnum (a C/POSIX character class).
Definition: uchar.h:363
U_FORMAT_CHAR
Cf.
Definition: uchar.h:630
UBLOCK_ENCLOSED_IDEOGRAPHIC_SUPPLEMENT
Definition: uchar.h:1399
UCHAR_VARIATION_SELECTOR
Binary property Variation_Selector (new in Unicode 4.0.1).
Definition: uchar.h:309
u_isUUppercase
UBool u_isUUppercase(UChar32 c)
Check if a code point has the Uppercase Unicode property.
UBlockCode
UBlockCode
Constants for Unicode blocks, see the Unicode Data file Blocks.txt.
Definition: uchar.h:862
UCHAR_WORD_BREAK
Enumerated property Word_Break (new in Unicode 4.1).
Definition: uchar.h:482
UCHAR_DEPRECATED
Binary property Deprecated (new in Unicode 3.2).
Definition: uchar.h:197
UBLOCK_CAUCASIAN_ALBANIAN
Definition: uchar.h:1460
UBLOCK_SIDDHAM
Definition: uchar.h:1512
UCHAR_BIDI_CONTROL
Binary property Bidi_Control.
Definition: uchar.h:183
UBLOCK_TAI_THAM
Definition: uchar.h:1355
UCHAR_XID_CONTINUE
Binary property XID_Continue.
Definition: uchar.h:291
UBLOCK_PRIVATE_USE_AREA
Same as UBLOCK_PRIVATE_USE.
Definition: uchar.h:1118
u_hasBinaryProperty
UBool u_hasBinaryProperty(UChar32 c, UProperty which)
Check a binary Unicode property for a code point.
UBLOCK_ETHIOPIC_EXTENDED
Definition: uchar.h:1264
UBLOCK_MALAYALAM
Definition: uchar.h:942
UErrorCode
UErrorCode
Error code to replace exception handling, so that the code is compatible with all C++ compilers...
Definition: utypes.h:476
UCHAR_UPPERCASE
Binary property Uppercase.
Definition: uchar.h:283
UBLOCK_CURRENCY_SYMBOLS
Definition: uchar.h:999
u_getUnicodeVersion
void u_getUnicodeVersion(UVersionInfo versionArray)
Gets the Unicode version information.
UBLOCK_MENDE_KIKAKUI
Definition: uchar.h:1486
UCHAR_CHANGES_WHEN_UPPERCASED
Binary property Changes_When_Uppercased.
Definition: uchar.h:391
UJoiningGroup
UJoiningGroup
Joining Group constants.
Definition: uchar.h:1689
UBLOCK_OLD_NORTH_ARABIAN
Definition: uchar.h:1496
UBLOCK_TAGBANWA
Definition: uchar.h:1194
UCHAR_CASED
Binary property Cased.
Definition: uchar.h:385
UBLOCK_BUHID
Definition: uchar.h:1192
U_BLOCK_SEPARATOR
B.
Definition: uchar.h:800
UBLOCK_MRO
Definition: uchar.h:1490
UBLOCK_TAI_LE
Definition: uchar.h:1219
UBLOCK_LOW_SURROGATES
Definition: uchar.h:1107
U_JG_MANICHAEAN_KAPH
Definition: uchar.h:1764
UBLOCK_CJK_COMPATIBILITY_IDEOGRAPHS
Definition: uchar.h:1131
U_JG_TEH_MARBUTA_GOAL
Definition: uchar.h:1710
U_JG_MANICHAEAN_PE
Definition: uchar.h:1769
U_END_PUNCTUATION
Pe.
Definition: uchar.h:640
U_COMBINING_SPACING_MARK
Mc.
Definition: uchar.h:614
U_SURROGATE
Cs.
Definition: uchar.h:634
UBLOCK_MEROITIC_HIEROGLYPHS
Definition: uchar.h:1443
UBLOCK_ARABIC_EXTENDED_A
Definition: uchar.h:1433
UBLOCK_TAI_VIET
Definition: uchar.h:1373
UBLOCK_SUPPLEMENTAL_ARROWS_B
Definition: uchar.h:1200
UEastAsianWidth
UEastAsianWidth
East Asian Width constants.
Definition: uchar.h:1562
u_isupper
UBool u_isupper(UChar32 c)
Determines whether the specified code point has the general category "Lu" (uppercase letter)...
U_JG_MANICHAEAN_ZAYIN
Definition: uchar.h:1781
UCHAR_TRAIL_CANONICAL_COMBINING_CLASS
Enumerated property Trail_Canonical_Combining_Class.
Definition: uchar.h:467
u_isULowercase
UBool u_isULowercase(UChar32 c)
Check if a code point has the Lowercase Unicode property.
U_POP_DIRECTIONAL_ISOLATE
PDI.
Definition: uchar.h:830
U_UNASSIGNED
Non-category for unassigned and non-character code points.
Definition: uchar.h:596
UBLOCK_MULTANI
Definition: uchar.h:1537
u_ispunct
UBool u_ispunct(UChar32 c)
Determines whether the specified code point is a punctuation character.
UBLOCK_GUJARATI
Definition: uchar.h:927
UBLOCK_MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS
Definition: uchar.h:1420
UCHAR_OTHER_PROPERTY_START
First constant for Unicode properties with unusual value types.
Definition: uchar.h:573
UWordBreakValues
UWordBreakValues
Word Break constants.
Definition: uchar.h:1822
U_JG_MANICHAEAN_THAMEDH
Definition: uchar.h:1777
UBLOCK_KANNADA
Definition: uchar.h:939
u_enumCharNames
void u_enumCharNames(UChar32 start, UChar32 limit, UEnumCharNamesFn *fn, void *context, UCharNameChoice nameChoice, UErrorCode *pErrorCode)
Enumerate all assigned Unicode characters between the start and limit code points (start inclusive...
u_getIntPropertyMaxValue
int32_t u_getIntPropertyMaxValue(UProperty which)
Get the maximum value for an enumerated/integer/binary Unicode property.
UCHAR_JOINING_TYPE
Enumerated property Joining_Type.
Definition: uchar.h:429
UCHAR_DOUBLE_LIMIT
One more than the last constant for double Unicode properties.
Definition: uchar.h:511
UBLOCK_MEETEI_MAYEK_EXTENSIONS
Definition: uchar.h:1439
utypes.h
Basic definitions for ICU, for both C and C++ APIs.
u_isIDPart
UBool u_isIDPart(UChar32 c)
Determines if the specified character is permissible in an identifier according to Java...
UBLOCK_BAMUM
Definition: uchar.h:1361
UCHAR_BIDI_PAIRED_BRACKET
String property Bidi_Paired_Bracket (new in Unicode 6.3).
Definition: uchar.h:562
UCHAR_LEAD_CANONICAL_COMBINING_CLASS
Enumerated property Lead_Canonical_Combining_Class.
Definition: uchar.h:460
UCHAR_ASCII_HEX_DIGIT
Binary property ASCII_Hex_Digit.
Definition: uchar.h:179
UJoiningType
UJoiningType
Joining Type constants.
Definition: uchar.h:1667
UBLOCK_PAU_CIN_HAU
Definition: uchar.h:1506
UBLOCK_WARANG_CITI
Definition: uchar.h:1520
UBLOCK_MISCELLANEOUS_SYMBOLS
Definition: uchar.h:1041
UBLOCK_SHAVIAN
Definition: uchar.h:1237
U_JG_STRAIGHT_WAW
Definition: uchar.h:1782
u_isIDStart
UBool u_isIDStart(UChar32 c)
Determines if the specified character is permissible as the first character in an identifier accordin...
UCHAR_SOFT_DOTTED
Binary property Soft_Dotted (new in Unicode 3.2).
Definition: uchar.h:272
U_EUROPEAN_NUMBER_TERMINATOR
ET.
Definition: uchar.h:794
UCHAR_STRING_LIMIT
One more than the last constant for string Unicode properties.
Definition: uchar.h:564
UBLOCK_PHONETIC_EXTENSIONS_SUPPLEMENT
Definition: uchar.h:1280
U_COMMON_NUMBER_SEPARATOR
CS.
Definition: uchar.h:798
UBLOCK_REJANG
Definition: uchar.h:1330
UCHAR_SEGMENT_STARTER
Binary Property Segment_Starter.
Definition: uchar.h:348
u_toupper
UChar32 u_toupper(UChar32 c)
The given character is mapped to its uppercase equivalent according to UnicodeData.txt; if the character has no uppercase equivalent, the character itself is returned.
U_LOWERCASE_LETTER
Ll.
Definition: uchar.h:602
U_JG_MANICHAEAN_QOPH
Definition: uchar.h:1770
UCHAR_ID_START
Binary property ID_Start.
Definition: uchar.h:234
u_getIntPropertyMinValue
int32_t u_getIntPropertyMinValue(UProperty which)
Get the minimum value for an enumerated/integer/binary Unicode property.
UBLOCK_SUPPLEMENTAL_ARROWS_C
Definition: uchar.h:1516
UBLOCK_SMALL_FORM_VARIANTS
Definition: uchar.h:1146
u_isJavaSpaceChar
UBool u_isJavaSpaceChar(UChar32 c)
Determine if the specified code point is a space character according to Java.
u_isMirrored
UBool u_isMirrored(UChar32 c)
Determines whether the code point has the Bidi_Mirrored property.
U_CHAR_NAME_ALIAS
Corrected name from NameAliases.txt.
Definition: uchar.h:1603
UBLOCK_BAMUM_SUPPLEMENT
Definition: uchar.h:1414
UCHAR_CHANGES_WHEN_TITLECASED
Binary property Changes_When_Titlecased.
Definition: uchar.h:393
u_tolower
UChar32 u_tolower(UChar32 c)
The given character is mapped to its lowercase equivalent according to UnicodeData.txt; if the character has no lowercase equivalent, the character itself is returned.
UBLOCK_SUNDANESE_SUPPLEMENT
Definition: uchar.h:1451
UBLOCK_RUMI_NUMERAL_SYMBOLS
Definition: uchar.h:1391
UCHAR_LINE_BREAK
Enumerated property Line_Break.
Definition: uchar.h:432
u_isIDIgnorable
UBool u_isIDIgnorable(UChar32 c)
Determines if the specified character should be regarded as an ignorable character in an identifier...
UCHAR_GRAPHEME_CLUSTER_BREAK
Enumerated property Grapheme_Cluster_Break (new in Unicode 4.1).
Definition: uchar.h:472
u_isdigit
UBool u_isdigit(UChar32 c)
Determines whether the specified code point is a digit character according to Java.
UBLOCK_GLAGOLITIC
Definition: uchar.h:1270
UBLOCK_DEVANAGARI
Definition: uchar.h:918
UBLOCK_DINGBATS
Definition: uchar.h:1044
UBLOCK_HALFWIDTH_AND_FULLWIDTH_FORMS
Definition: uchar.h:1155
UBLOCK_VARIATION_SELECTORS
Definition: uchar.h:1208
UBLOCK_LYCIAN
Definition: uchar.h:1338
UBLOCK_LATIN_EXTENDED_C
Definition: uchar.h:1297
u_getPropertyEnum
UProperty u_getPropertyEnum(const char *alias)
Return the UProperty enum for a given property name, as specified in the Unicode database file Proper...
UBLOCK_YI_RADICALS
Definition: uchar.h:1095
UBLOCK_MAHJONG_TILES
Definition: uchar.h:1344
UBLOCK_ANCIENT_GREEK_NUMBERS
Definition: uchar.h:1252
u_isWhitespace
UBool u_isWhitespace(UChar32 c)
Determines if the specified code point is a whitespace character according to Java/ICU.
UBLOCK_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED
Definition: uchar.h:1353
UCHAR_ISO_COMMENT
Deprecated string property ISO_Comment.
Definition: uchar.h:527
U_RIGHT_TO_LEFT_ARABIC
AL.
Definition: uchar.h:812
UBLOCK_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS
Definition: uchar.h:972
U_JG_MANICHAEAN_TAW
Definition: uchar.h:1774
UBLOCK_ENCLOSED_ALPHANUMERICS
Definition: uchar.h:1029
UBLOCK_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A
Definition: uchar.h:1196
U_JG_MANICHAEAN_GIMEL
Definition: uchar.h:1761
u_isblank
UBool u_isblank(UChar32 c)
Determines whether the specified code point is a "blank" or "horizontal space", a character that visi...
u_isalpha
UBool u_isalpha(UChar32 c)
Determines whether the specified code point is a letter character.
UCHAR_DEFAULT_IGNORABLE_CODE_POINT
Binary property Default_Ignorable_Code_Point (new in Unicode 3.2).
Definition: uchar.h:194
UBLOCK_COUNT
Definition: uchar.h:1546
U_UNICODE_10_CHAR_NAME
The Unicode_1_Name property value which is of little practical value.
Definition: uchar.h:1598
UBLOCK_ORNAMENTAL_DINGBATS
Definition: uchar.h:1500
u_getISOComment
int32_t u_getISOComment(UChar32 c, char *dest, int32_t destCapacity, UErrorCode *pErrorCode)
Returns an empty string.
U_CHAR_CATEGORY_COUNT
One higher than the last enum UCharCategory constant.
Definition: uchar.h:658
U_INITIAL_PUNCTUATION
Pi.
Definition: uchar.h:654
UBLOCK_CYRILLIC
Definition: uchar.h:900
u_isalnum
UBool u_isalnum(UChar32 c)
Determines whether the specified code point is an alphanumeric character (letter or digit) according ...
UBLOCK_OLD_PERMIC
Definition: uchar.h:1498
U_JG_MANICHAEAN_WAW
Definition: uchar.h:1779
UBLOCK_PHOENICIAN
Definition: uchar.h:1303
UCHAR_PATTERN_SYNTAX
Binary property Pattern_Syntax (new in Unicode 4.1).
Definition: uchar.h:353
UBLOCK_PLAYING_CARDS
Definition: uchar.h:1418
UBLOCK_HANUNOO
Definition: uchar.h:1190
UCHAR_OTHER_PROPERTY_LIMIT
One more than the last constant for Unicode properties with unusual value types.
Definition: uchar.h:576
UBLOCK_TRANSPORT_AND_MAP_SYMBOLS
Definition: uchar.h:1424
UBidiPairedBracketType
UBidiPairedBracketType
Bidi Paired Bracket Type constants.
Definition: uchar.h:841
U_CHAR_NAME_CHOICE_COUNT
Definition: uchar.h:1605
u_charMirror
UChar32 u_charMirror(UChar32 c)
Maps the specified character to a "mirror-image" character.
u_isISOControl
UBool u_isISOControl(UChar32 c)
Determines whether the specified code point is an ISO control code.
u_charType
int8_t u_charType(UChar32 c)
Returns the general category value for the code point.
UBLOCK_TELUGU
Definition: uchar.h:936
U_OTHER_NEUTRAL
ON.
Definition: uchar.h:806
UBLOCK_SINHALA
Definition: uchar.h:945
UBLOCK_ARABIC_SUPPLEMENT
Definition: uchar.h:1254
u_charName
int32_t u_charName(UChar32 code, UCharNameChoice nameChoice, char *buffer, int32_t bufferLength, UErrorCode *pErrorCode)
Retrieve the name of a Unicode character.
UCHAR_AGE
String property Age.
Definition: uchar.h:515
UBLOCK_SUPPLEMENTAL_MATHEMATICAL_OPERATORS
Definition: uchar.h:1204
U_STABLE
#define U_STABLE
This is used to declare a function as a stable public ICU C API.
Definition: umachine.h:109
UBLOCK_MAHAJANI
Definition: uchar.h:1482
UBool
int8_t UBool
The ICU boolean type.
Definition: umachine.h:234
U_CONNECTOR_PUNCTUATION
Pc.
Definition: uchar.h:642
UBLOCK_DOMINO_TILES
Definition: uchar.h:1346
UCHAR_NFKD_QUICK_CHECK
Enumerated property NFKD_Quick_Check.
Definition: uchar.h:447
UBLOCK_HANGUL_COMPATIBILITY_JAMO
Definition: uchar.h:1071
UBLOCK_LYDIAN
Definition: uchar.h:1342
U_JG_MANICHAEAN_LAMEDH
Definition: uchar.h:1765