ICU 77.1  77.1
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
uchar.h
Go to the documentation of this file.
1 // © 2016 and later: Unicode, Inc. and others.
2 // License & terms of use: http://www.unicode.org/copyright.html
3 /*
4 **********************************************************************
5 * Copyright (C) 1997-2016, International Business Machines
6 * Corporation and others. All Rights Reserved.
7 **********************************************************************
8 *
9 * File UCHAR.H
10 *
11 * Modification History:
12 *
13 * Date Name Description
14 * 04/02/97 aliu Creation.
15 * 03/29/99 helena Updated for C APIs.
16 * 4/15/99 Madhu Updated for C Implementation and Javadoc
17 * 5/20/99 Madhu Added the function u_getVersion()
18 * 8/19/1999 srl Upgraded scripts to Unicode 3.0
19 * 8/27/1999 schererm UCharDirection constants: U_...
20 * 11/11/1999 weiv added u_isalnum(), cleaned comments
21 * 01/11/2000 helena Renamed u_getVersion to u_getUnicodeVersion().
22 ******************************************************************************
23 */
24 
25 #ifndef UCHAR_H
26 #define UCHAR_H
27 
28 #include <stdbool.h>
29 #include "unicode/utypes.h"
30 #include "unicode/stringoptions.h"
31 #include "unicode/ucpmap.h"
32 
33 #if !defined(USET_DEFINED) && !defined(U_IN_DOXYGEN)
34 
35 #define USET_DEFINED
36 
45 typedef struct USet USet;
46 
47 #endif
48 
49 
51 
52 /*==========================================================================*/
53 /* Unicode version number */
54 /*==========================================================================*/
64 #define U_UNICODE_VERSION "16.0"
65 
158 #define UCHAR_MIN_VALUE 0
159 
168 #define UCHAR_MAX_VALUE 0x10ffff
169 
174 #define U_MASK(x) ((uint32_t)1<<(x))
175 
196 typedef enum UProperty {
197  /*
198  * Note: UProperty constants are parsed by preparseucd.py.
199  * It matches lines like
200  * UCHAR_<Unicode property name>=<integer>,
201  */
202 
203  /* Note: Place UCHAR_ALPHABETIC before UCHAR_BINARY_START so that
204  debuggers display UCHAR_ALPHABETIC as the symbolic name for 0,
205  rather than UCHAR_BINARY_START. Likewise for other *_START
206  identifiers. */
207 
555 #ifndef U_HIDE_DRAFT_API
562 #endif // U_HIDE_DRAFT_API
563 #ifndef U_HIDE_DEPRECATED_API
569 #endif // U_HIDE_DEPRECATED_API
570 
578  UCHAR_BLOCK=0x1001,
606  UCHAR_SCRIPT=0x100A,
685 #ifndef U_HIDE_DRAFT_API
692 #endif // U_HIDE_DRAFT_API
693 #ifndef U_HIDE_DEPRECATED_API
699 #endif // U_HIDE_DEPRECATED_API
700 
712 #ifndef U_HIDE_DEPRECATED_API
718 #endif // U_HIDE_DEPRECATED_API
719 
725 #ifndef U_HIDE_DEPRECATED_API
731 #endif // U_HIDE_DEPRECATED_API
732 
735  UCHAR_AGE=0x4000,
744 #ifndef U_HIDE_DEPRECATED_API
748 #endif /* U_HIDE_DEPRECATED_API */
754  UCHAR_NAME=0x4005,
770 #ifndef U_HIDE_DEPRECATED_API
776 #endif /* U_HIDE_DEPRECATED_API */
783 #ifndef U_HIDE_DEPRECATED_API
789 #endif // U_HIDE_DEPRECATED_API
790 
813 #ifndef U_HIDE_DEPRECATED_API
819 #endif // U_HIDE_DEPRECATED_API
820 
822  UCHAR_INVALID_CODE = -1
824 
830 typedef enum UCharCategory
831 {
832  /*
833  * Note: UCharCategory constants and their API comments are parsed by preparseucd.py.
834  * It matches pairs of lines like
835  * / ** <Unicode 2-letter General_Category value> comment... * /
836  * U_<[A-Z_]+> = <integer>,
837  */
838 
910 
925 #define U_GC_CN_MASK U_MASK(U_GENERAL_OTHER_TYPES)
926 
928 #define U_GC_LU_MASK U_MASK(U_UPPERCASE_LETTER)
930 #define U_GC_LL_MASK U_MASK(U_LOWERCASE_LETTER)
932 #define U_GC_LT_MASK U_MASK(U_TITLECASE_LETTER)
934 #define U_GC_LM_MASK U_MASK(U_MODIFIER_LETTER)
936 #define U_GC_LO_MASK U_MASK(U_OTHER_LETTER)
937 
939 #define U_GC_MN_MASK U_MASK(U_NON_SPACING_MARK)
941 #define U_GC_ME_MASK U_MASK(U_ENCLOSING_MARK)
943 #define U_GC_MC_MASK U_MASK(U_COMBINING_SPACING_MARK)
944 
946 #define U_GC_ND_MASK U_MASK(U_DECIMAL_DIGIT_NUMBER)
948 #define U_GC_NL_MASK U_MASK(U_LETTER_NUMBER)
950 #define U_GC_NO_MASK U_MASK(U_OTHER_NUMBER)
951 
953 #define U_GC_ZS_MASK U_MASK(U_SPACE_SEPARATOR)
955 #define U_GC_ZL_MASK U_MASK(U_LINE_SEPARATOR)
957 #define U_GC_ZP_MASK U_MASK(U_PARAGRAPH_SEPARATOR)
958 
960 #define U_GC_CC_MASK U_MASK(U_CONTROL_CHAR)
962 #define U_GC_CF_MASK U_MASK(U_FORMAT_CHAR)
964 #define U_GC_CO_MASK U_MASK(U_PRIVATE_USE_CHAR)
966 #define U_GC_CS_MASK U_MASK(U_SURROGATE)
967 
969 #define U_GC_PD_MASK U_MASK(U_DASH_PUNCTUATION)
971 #define U_GC_PS_MASK U_MASK(U_START_PUNCTUATION)
973 #define U_GC_PE_MASK U_MASK(U_END_PUNCTUATION)
975 #define U_GC_PC_MASK U_MASK(U_CONNECTOR_PUNCTUATION)
977 #define U_GC_PO_MASK U_MASK(U_OTHER_PUNCTUATION)
978 
980 #define U_GC_SM_MASK U_MASK(U_MATH_SYMBOL)
982 #define U_GC_SC_MASK U_MASK(U_CURRENCY_SYMBOL)
984 #define U_GC_SK_MASK U_MASK(U_MODIFIER_SYMBOL)
986 #define U_GC_SO_MASK U_MASK(U_OTHER_SYMBOL)
987 
989 #define U_GC_PI_MASK U_MASK(U_INITIAL_PUNCTUATION)
991 #define U_GC_PF_MASK U_MASK(U_FINAL_PUNCTUATION)
992 
993 
995 #define U_GC_L_MASK \
996  (U_GC_LU_MASK|U_GC_LL_MASK|U_GC_LT_MASK|U_GC_LM_MASK|U_GC_LO_MASK)
997 
999 #define U_GC_LC_MASK \
1000  (U_GC_LU_MASK|U_GC_LL_MASK|U_GC_LT_MASK)
1001 
1003 #define U_GC_M_MASK (U_GC_MN_MASK|U_GC_ME_MASK|U_GC_MC_MASK)
1004 
1006 #define U_GC_N_MASK (U_GC_ND_MASK|U_GC_NL_MASK|U_GC_NO_MASK)
1007 
1009 #define U_GC_Z_MASK (U_GC_ZS_MASK|U_GC_ZL_MASK|U_GC_ZP_MASK)
1010 
1012 #define U_GC_C_MASK \
1013  (U_GC_CN_MASK|U_GC_CC_MASK|U_GC_CF_MASK|U_GC_CO_MASK|U_GC_CS_MASK)
1014 
1016 #define U_GC_P_MASK \
1017  (U_GC_PD_MASK|U_GC_PS_MASK|U_GC_PE_MASK|U_GC_PC_MASK|U_GC_PO_MASK| \
1018  U_GC_PI_MASK|U_GC_PF_MASK)
1019 
1021 #define U_GC_S_MASK (U_GC_SM_MASK|U_GC_SC_MASK|U_GC_SK_MASK|U_GC_SO_MASK)
1022 
1027 typedef enum UCharDirection {
1028  /*
1029  * Note: UCharDirection constants and their API comments are parsed by preparseucd.py.
1030  * It matches pairs of lines like
1031  * / ** <Unicode 1..3-letter Bidi_Class value> comment... * /
1032  * U_<[A-Z_]+> = <integer>,
1033  */
1034 
1081 #ifndef U_HIDE_DEPRECATED_API
1089 #endif // U_HIDE_DEPRECATED_API
1091 
1099  /*
1100  * Note: UBidiPairedBracketType constants are parsed by preparseucd.py.
1101  * It matches lines like
1102  * U_BPT_<Unicode Bidi_Paired_Bracket_Type value name>
1103  */
1104 
1111 #ifndef U_HIDE_DEPRECATED_API
1118  U_BPT_COUNT /* 3 */
1119 #endif // U_HIDE_DEPRECATED_API
1121 
1127  /*
1128  * Note: UBlockCode constants are parsed by preparseucd.py.
1129  * It matches lines like
1130  * UBLOCK_<Unicode Block value name> = <integer>,
1131  */
1132 
1134  UBLOCK_NO_BLOCK = 0, /*[none]*/ /* Special range indicating No_Block */
1135 
1137  UBLOCK_BASIC_LATIN = 1, /*[0000]*/
1138 
1141 
1144 
1147 
1149  UBLOCK_IPA_EXTENSIONS =5, /*[0250]*/
1150 
1153 
1156 
1161  UBLOCK_GREEK =8, /*[0370]*/
1162 
1164  UBLOCK_CYRILLIC =9, /*[0400]*/
1165 
1167  UBLOCK_ARMENIAN =10, /*[0530]*/
1168 
1170  UBLOCK_HEBREW =11, /*[0590]*/
1171 
1173  UBLOCK_ARABIC =12, /*[0600]*/
1174 
1176  UBLOCK_SYRIAC =13, /*[0700]*/
1177 
1179  UBLOCK_THAANA =14, /*[0780]*/
1180 
1182  UBLOCK_DEVANAGARI =15, /*[0900]*/
1183 
1185  UBLOCK_BENGALI =16, /*[0980]*/
1186 
1188  UBLOCK_GURMUKHI =17, /*[0A00]*/
1189 
1191  UBLOCK_GUJARATI =18, /*[0A80]*/
1192 
1194  UBLOCK_ORIYA =19, /*[0B00]*/
1195 
1197  UBLOCK_TAMIL =20, /*[0B80]*/
1198 
1200  UBLOCK_TELUGU =21, /*[0C00]*/
1201 
1203  UBLOCK_KANNADA =22, /*[0C80]*/
1204 
1206  UBLOCK_MALAYALAM =23, /*[0D00]*/
1207 
1209  UBLOCK_SINHALA =24, /*[0D80]*/
1210 
1212  UBLOCK_THAI =25, /*[0E00]*/
1213 
1215  UBLOCK_LAO =26, /*[0E80]*/
1216 
1218  UBLOCK_TIBETAN =27, /*[0F00]*/
1219 
1221  UBLOCK_MYANMAR =28, /*[1000]*/
1222 
1224  UBLOCK_GEORGIAN =29, /*[10A0]*/
1225 
1227  UBLOCK_HANGUL_JAMO =30, /*[1100]*/
1228 
1230  UBLOCK_ETHIOPIC =31, /*[1200]*/
1231 
1233  UBLOCK_CHEROKEE =32, /*[13A0]*/
1234 
1237 
1239  UBLOCK_OGHAM =34, /*[1680]*/
1240 
1242  UBLOCK_RUNIC =35, /*[16A0]*/
1243 
1245  UBLOCK_KHMER =36, /*[1780]*/
1246 
1248  UBLOCK_MONGOLIAN =37, /*[1800]*/
1249 
1252 
1254  UBLOCK_GREEK_EXTENDED =39, /*[1F00]*/
1255 
1258 
1261 
1263  UBLOCK_CURRENCY_SYMBOLS =42, /*[20A0]*/
1264 
1270 
1273 
1275  UBLOCK_NUMBER_FORMS =45, /*[2150]*/
1276 
1278  UBLOCK_ARROWS =46, /*[2190]*/
1279 
1282 
1285 
1287  UBLOCK_CONTROL_PICTURES =49, /*[2400]*/
1288 
1291 
1294 
1296  UBLOCK_BOX_DRAWING =52, /*[2500]*/
1297 
1299  UBLOCK_BLOCK_ELEMENTS =53, /*[2580]*/
1300 
1302  UBLOCK_GEOMETRIC_SHAPES =54, /*[25A0]*/
1303 
1306 
1308  UBLOCK_DINGBATS =56, /*[2700]*/
1309 
1311  UBLOCK_BRAILLE_PATTERNS =57, /*[2800]*/
1312 
1315 
1317  UBLOCK_KANGXI_RADICALS =59, /*[2F00]*/
1318 
1321 
1324 
1326  UBLOCK_HIRAGANA =62, /*[3040]*/
1327 
1329  UBLOCK_KATAKANA =63, /*[30A0]*/
1330 
1332  UBLOCK_BOPOMOFO =64, /*[3100]*/
1333 
1336 
1338  UBLOCK_KANBUN =66, /*[3190]*/
1339 
1342 
1345 
1348 
1351 
1354 
1356  UBLOCK_YI_SYLLABLES =72, /*[A000]*/
1357 
1359  UBLOCK_YI_RADICALS =73, /*[A490]*/
1360 
1362  UBLOCK_HANGUL_SYLLABLES =74, /*[AC00]*/
1363 
1365  UBLOCK_HIGH_SURROGATES =75, /*[D800]*/
1366 
1369 
1371  UBLOCK_LOW_SURROGATES =77, /*[DC00]*/
1372 
1382  UBLOCK_PRIVATE_USE_AREA =78, /*[E000]*/
1393 
1396 
1399 
1402 
1405 
1408 
1411 
1414 
1416  UBLOCK_SPECIALS =86, /*[FFF0]*/
1417 
1420 
1421  /* New blocks in Unicode 3.1 */
1422 
1424  UBLOCK_OLD_ITALIC = 88, /*[10300]*/
1426  UBLOCK_GOTHIC = 89, /*[10330]*/
1428  UBLOCK_DESERET = 90, /*[10400]*/
1432  UBLOCK_MUSICAL_SYMBOLS = 92, /*[1D100]*/
1440  UBLOCK_TAGS = 96, /*[E0000]*/
1441 
1442  /* New blocks in Unicode 3.2 */
1443 
1452  UBLOCK_TAGALOG = 98, /*[1700]*/
1454  UBLOCK_HANUNOO = 99, /*[1720]*/
1456  UBLOCK_BUHID = 100, /*[1740]*/
1458  UBLOCK_TAGBANWA = 101, /*[1760]*/
1472  UBLOCK_VARIATION_SELECTORS = 108, /*[FE00]*/
1477 
1478  /* New blocks in Unicode 4 */
1479 
1481  UBLOCK_LIMBU = 111, /*[1900]*/
1483  UBLOCK_TAI_LE = 112, /*[1950]*/
1485  UBLOCK_KHMER_SYMBOLS = 113, /*[19E0]*/
1487  UBLOCK_PHONETIC_EXTENSIONS = 114, /*[1D00]*/
1493  UBLOCK_LINEAR_B_SYLLABARY = 117, /*[10000]*/
1495  UBLOCK_LINEAR_B_IDEOGRAMS = 118, /*[10080]*/
1497  UBLOCK_AEGEAN_NUMBERS = 119, /*[10100]*/
1499  UBLOCK_UGARITIC = 120, /*[10380]*/
1501  UBLOCK_SHAVIAN = 121, /*[10450]*/
1503  UBLOCK_OSMANYA = 122, /*[10480]*/
1505  UBLOCK_CYPRIOT_SYLLABARY = 123, /*[10800]*/
1507  UBLOCK_TAI_XUAN_JING_SYMBOLS = 124, /*[1D300]*/
1510 
1511  /* New blocks in Unicode 4.1 */
1512 
1516  UBLOCK_ANCIENT_GREEK_NUMBERS = 127, /*[10140]*/
1518  UBLOCK_ARABIC_SUPPLEMENT = 128, /*[0750]*/
1520  UBLOCK_BUGINESE = 129, /*[1A00]*/
1522  UBLOCK_CJK_STROKES = 130, /*[31C0]*/
1526  UBLOCK_COPTIC = 132, /*[2C80]*/
1528  UBLOCK_ETHIOPIC_EXTENDED = 133, /*[2D80]*/
1530  UBLOCK_ETHIOPIC_SUPPLEMENT = 134, /*[1380]*/
1532  UBLOCK_GEORGIAN_SUPPLEMENT = 135, /*[2D00]*/
1534  UBLOCK_GLAGOLITIC = 136, /*[2C00]*/
1536  UBLOCK_KHAROSHTHI = 137, /*[10A00]*/
1540  UBLOCK_NEW_TAI_LUE = 139, /*[1980]*/
1542  UBLOCK_OLD_PERSIAN = 140, /*[103A0]*/
1548  UBLOCK_SYLOTI_NAGRI = 143, /*[A800]*/
1550  UBLOCK_TIFINAGH = 144, /*[2D30]*/
1552  UBLOCK_VERTICAL_FORMS = 145, /*[FE10]*/
1553 
1554  /* New blocks in Unicode 5.0 */
1555 
1557  UBLOCK_NKO = 146, /*[07C0]*/
1559  UBLOCK_BALINESE = 147, /*[1B00]*/
1561  UBLOCK_LATIN_EXTENDED_C = 148, /*[2C60]*/
1563  UBLOCK_LATIN_EXTENDED_D = 149, /*[A720]*/
1565  UBLOCK_PHAGS_PA = 150, /*[A840]*/
1567  UBLOCK_PHOENICIAN = 151, /*[10900]*/
1569  UBLOCK_CUNEIFORM = 152, /*[12000]*/
1573  UBLOCK_COUNTING_ROD_NUMERALS = 154, /*[1D360]*/
1574 
1575  /* New blocks in Unicode 5.1 */
1576 
1578  UBLOCK_SUNDANESE = 155, /*[1B80]*/
1580  UBLOCK_LEPCHA = 156, /*[1C00]*/
1582  UBLOCK_OL_CHIKI = 157, /*[1C50]*/
1584  UBLOCK_CYRILLIC_EXTENDED_A = 158, /*[2DE0]*/
1586  UBLOCK_VAI = 159, /*[A500]*/
1588  UBLOCK_CYRILLIC_EXTENDED_B = 160, /*[A640]*/
1590  UBLOCK_SAURASHTRA = 161, /*[A880]*/
1592  UBLOCK_KAYAH_LI = 162, /*[A900]*/
1594  UBLOCK_REJANG = 163, /*[A930]*/
1596  UBLOCK_CHAM = 164, /*[AA00]*/
1598  UBLOCK_ANCIENT_SYMBOLS = 165, /*[10190]*/
1600  UBLOCK_PHAISTOS_DISC = 166, /*[101D0]*/
1602  UBLOCK_LYCIAN = 167, /*[10280]*/
1604  UBLOCK_CARIAN = 168, /*[102A0]*/
1606  UBLOCK_LYDIAN = 169, /*[10920]*/
1608  UBLOCK_MAHJONG_TILES = 170, /*[1F000]*/
1610  UBLOCK_DOMINO_TILES = 171, /*[1F030]*/
1611 
1612  /* New blocks in Unicode 5.2 */
1613 
1615  UBLOCK_SAMARITAN = 172, /*[0800]*/
1619  UBLOCK_TAI_THAM = 174, /*[1A20]*/
1621  UBLOCK_VEDIC_EXTENSIONS = 175, /*[1CD0]*/
1623  UBLOCK_LISU = 176, /*[A4D0]*/
1625  UBLOCK_BAMUM = 177, /*[A6A0]*/
1629  UBLOCK_DEVANAGARI_EXTENDED = 179, /*[A8E0]*/
1633  UBLOCK_JAVANESE = 181, /*[A980]*/
1635  UBLOCK_MYANMAR_EXTENDED_A = 182, /*[AA60]*/
1637  UBLOCK_TAI_VIET = 183, /*[AA80]*/
1639  UBLOCK_MEETEI_MAYEK = 184, /*[ABC0]*/
1643  UBLOCK_IMPERIAL_ARAMAIC = 186, /*[10840]*/
1645  UBLOCK_OLD_SOUTH_ARABIAN = 187, /*[10A60]*/
1647  UBLOCK_AVESTAN = 188, /*[10B00]*/
1651  UBLOCK_INSCRIPTIONAL_PAHLAVI = 190, /*[10B60]*/
1653  UBLOCK_OLD_TURKIC = 191, /*[10C00]*/
1655  UBLOCK_RUMI_NUMERAL_SYMBOLS = 192, /*[10E60]*/
1657  UBLOCK_KAITHI = 193, /*[11080]*/
1659  UBLOCK_EGYPTIAN_HIEROGLYPHS = 194, /*[13000]*/
1666 
1667  /* New blocks in Unicode 6.0 */
1668 
1670  UBLOCK_MANDAIC = 198, /*[0840]*/
1672  UBLOCK_BATAK = 199, /*[1BC0]*/
1674  UBLOCK_ETHIOPIC_EXTENDED_A = 200, /*[AB00]*/
1676  UBLOCK_BRAHMI = 201, /*[11000]*/
1678  UBLOCK_BAMUM_SUPPLEMENT = 202, /*[16800]*/
1680  UBLOCK_KANA_SUPPLEMENT = 203, /*[1B000]*/
1682  UBLOCK_PLAYING_CARDS = 204, /*[1F0A0]*/
1686  UBLOCK_EMOTICONS = 206, /*[1F600]*/
1690  UBLOCK_ALCHEMICAL_SYMBOLS = 208, /*[1F700]*/
1693 
1694  /* New blocks in Unicode 6.1 */
1695 
1697  UBLOCK_ARABIC_EXTENDED_A = 210, /*[08A0]*/
1701  UBLOCK_CHAKMA = 212, /*[11100]*/
1705  UBLOCK_MEROITIC_CURSIVE = 214, /*[109A0]*/
1707  UBLOCK_MEROITIC_HIEROGLYPHS = 215, /*[10980]*/
1709  UBLOCK_MIAO = 216, /*[16F00]*/
1711  UBLOCK_SHARADA = 217, /*[11180]*/
1713  UBLOCK_SORA_SOMPENG = 218, /*[110D0]*/
1717  UBLOCK_TAKRI = 220, /*[11680]*/
1718 
1719  /* New blocks in Unicode 7.0 */
1720 
1722  UBLOCK_BASSA_VAH = 221, /*[16AD0]*/
1724  UBLOCK_CAUCASIAN_ALBANIAN = 222, /*[10530]*/
1726  UBLOCK_COPTIC_EPACT_NUMBERS = 223, /*[102E0]*/
1730  UBLOCK_DUPLOYAN = 225, /*[1BC00]*/
1732  UBLOCK_ELBASAN = 226, /*[10500]*/
1736  UBLOCK_GRANTHA = 228, /*[11300]*/
1738  UBLOCK_KHOJKI = 229, /*[11200]*/
1740  UBLOCK_KHUDAWADI = 230, /*[112B0]*/
1742  UBLOCK_LATIN_EXTENDED_E = 231, /*[AB30]*/
1744  UBLOCK_LINEAR_A = 232, /*[10600]*/
1746  UBLOCK_MAHAJANI = 233, /*[11150]*/
1748  UBLOCK_MANICHAEAN = 234, /*[10AC0]*/
1750  UBLOCK_MENDE_KIKAKUI = 235, /*[1E800]*/
1752  UBLOCK_MODI = 236, /*[11600]*/
1754  UBLOCK_MRO = 237, /*[16A40]*/
1756  UBLOCK_MYANMAR_EXTENDED_B = 238, /*[A9E0]*/
1758  UBLOCK_NABATAEAN = 239, /*[10880]*/
1760  UBLOCK_OLD_NORTH_ARABIAN = 240, /*[10A80]*/
1762  UBLOCK_OLD_PERMIC = 241, /*[10350]*/
1764  UBLOCK_ORNAMENTAL_DINGBATS = 242, /*[1F650]*/
1766  UBLOCK_PAHAWH_HMONG = 243, /*[16B00]*/
1768  UBLOCK_PALMYRENE = 244, /*[10860]*/
1770  UBLOCK_PAU_CIN_HAU = 245, /*[11AC0]*/
1772  UBLOCK_PSALTER_PAHLAVI = 246, /*[10B80]*/
1776  UBLOCK_SIDDHAM = 248, /*[11580]*/
1780  UBLOCK_SUPPLEMENTAL_ARROWS_C = 250, /*[1F800]*/
1782  UBLOCK_TIRHUTA = 251, /*[11480]*/
1784  UBLOCK_WARANG_CITI = 252, /*[118A0]*/
1785 
1786  /* New blocks in Unicode 8.0 */
1787 
1789  UBLOCK_AHOM = 253, /*[11700]*/
1791  UBLOCK_ANATOLIAN_HIEROGLYPHS = 254, /*[14400]*/
1793  UBLOCK_CHEROKEE_SUPPLEMENT = 255, /*[AB70]*/
1799  UBLOCK_HATRAN = 258, /*[108E0]*/
1801  UBLOCK_MULTANI = 259, /*[11280]*/
1803  UBLOCK_OLD_HUNGARIAN = 260, /*[10C80]*/
1807  UBLOCK_SUTTON_SIGNWRITING = 262, /*[1D800]*/
1808 
1809  /* New blocks in Unicode 9.0 */
1810 
1812  UBLOCK_ADLAM = 263, /*[1E900]*/
1814  UBLOCK_BHAIKSUKI = 264, /*[11C00]*/
1816  UBLOCK_CYRILLIC_EXTENDED_C = 265, /*[1C80]*/
1818  UBLOCK_GLAGOLITIC_SUPPLEMENT = 266, /*[1E000]*/
1822  UBLOCK_MARCHEN = 268, /*[11C70]*/
1824  UBLOCK_MONGOLIAN_SUPPLEMENT = 269, /*[11660]*/
1826  UBLOCK_NEWA = 270, /*[11400]*/
1828  UBLOCK_OSAGE = 271, /*[104B0]*/
1830  UBLOCK_TANGUT = 272, /*[17000]*/
1832  UBLOCK_TANGUT_COMPONENTS = 273, /*[18800]*/
1833 
1834  // New blocks in Unicode 10.0
1835 
1839  UBLOCK_KANA_EXTENDED_A = 275, /*[1B100]*/
1841  UBLOCK_MASARAM_GONDI = 276, /*[11D00]*/
1843  UBLOCK_NUSHU = 277, /*[1B170]*/
1845  UBLOCK_SOYOMBO = 278, /*[11A50]*/
1847  UBLOCK_SYRIAC_SUPPLEMENT = 279, /*[0860]*/
1849  UBLOCK_ZANABAZAR_SQUARE = 280, /*[11A00]*/
1850 
1851  // New blocks in Unicode 11.0
1852 
1854  UBLOCK_CHESS_SYMBOLS = 281, /*[1FA00]*/
1856  UBLOCK_DOGRA = 282, /*[11800]*/
1858  UBLOCK_GEORGIAN_EXTENDED = 283, /*[1C90]*/
1860  UBLOCK_GUNJALA_GONDI = 284, /*[11D60]*/
1862  UBLOCK_HANIFI_ROHINGYA = 285, /*[10D00]*/
1864  UBLOCK_INDIC_SIYAQ_NUMBERS = 286, /*[1EC70]*/
1866  UBLOCK_MAKASAR = 287, /*[11EE0]*/
1868  UBLOCK_MAYAN_NUMERALS = 288, /*[1D2E0]*/
1870  UBLOCK_MEDEFAIDRIN = 289, /*[16E40]*/
1872  UBLOCK_OLD_SOGDIAN = 290, /*[10F00]*/
1874  UBLOCK_SOGDIAN = 291, /*[10F30]*/
1875 
1876  // New blocks in Unicode 12.0
1877 
1881  UBLOCK_ELYMAIC = 293, /*[10FE0]*/
1883  UBLOCK_NANDINAGARI = 294, /*[119A0]*/
1887  UBLOCK_OTTOMAN_SIYAQ_NUMBERS = 296, /*[1ED00]*/
1889  UBLOCK_SMALL_KANA_EXTENSION = 297, /*[1B130]*/
1893  UBLOCK_TAMIL_SUPPLEMENT = 299, /*[11FC0]*/
1895  UBLOCK_WANCHO = 300, /*[1E2C0]*/
1896 
1897  // New blocks in Unicode 13.0
1898 
1900  UBLOCK_CHORASMIAN = 301, /*[10FB0]*/
1904  UBLOCK_DIVES_AKURU = 303, /*[11900]*/
1906  UBLOCK_KHITAN_SMALL_SCRIPT = 304, /*[18B00]*/
1908  UBLOCK_LISU_SUPPLEMENT = 305, /*[11FB0]*/
1912  UBLOCK_TANGUT_SUPPLEMENT = 307, /*[18D00]*/
1914  UBLOCK_YEZIDI = 308, /*[10E80]*/
1915 
1916  // New blocks in Unicode 14.0
1917 
1919  UBLOCK_ARABIC_EXTENDED_B = 309, /*[0870]*/
1921  UBLOCK_CYPRO_MINOAN = 310, /*[12F90]*/
1923  UBLOCK_ETHIOPIC_EXTENDED_B = 311, /*[1E7E0]*/
1925  UBLOCK_KANA_EXTENDED_B = 312, /*[1AFF0]*/
1927  UBLOCK_LATIN_EXTENDED_F = 313, /*[10780]*/
1929  UBLOCK_LATIN_EXTENDED_G = 314, /*[1DF00]*/
1931  UBLOCK_OLD_UYGHUR = 315, /*[10F70]*/
1933  UBLOCK_TANGSA = 316, /*[16A70]*/
1935  UBLOCK_TOTO = 317, /*[1E290]*/
1939  UBLOCK_VITHKUQI = 319, /*[10570]*/
1942 
1943  // New blocks in Unicode 15.0
1944 
1946  UBLOCK_ARABIC_EXTENDED_C = 321, /*[10EC0]*/
1950  UBLOCK_CYRILLIC_EXTENDED_D = 323, /*[1E030]*/
1952  UBLOCK_DEVANAGARI_EXTENDED_A = 324, /*[11B00]*/
1954  UBLOCK_KAKTOVIK_NUMERALS = 325, /*[1D2C0]*/
1956  UBLOCK_KAWI = 326, /*[11F00]*/
1958  UBLOCK_NAG_MUNDARI = 327, /*[1E4D0]*/
1959 
1960  // New block in Unicode 15.1
1961 
1964 
1965  // New blocks in Unicode 16.0
1966 
1970  UBLOCK_GARAY = 330, /*[10D40]*/
1972  UBLOCK_GURUNG_KHEMA = 331, /*[16100]*/
1974  UBLOCK_KIRAT_RAI = 332, /*[16D40]*/
1976  UBLOCK_MYANMAR_EXTENDED_C = 333, /*[116D0]*/
1978  UBLOCK_OL_ONAL = 334, /*[1E5D0]*/
1980  UBLOCK_SUNUWAR = 335, /*[11BC0]*/
1984  UBLOCK_TODHRI = 337, /*[105C0]*/
1986  UBLOCK_TULU_TIGALARI = 338, /*[11380]*/
1987 
1988 #ifndef U_HIDE_DEPRECATED_API
1996 #endif // U_HIDE_DEPRECATED_API
1997 
2000 };
2001 
2003 typedef enum UBlockCode UBlockCode;
2004 
2012 typedef enum UEastAsianWidth {
2013  /*
2014  * Note: UEastAsianWidth constants are parsed by preparseucd.py.
2015  * It matches lines like
2016  * U_EA_<Unicode East_Asian_Width value name>
2017  */
2018 
2019  U_EA_NEUTRAL, /*[N]*/
2020  U_EA_AMBIGUOUS, /*[A]*/
2021  U_EA_HALFWIDTH, /*[H]*/
2022  U_EA_FULLWIDTH, /*[F]*/
2023  U_EA_NARROW, /*[Na]*/
2024  U_EA_WIDE, /*[W]*/
2025 #ifndef U_HIDE_DEPRECATED_API
2032  U_EA_COUNT
2033 #endif // U_HIDE_DEPRECATED_API
2035 
2047 typedef enum UCharNameChoice {
2050 #ifndef U_HIDE_DEPRECATED_API
2057 #endif /* U_HIDE_DEPRECATED_API */
2062 #ifndef U_HIDE_DEPRECATED_API
2068 #endif // U_HIDE_DEPRECATED_API
2070 
2084 typedef enum UPropertyNameChoice {
2085  U_SHORT_PROPERTY_NAME,
2086  U_LONG_PROPERTY_NAME,
2087 #ifndef U_HIDE_DEPRECATED_API
2093 #endif // U_HIDE_DEPRECATED_API
2095 
2102 typedef enum UDecompositionType {
2103  /*
2104  * Note: UDecompositionType constants are parsed by preparseucd.py.
2105  * It matches lines like
2106  * U_DT_<Unicode Decomposition_Type value name>
2107  */
2108 
2109  U_DT_NONE, /*[none]*/
2110  U_DT_CANONICAL, /*[can]*/
2111  U_DT_COMPAT, /*[com]*/
2112  U_DT_CIRCLE, /*[enc]*/
2113  U_DT_FINAL, /*[fin]*/
2114  U_DT_FONT, /*[font]*/
2115  U_DT_FRACTION, /*[fra]*/
2116  U_DT_INITIAL, /*[init]*/
2117  U_DT_ISOLATED, /*[iso]*/
2118  U_DT_MEDIAL, /*[med]*/
2119  U_DT_NARROW, /*[nar]*/
2120  U_DT_NOBREAK, /*[nb]*/
2121  U_DT_SMALL, /*[sml]*/
2122  U_DT_SQUARE, /*[sqr]*/
2123  U_DT_SUB, /*[sub]*/
2124  U_DT_SUPER, /*[sup]*/
2125  U_DT_VERTICAL, /*[vert]*/
2126  U_DT_WIDE, /*[wide]*/
2127 #ifndef U_HIDE_DEPRECATED_API
2134  U_DT_COUNT /* 18 */
2135 #endif // U_HIDE_DEPRECATED_API
2137 
2144 typedef enum UJoiningType {
2145  /*
2146  * Note: UJoiningType constants are parsed by preparseucd.py.
2147  * It matches lines like
2148  * U_JT_<Unicode Joining_Type value name>
2149  */
2150 
2151  U_JT_NON_JOINING, /*[U]*/
2152  U_JT_JOIN_CAUSING, /*[C]*/
2153  U_JT_DUAL_JOINING, /*[D]*/
2154  U_JT_LEFT_JOINING, /*[L]*/
2155  U_JT_RIGHT_JOINING, /*[R]*/
2156  U_JT_TRANSPARENT, /*[T]*/
2157 #ifndef U_HIDE_DEPRECATED_API
2164  U_JT_COUNT /* 6 */
2165 #endif // U_HIDE_DEPRECATED_API
2167 
2174 typedef enum UJoiningGroup {
2175  /*
2176  * Note: UJoiningGroup constants are parsed by preparseucd.py.
2177  * It matches lines like
2178  * U_JG_<Unicode Joining_Group value name>
2179  */
2180 
2181  U_JG_NO_JOINING_GROUP,
2182  U_JG_AIN,
2183  U_JG_ALAPH,
2184  U_JG_ALEF,
2185  U_JG_BEH,
2186  U_JG_BETH,
2187  U_JG_DAL,
2188  U_JG_DALATH_RISH,
2189  U_JG_E,
2190  U_JG_FEH,
2191  U_JG_FINAL_SEMKATH,
2192  U_JG_GAF,
2193  U_JG_GAMAL,
2194  U_JG_HAH,
2196  U_JG_HAMZA_ON_HEH_GOAL=U_JG_TEH_MARBUTA_GOAL,
2197  U_JG_HE,
2198  U_JG_HEH,
2199  U_JG_HEH_GOAL,
2200  U_JG_HETH,
2201  U_JG_KAF,
2202  U_JG_KAPH,
2203  U_JG_KNOTTED_HEH,
2204  U_JG_LAM,
2205  U_JG_LAMADH,
2206  U_JG_MEEM,
2207  U_JG_MIM,
2208  U_JG_NOON,
2209  U_JG_NUN,
2210  U_JG_PE,
2211  U_JG_QAF,
2212  U_JG_QAPH,
2213  U_JG_REH,
2214  U_JG_REVERSED_PE,
2215  U_JG_SAD,
2216  U_JG_SADHE,
2217  U_JG_SEEN,
2218  U_JG_SEMKATH,
2219  U_JG_SHIN,
2220  U_JG_SWASH_KAF,
2221  U_JG_SYRIAC_WAW,
2222  U_JG_TAH,
2223  U_JG_TAW,
2224  U_JG_TEH_MARBUTA,
2225  U_JG_TETH,
2226  U_JG_WAW,
2227  U_JG_YEH,
2228  U_JG_YEH_BARREE,
2229  U_JG_YEH_WITH_TAIL,
2230  U_JG_YUDH,
2231  U_JG_YUDH_HE,
2232  U_JG_ZAIN,
2292 #ifndef U_HIDE_DEPRECATED_API
2299  U_JG_COUNT
2300 #endif // U_HIDE_DEPRECATED_API
2302 
2310  /*
2311  * Note: UGraphemeClusterBreak constants are parsed by preparseucd.py.
2312  * It matches lines like
2313  * U_GCB_<Unicode Grapheme_Cluster_Break value name>
2314  */
2315 
2316  U_GCB_OTHER = 0, /*[XX]*/
2317  U_GCB_CONTROL = 1, /*[CN]*/
2318  U_GCB_CR = 2, /*[CR]*/
2319  U_GCB_EXTEND = 3, /*[EX]*/
2320  U_GCB_L = 4, /*[L]*/
2321  U_GCB_LF = 5, /*[LF]*/
2322  U_GCB_LV = 6, /*[LV]*/
2323  U_GCB_LVT = 7, /*[LVT]*/
2324  U_GCB_T = 8, /*[T]*/
2325  U_GCB_V = 9, /*[V]*/
2327  U_GCB_SPACING_MARK = 10, /*[SM]*/ /* from here on: new in Unicode 5.1/ICU 4.0 */
2329  U_GCB_PREPEND = 11, /*[PP]*/
2331  U_GCB_REGIONAL_INDICATOR = 12, /*[RI]*/ /* new in Unicode 6.2/ICU 50 */
2333  U_GCB_E_BASE = 13, /*[EB]*/ /* from here on: new in Unicode 9.0/ICU 58 */
2335  U_GCB_E_BASE_GAZ = 14, /*[EBG]*/
2337  U_GCB_E_MODIFIER = 15, /*[EM]*/
2339  U_GCB_GLUE_AFTER_ZWJ = 16, /*[GAZ]*/
2341  U_GCB_ZWJ = 17, /*[ZWJ]*/
2342 
2343 #ifndef U_HIDE_DEPRECATED_API
2350  U_GCB_COUNT = 18
2351 #endif // U_HIDE_DEPRECATED_API
2353 
2361 typedef enum UWordBreakValues {
2362  /*
2363  * Note: UWordBreakValues constants are parsed by preparseucd.py.
2364  * It matches lines like
2365  * U_WB_<Unicode Word_Break value name>
2366  */
2367 
2368  U_WB_OTHER = 0, /*[XX]*/
2369  U_WB_ALETTER = 1, /*[LE]*/
2370  U_WB_FORMAT = 2, /*[FO]*/
2371  U_WB_KATAKANA = 3, /*[KA]*/
2372  U_WB_MIDLETTER = 4, /*[ML]*/
2373  U_WB_MIDNUM = 5, /*[MN]*/
2374  U_WB_NUMERIC = 6, /*[NU]*/
2375  U_WB_EXTENDNUMLET = 7, /*[EX]*/
2377  U_WB_CR = 8, /*[CR]*/ /* from here on: new in Unicode 5.1/ICU 4.0 */
2379  U_WB_EXTEND = 9, /*[Extend]*/
2381  U_WB_LF = 10, /*[LF]*/
2383  U_WB_MIDNUMLET =11, /*[MB]*/
2385  U_WB_NEWLINE =12, /*[NL]*/
2387  U_WB_REGIONAL_INDICATOR = 13, /*[RI]*/ /* new in Unicode 6.2/ICU 50 */
2389  U_WB_HEBREW_LETTER = 14, /*[HL]*/ /* from here on: new in Unicode 6.3/ICU 52 */
2391  U_WB_SINGLE_QUOTE = 15, /*[SQ]*/
2393  U_WB_DOUBLE_QUOTE = 16, /*[DQ]*/
2395  U_WB_E_BASE = 17, /*[EB]*/ /* from here on: new in Unicode 9.0/ICU 58 */
2397  U_WB_E_BASE_GAZ = 18, /*[EBG]*/
2399  U_WB_E_MODIFIER = 19, /*[EM]*/
2401  U_WB_GLUE_AFTER_ZWJ = 20, /*[GAZ]*/
2403  U_WB_ZWJ = 21, /*[ZWJ]*/
2405  U_WB_WSEGSPACE = 22, /*[WSEGSPACE]*/
2406 
2407 #ifndef U_HIDE_DEPRECATED_API
2414  U_WB_COUNT = 23
2415 #endif // U_HIDE_DEPRECATED_API
2417 
2424 typedef enum USentenceBreak {
2425  /*
2426  * Note: USentenceBreak constants are parsed by preparseucd.py.
2427  * It matches lines like
2428  * U_SB_<Unicode Sentence_Break value name>
2429  */
2430 
2431  U_SB_OTHER = 0, /*[XX]*/
2432  U_SB_ATERM = 1, /*[AT]*/
2433  U_SB_CLOSE = 2, /*[CL]*/
2434  U_SB_FORMAT = 3, /*[FO]*/
2435  U_SB_LOWER = 4, /*[LO]*/
2436  U_SB_NUMERIC = 5, /*[NU]*/
2437  U_SB_OLETTER = 6, /*[LE]*/
2438  U_SB_SEP = 7, /*[SE]*/
2439  U_SB_SP = 8, /*[SP]*/
2440  U_SB_STERM = 9, /*[ST]*/
2441  U_SB_UPPER = 10, /*[UP]*/
2442  U_SB_CR = 11, /*[CR]*/ /* from here on: new in Unicode 5.1/ICU 4.0 */
2443  U_SB_EXTEND = 12, /*[EX]*/
2444  U_SB_LF = 13, /*[LF]*/
2445  U_SB_SCONTINUE = 14, /*[SC]*/
2446 #ifndef U_HIDE_DEPRECATED_API
2453  U_SB_COUNT = 15
2454 #endif // U_HIDE_DEPRECATED_API
2456 
2463 typedef enum ULineBreak {
2464  /*
2465  * Note: ULineBreak constants are parsed by preparseucd.py.
2466  * It matches lines like
2467  * U_LB_<Unicode Line_Break value name>
2468  */
2469 
2470  U_LB_UNKNOWN = 0, /*[XX]*/
2471  U_LB_AMBIGUOUS = 1, /*[AI]*/
2472  U_LB_ALPHABETIC = 2, /*[AL]*/
2473  U_LB_BREAK_BOTH = 3, /*[B2]*/
2474  U_LB_BREAK_AFTER = 4, /*[BA]*/
2475  U_LB_BREAK_BEFORE = 5, /*[BB]*/
2476  U_LB_MANDATORY_BREAK = 6, /*[BK]*/
2477  U_LB_CONTINGENT_BREAK = 7, /*[CB]*/
2478  U_LB_CLOSE_PUNCTUATION = 8, /*[CL]*/
2479  U_LB_COMBINING_MARK = 9, /*[CM]*/
2480  U_LB_CARRIAGE_RETURN = 10, /*[CR]*/
2481  U_LB_EXCLAMATION = 11, /*[EX]*/
2482  U_LB_GLUE = 12, /*[GL]*/
2483  U_LB_HYPHEN = 13, /*[HY]*/
2484  U_LB_IDEOGRAPHIC = 14, /*[ID]*/
2486  U_LB_INSEPARABLE = 15, /*[IN]*/
2487  U_LB_INSEPERABLE = U_LB_INSEPARABLE,
2488  U_LB_INFIX_NUMERIC = 16, /*[IS]*/
2489  U_LB_LINE_FEED = 17, /*[LF]*/
2490  U_LB_NONSTARTER = 18, /*[NS]*/
2491  U_LB_NUMERIC = 19, /*[NU]*/
2492  U_LB_OPEN_PUNCTUATION = 20, /*[OP]*/
2493  U_LB_POSTFIX_NUMERIC = 21, /*[PO]*/
2494  U_LB_PREFIX_NUMERIC = 22, /*[PR]*/
2495  U_LB_QUOTATION = 23, /*[QU]*/
2496  U_LB_COMPLEX_CONTEXT = 24, /*[SA]*/
2497  U_LB_SURROGATE = 25, /*[SG]*/
2498  U_LB_SPACE = 26, /*[SP]*/
2499  U_LB_BREAK_SYMBOLS = 27, /*[SY]*/
2500  U_LB_ZWSPACE = 28, /*[ZW]*/
2502  U_LB_NEXT_LINE = 29, /*[NL]*/ /* from here on: new in Unicode 4/ICU 2.6 */
2504  U_LB_WORD_JOINER = 30, /*[WJ]*/
2506  U_LB_H2 = 31, /*[H2]*/ /* from here on: new in Unicode 4.1/ICU 3.4 */
2508  U_LB_H3 = 32, /*[H3]*/
2510  U_LB_JL = 33, /*[JL]*/
2512  U_LB_JT = 34, /*[JT]*/
2514  U_LB_JV = 35, /*[JV]*/
2516  U_LB_CLOSE_PARENTHESIS = 36, /*[CP]*/ /* new in Unicode 5.2/ICU 4.4 */
2518  U_LB_CONDITIONAL_JAPANESE_STARTER = 37,/*[CJ]*/ /* new in Unicode 6.1/ICU 49 */
2520  U_LB_HEBREW_LETTER = 38, /*[HL]*/ /* new in Unicode 6.1/ICU 49 */
2522  U_LB_REGIONAL_INDICATOR = 39,/*[RI]*/ /* new in Unicode 6.2/ICU 50 */
2524  U_LB_E_BASE = 40, /*[EB]*/ /* from here on: new in Unicode 9.0/ICU 58 */
2526  U_LB_E_MODIFIER = 41, /*[EM]*/
2528  U_LB_ZWJ = 42, /*[ZWJ]*/
2530  U_LB_AKSARA = 43, /*[AK]*/
2532  U_LB_AKSARA_PREBASE = 44, /*[AP]*/
2534  U_LB_AKSARA_START = 45, /*[AS]*/
2536  U_LB_VIRAMA_FINAL = 46, /*[VF]*/
2538  U_LB_VIRAMA = 47, /*[VI]*/
2539 #ifndef U_HIDE_DEPRECATED_API
2546  U_LB_COUNT = 48
2547 #endif // U_HIDE_DEPRECATED_API
2549 
2556 typedef enum UNumericType {
2557  /*
2558  * Note: UNumericType constants are parsed by preparseucd.py.
2559  * It matches lines like
2560  * U_NT_<Unicode Numeric_Type value name>
2561  */
2562 
2563  U_NT_NONE, /*[None]*/
2564  U_NT_DECIMAL, /*[de]*/
2565  U_NT_DIGIT, /*[di]*/
2566  U_NT_NUMERIC, /*[nu]*/
2567 #ifndef U_HIDE_DEPRECATED_API
2574  U_NT_COUNT
2575 #endif // U_HIDE_DEPRECATED_API
2577 
2584 typedef enum UHangulSyllableType {
2585  /*
2586  * Note: UHangulSyllableType constants are parsed by preparseucd.py.
2587  * It matches lines like
2588  * U_HST_<Unicode Hangul_Syllable_Type value name>
2589  */
2590 
2591  U_HST_NOT_APPLICABLE, /*[NA]*/
2592  U_HST_LEADING_JAMO, /*[L]*/
2593  U_HST_VOWEL_JAMO, /*[V]*/
2594  U_HST_TRAILING_JAMO, /*[T]*/
2595  U_HST_LV_SYLLABLE, /*[LV]*/
2596  U_HST_LVT_SYLLABLE, /*[LVT]*/
2597 #ifndef U_HIDE_DEPRECATED_API
2604  U_HST_COUNT
2605 #endif // U_HIDE_DEPRECATED_API
2607 
2615  /*
2616  * Note: UIndicPositionalCategory constants are parsed by preparseucd.py.
2617  * It matches lines like
2618  * U_INPC_<Unicode Indic_Positional_Category value name>
2619  */
2620 
2654 
2662  /*
2663  * Note: UIndicSyllabicCategory constants are parsed by preparseucd.py.
2664  * It matches lines like
2665  * U_INSC_<Unicode Indic_Syllabic_Category value name>
2666  */
2667 
2743 
2744 #ifndef U_HIDE_DRAFT_API
2751 typedef enum UIndicConjunctBreak {
2752  /*
2753  * Note: UIndicConjunctBreak constants are parsed by preparseucd.py.
2754  * It matches lines like
2755  * U_INCB_<Unicode Indic_Conjunct_Break value name>
2756  */
2757 
2767 #endif // U_HIDE_DRAFT_API
2768 
2775 typedef enum UVerticalOrientation {
2776  /*
2777  * Note: UVerticalOrientation constants are parsed by preparseucd.py.
2778  * It matches lines like
2779  * U_VO_<Unicode Vertical_Orientation value name>
2780  */
2781 
2791 
2799 typedef enum UIdentifierStatus {
2800  /*
2801  * Note: UIdentifierStatus constants are parsed by preparseucd.py.
2802  * It matches lines like
2803  * U_ID_STATUS_<Unicode Identifier_Status value name>
2804  */
2805 
2811 
2819 typedef enum UIdentifierType {
2820  /*
2821  * Note: UIdentifierType constants are parsed by preparseucd.py.
2822  * It matches lines like
2823  * U_ID_TYPE_<Unicode Identifier_Type value name>
2824  */
2825 
2851 
2879 U_CAPI UBool U_EXPORT2
2881 
2906 U_CAPI UBool U_EXPORT2
2907 u_stringHasBinaryProperty(const UChar *s, int32_t length, UProperty which);
2908 
2924 U_CAPI const USet * U_EXPORT2
2926 
2939 U_CAPI UBool U_EXPORT2
2941 
2954 U_CAPI UBool U_EXPORT2
2956 
2969 U_CAPI UBool U_EXPORT2
2971 
2990 U_CAPI UBool U_EXPORT2
2992 
3031 U_CAPI int32_t U_EXPORT2
3033 
3052 U_CAPI int32_t U_EXPORT2
3054 
3081 U_CAPI int32_t U_EXPORT2
3083 
3099 U_CAPI const UCPMap * U_EXPORT2
3101 
3124 U_CAPI double U_EXPORT2
3126 
3134 #define U_NO_NUMERIC_VALUE ((double)-123456789.)
3135 
3159 U_CAPI UBool U_EXPORT2
3161 
3186 U_CAPI UBool U_EXPORT2
3188 
3203 U_CAPI UBool U_EXPORT2
3205 
3224 U_CAPI UBool U_EXPORT2
3226 
3245 U_CAPI UBool U_EXPORT2
3247 
3266 U_CAPI UBool U_EXPORT2
3268 
3289 U_CAPI UBool U_EXPORT2
3291 
3305 U_CAPI UBool U_EXPORT2
3307 
3324 U_CAPI UBool U_EXPORT2
3326 
3352 U_CAPI UBool U_EXPORT2
3354 
3377 U_CAPI UBool U_EXPORT2
3379 
3398 U_CAPI UBool U_EXPORT2
3400 
3419 U_CAPI UBool U_EXPORT2
3421 
3459 U_CAPI UBool U_EXPORT2
3461 
3483 U_CAPI UBool U_EXPORT2
3485 
3498 U_CAPI UBool U_EXPORT2
3500 
3516 U_CAPI UBool U_EXPORT2
3518 
3536 U_CAPI UBool U_EXPORT2
3538 
3555 U_CAPI UCharDirection U_EXPORT2
3557 
3573 U_CAPI UBool U_EXPORT2
3575 
3595 U_CAPI UChar32 U_EXPORT2
3597 
3614 U_CAPI UChar32 U_EXPORT2
3616 
3628 U_CAPI int8_t U_EXPORT2
3630 
3644 #define U_GET_GC_MASK(c) U_MASK(u_charType(c))
3645 
3663 typedef UBool U_CALLCONV
3664 UCharEnumTypeRange(const void *context, UChar32 start, UChar32 limit, UCharCategory type);
3665 
3685 U_CAPI void U_EXPORT2
3686 u_enumCharTypes(UCharEnumTypeRange *enumRange, const void *context);
3687 
3688 #if !UCONFIG_NO_NORMALIZATION
3689 
3697 U_CAPI uint8_t U_EXPORT2
3699 
3700 #endif
3701 
3725 U_CAPI int32_t U_EXPORT2
3727 
3737 U_CAPI UBlockCode U_EXPORT2
3739 
3772 U_CAPI int32_t U_EXPORT2
3774  char *buffer, int32_t bufferLength,
3775  UErrorCode *pErrorCode);
3776 
3777 #ifndef U_HIDE_DEPRECATED_API
3796 U_DEPRECATED int32_t U_EXPORT2
3798  char *dest, int32_t destCapacity,
3799  UErrorCode *pErrorCode);
3800 #endif /* U_HIDE_DEPRECATED_API */
3801 
3822 U_CAPI UChar32 U_EXPORT2
3824  const char *name,
3825  UErrorCode *pErrorCode);
3826 
3844 typedef UBool U_CALLCONV UEnumCharNamesFn(void *context,
3845  UChar32 code,
3846  UCharNameChoice nameChoice,
3847  const char *name,
3848  int32_t length);
3849 
3871 U_CAPI void U_EXPORT2
3873  UEnumCharNamesFn *fn,
3874  void *context,
3875  UCharNameChoice nameChoice,
3876  UErrorCode *pErrorCode);
3877 
3909 U_CAPI const char* U_EXPORT2
3911  UPropertyNameChoice nameChoice);
3912 
3932 U_CAPI UProperty U_EXPORT2
3933 u_getPropertyEnum(const char* alias);
3934 
3982 U_CAPI const char* U_EXPORT2
3984  int32_t value,
3985  UPropertyNameChoice nameChoice);
3986 
4018 U_CAPI int32_t U_EXPORT2
4020  const char* alias);
4021 
4036 U_CAPI UBool U_EXPORT2
4038 
4053 U_CAPI UBool U_EXPORT2
4055 
4069 U_CAPI bool U_EXPORT2
4071 
4104 U_CAPI int32_t U_EXPORT2
4105 u_getIDTypes(UChar32 c, UIdentifierType *types, int32_t capacity, UErrorCode *pErrorCode);
4106 
4127 U_CAPI UBool U_EXPORT2
4129 
4146 U_CAPI UBool U_EXPORT2
4148 
4167 U_CAPI UBool U_EXPORT2
4169 
4192 U_CAPI UChar32 U_EXPORT2
4194 
4217 U_CAPI UChar32 U_EXPORT2
4219 
4242 U_CAPI UChar32 U_EXPORT2
4244 
4267 U_CAPI UChar32 U_EXPORT2
4268 u_foldCase(UChar32 c, uint32_t options);
4269 
4308 U_CAPI int32_t U_EXPORT2
4309 u_digit(UChar32 ch, int8_t radix);
4310 
4339 U_CAPI UChar32 U_EXPORT2
4340 u_forDigit(int32_t digit, int8_t radix);
4341 
4356 U_CAPI void U_EXPORT2
4357 u_charAge(UChar32 c, UVersionInfo versionArray);
4358 
4370 U_CAPI void U_EXPORT2
4372 
4373 #if !UCONFIG_NO_NORMALIZATION
4395 U_CAPI int32_t U_EXPORT2
4396 u_getFC_NFKC_Closure(UChar32 c, UChar *dest, int32_t destCapacity, UErrorCode *pErrorCode);
4397 
4398 #endif
4399 
4400 
4402 
4403 #endif /*_UCHAR*/
4404 /*eof*/
#define U_CALLCONV
Similar to U_CDECL_BEGIN/U_CDECL_END, this qualifier is necessary in callback function typedefs to ma...
Definition: platform.h:846
C API: Bit set option bit constants for various string and character processing functions.
U_CAPI UBool u_isupper(UChar32 c)
Determines whether the specified code point has the general category "Lu" (uppercase letter).
U_CAPI UBool u_isUAlphabetic(UChar32 c)
Check if a code point has the Alphabetic Unicode property.
UBlockCode
Constants for Unicode blocks, see the Unicode Data file Blocks.txt.
Definition: uchar.h:1126
@ UBLOCK_NANDINAGARI
Definition: uchar.h:1883
@ UBLOCK_MRO
Definition: uchar.h:1754
@ UBLOCK_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED
Definition: uchar.h:1617
@ UBLOCK_COUNT
One more than the highest normal UBlockCode value.
Definition: uchar.h:1995
@ UBLOCK_OPTICAL_CHARACTER_RECOGNITION
Definition: uchar.h:1290
@ UBLOCK_LATIN_EXTENDED_G
Definition: uchar.h:1929
@ UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B
Definition: uchar.h:1436
@ UBLOCK_INSCRIPTIONAL_PAHLAVI
Definition: uchar.h:1651
@ UBLOCK_KHMER
Definition: uchar.h:1245
@ UBLOCK_BHAIKSUKI
Definition: uchar.h:1814
@ UBLOCK_DUPLOYAN
Definition: uchar.h:1730
@ UBLOCK_MEDEFAIDRIN
Definition: uchar.h:1870
@ UBLOCK_BALINESE
Definition: uchar.h:1559
@ UBLOCK_HEBREW
Definition: uchar.h:1170
@ UBLOCK_YIJING_HEXAGRAM_SYMBOLS
Definition: uchar.h:1491
@ UBLOCK_SUPPLEMENTAL_SYMBOLS_AND_PICTOGRAPHS
Definition: uchar.h:1805
@ UBLOCK_CYRILLIC
Definition: uchar.h:1164
@ UBLOCK_ARABIC_EXTENDED_B
Definition: uchar.h:1919
@ UBLOCK_SPECIALS
Definition: uchar.h:1416
@ UBLOCK_HALFWIDTH_AND_FULLWIDTH_FORMS
Definition: uchar.h:1419
@ UBLOCK_NEWA
Definition: uchar.h:1826
@ UBLOCK_ARROWS
Definition: uchar.h:1278
@ UBLOCK_CJK_SYMBOLS_AND_PUNCTUATION
Definition: uchar.h:1323
@ UBLOCK_TAKRI
Definition: uchar.h:1717
@ UBLOCK_BOX_DRAWING
Definition: uchar.h:1296
@ UBLOCK_SYMBOLS_FOR_LEGACY_COMPUTING_SUPPLEMENT
Definition: uchar.h:1982
@ UBLOCK_TULU_TIGALARI
Definition: uchar.h:1986
@ UBLOCK_CURRENCY_SYMBOLS
Definition: uchar.h:1263
@ UBLOCK_MISCELLANEOUS_SYMBOLS
Definition: uchar.h:1305
@ UBLOCK_ANCIENT_GREEK_NUMBERS
Definition: uchar.h:1516
@ UBLOCK_OLD_PERMIC
Definition: uchar.h:1762
@ UBLOCK_CJK_STROKES
Definition: uchar.h:1522
@ UBLOCK_PALMYRENE
Definition: uchar.h:1768
@ UBLOCK_OGHAM
Definition: uchar.h:1239
@ UBLOCK_TANGSA
Definition: uchar.h:1933
@ UBLOCK_SUTTON_SIGNWRITING
Definition: uchar.h:1807
@ UBLOCK_ANATOLIAN_HIEROGLYPHS
Definition: uchar.h:1791
@ UBLOCK_SYMBOLS_FOR_LEGACY_COMPUTING
Definition: uchar.h:1910
@ UBLOCK_SUPPLEMENTAL_PUNCTUATION
Definition: uchar.h:1546
@ UBLOCK_MEROITIC_HIEROGLYPHS
Definition: uchar.h:1707
@ UBLOCK_EMOTICONS
Definition: uchar.h:1686
@ UBLOCK_INDIC_SIYAQ_NUMBERS
Definition: uchar.h:1864
@ UBLOCK_KAKTOVIK_NUMERALS
Definition: uchar.h:1954
@ UBLOCK_REJANG
Definition: uchar.h:1594
@ UBLOCK_TAGALOG
Definition: uchar.h:1452
@ UBLOCK_LISU
Definition: uchar.h:1623
@ UBLOCK_COPTIC_EPACT_NUMBERS
Definition: uchar.h:1726
@ UBLOCK_SUPERSCRIPTS_AND_SUBSCRIPTS
Definition: uchar.h:1260
@ UBLOCK_SUNUWAR
Definition: uchar.h:1980
@ UBLOCK_TAGS
Definition: uchar.h:1440
@ UBLOCK_MIAO
Definition: uchar.h:1709
@ UBLOCK_TAMIL_SUPPLEMENT
Definition: uchar.h:1893
@ UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C
Definition: uchar.h:1665
@ UBLOCK_LIMBU
Definition: uchar.h:1481
@ UBLOCK_LYDIAN
Definition: uchar.h:1606
@ UBLOCK_NYIAKENG_PUACHUE_HMONG
Definition: uchar.h:1885
@ UBLOCK_PHONETIC_EXTENSIONS_SUPPLEMENT
Definition: uchar.h:1544
@ UBLOCK_TAI_THAM
Definition: uchar.h:1619
@ UBLOCK_MAHJONG_TILES
Definition: uchar.h:1608
@ UBLOCK_PLAYING_CARDS
Definition: uchar.h:1682
@ UBLOCK_ETHIOPIC_EXTENDED_B
Definition: uchar.h:1923
@ UBLOCK_TRANSPORT_AND_MAP_SYMBOLS
Definition: uchar.h:1688
@ UBLOCK_IDEOGRAPHIC_DESCRIPTION_CHARACTERS
Definition: uchar.h:1320
@ UBLOCK_BASIC_LATIN
Definition: uchar.h:1137
@ UBLOCK_GURMUKHI
Definition: uchar.h:1188
@ UBLOCK_SYMBOLS_AND_PICTOGRAPHS_EXTENDED_A
Definition: uchar.h:1891
@ UBLOCK_HATRAN
Definition: uchar.h:1799
@ UBLOCK_PRIVATE_USE_AREA
Same as UBLOCK_PRIVATE_USE.
Definition: uchar.h:1382
@ UBLOCK_ARMENIAN
Definition: uchar.h:1167
@ UBLOCK_HANGUL_JAMO
Definition: uchar.h:1227
@ UBLOCK_VERTICAL_FORMS
Definition: uchar.h:1552
@ UBLOCK_SINHALA_ARCHAIC_NUMBERS
Definition: uchar.h:1778
@ UBLOCK_SOGDIAN
Definition: uchar.h:1874
@ UBLOCK_TIRHUTA
Definition: uchar.h:1782
@ UBLOCK_ELBASAN
Definition: uchar.h:1732
@ UBLOCK_MATHEMATICAL_ALPHANUMERIC_SYMBOLS
Definition: uchar.h:1434
@ UBLOCK_KHITAN_SMALL_SCRIPT
Definition: uchar.h:1906
@ UBLOCK_NUMBER_FORMS
Definition: uchar.h:1275
@ UBLOCK_CHAM
Definition: uchar.h:1596
@ UBLOCK_TANGUT
Definition: uchar.h:1830
@ UBLOCK_GARAY
Definition: uchar.h:1970
@ UBLOCK_TAMIL
Definition: uchar.h:1197
@ UBLOCK_BLOCK_ELEMENTS
Definition: uchar.h:1299
@ UBLOCK_ENCLOSED_ALPHANUMERIC_SUPPLEMENT
Definition: uchar.h:1661
@ UBLOCK_CUNEIFORM_NUMBERS_AND_PUNCTUATION
Definition: uchar.h:1571
@ UBLOCK_LEPCHA
Definition: uchar.h:1580
@ UBLOCK_COMBINING_DIACRITICAL_MARKS_SUPPLEMENT
Definition: uchar.h:1524
@ UBLOCK_VARIATION_SELECTORS_SUPPLEMENT
Definition: uchar.h:1509
@ UBLOCK_DOMINO_TILES
Definition: uchar.h:1610
@ UBLOCK_COMBINING_DIACRITICAL_MARKS_EXTENDED
Definition: uchar.h:1728
@ UBLOCK_EGYPTIAN_HIEROGLYPHS
Definition: uchar.h:1659
@ UBLOCK_IPA_EXTENSIONS
Definition: uchar.h:1149
@ UBLOCK_TANGUT_COMPONENTS
Definition: uchar.h:1832
@ UBLOCK_CHEROKEE_SUPPLEMENT
Definition: uchar.h:1793
@ UBLOCK_ELYMAIC
Definition: uchar.h:1881
@ UBLOCK_LATIN_EXTENDED_A
Definition: uchar.h:1143
@ UBLOCK_HANUNOO
Definition: uchar.h:1454
@ UBLOCK_LAO
Definition: uchar.h:1215
@ UBLOCK_SUNDANESE_SUPPLEMENT
Definition: uchar.h:1715
@ UBLOCK_CYRILLIC_EXTENDED_A
Definition: uchar.h:1584
@ UBLOCK_HANGUL_JAMO_EXTENDED_B
Definition: uchar.h:1641
@ UBLOCK_SAMARITAN
Definition: uchar.h:1615
@ UBLOCK_SUPPLEMENTAL_ARROWS_A
Definition: uchar.h:1462
@ UBLOCK_DEVANAGARI_EXTENDED_A
Definition: uchar.h:1952
@ UBLOCK_GLAGOLITIC
Definition: uchar.h:1534
@ UBLOCK_INSCRIPTIONAL_PARTHIAN
Definition: uchar.h:1649
@ UBLOCK_WARANG_CITI
Definition: uchar.h:1784
@ UBLOCK_MONGOLIAN
Definition: uchar.h:1248
@ UBLOCK_NKO
Definition: uchar.h:1557
@ UBLOCK_ARABIC_EXTENDED_A
Definition: uchar.h:1697
@ UBLOCK_LYCIAN
Definition: uchar.h:1602
@ UBLOCK_CYRILLIC_EXTENDED_C
Definition: uchar.h:1816
@ UBLOCK_KANA_EXTENDED_B
Definition: uchar.h:1925
@ UBLOCK_DINGBATS
Definition: uchar.h:1308
@ UBLOCK_OTTOMAN_SIYAQ_NUMBERS
Definition: uchar.h:1887
@ UBLOCK_LINEAR_B_SYLLABARY
Definition: uchar.h:1493
@ UBLOCK_ENCLOSED_CJK_LETTERS_AND_MONTHS
Definition: uchar.h:1344
@ UBLOCK_CHAKMA
Definition: uchar.h:1701
@ UBLOCK_SPACING_MODIFIER_LETTERS
Definition: uchar.h:1152
@ UBLOCK_MEROITIC_CURSIVE
Definition: uchar.h:1705
@ UBLOCK_CYRILLIC_EXTENDED_B
Definition: uchar.h:1588
@ UBLOCK_GENERAL_PUNCTUATION
Definition: uchar.h:1257
@ UBLOCK_MONGOLIAN_SUPPLEMENT
Definition: uchar.h:1824
@ UBLOCK_MISCELLANEOUS_TECHNICAL
Definition: uchar.h:1284
@ UBLOCK_TAI_XUAN_JING_SYMBOLS
Definition: uchar.h:1507
@ UBLOCK_NABATAEAN
Definition: uchar.h:1758
@ UBLOCK_TAGBANWA
Definition: uchar.h:1458
@ UBLOCK_OL_ONAL
Definition: uchar.h:1978
@ UBLOCK_CUNEIFORM
Definition: uchar.h:1569
@ UBLOCK_CONTROL_PICTURES
Definition: uchar.h:1287
@ UBLOCK_GREEK
Unicode 3.2 renames this block to "Greek and Coptic".
Definition: uchar.h:1161
@ UBLOCK_HIGH_SURROGATES
Definition: uchar.h:1365
@ UBLOCK_COUNTING_ROD_NUMERALS
Definition: uchar.h:1573
@ UBLOCK_AEGEAN_NUMBERS
Definition: uchar.h:1497
@ UBLOCK_KAWI
Definition: uchar.h:1956
@ UBLOCK_BENGALI
Definition: uchar.h:1185
@ UBLOCK_LATIN_EXTENDED_E
Definition: uchar.h:1742
@ UBLOCK_NAG_MUNDARI
Definition: uchar.h:1958
@ UBLOCK_LINEAR_B_IDEOGRAMS
Definition: uchar.h:1495
@ UBLOCK_PAU_CIN_HAU
Definition: uchar.h:1770
@ UBLOCK_BUHID
Definition: uchar.h:1456
@ UBLOCK_GUNJALA_GONDI
Definition: uchar.h:1860
@ UBLOCK_RUMI_NUMERAL_SYMBOLS
Definition: uchar.h:1655
@ UBLOCK_HIGH_PRIVATE_USE_SURROGATES
Definition: uchar.h:1368
@ UBLOCK_MEETEI_MAYEK_EXTENSIONS
Definition: uchar.h:1703
@ UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_H
Definition: uchar.h:1948
@ UBLOCK_COMMON_INDIC_NUMBER_FORMS
Definition: uchar.h:1627
@ UBLOCK_ZANABAZAR_SQUARE
Definition: uchar.h:1849
@ UBLOCK_SUNDANESE
Definition: uchar.h:1578
@ UBLOCK_ARABIC_EXTENDED_C
Definition: uchar.h:1946
@ UBLOCK_CHESS_SYMBOLS
Definition: uchar.h:1854
@ UBLOCK_ENCLOSED_ALPHANUMERICS
Definition: uchar.h:1293
@ UBLOCK_COMBINING_HALF_MARKS
Definition: uchar.h:1404
@ UBLOCK_MANDAIC
Definition: uchar.h:1670
@ UBLOCK_OLD_UYGHUR
Definition: uchar.h:1931
@ UBLOCK_GLAGOLITIC_SUPPLEMENT
Definition: uchar.h:1818
@ UBLOCK_OSMANYA
Definition: uchar.h:1503
@ UBLOCK_DOGRA
Definition: uchar.h:1856
@ UBLOCK_IMPERIAL_ARAMAIC
Definition: uchar.h:1643
@ UBLOCK_BRAILLE_PATTERNS
Definition: uchar.h:1311
@ UBLOCK_OLD_HUNGARIAN
Definition: uchar.h:1803
@ UBLOCK_MATHEMATICAL_OPERATORS
Definition: uchar.h:1281
@ UBLOCK_KHOJKI
Definition: uchar.h:1738
@ UBLOCK_DIVES_AKURU
Definition: uchar.h:1904
@ UBLOCK_ORIYA
Definition: uchar.h:1194
@ UBLOCK_NO_BLOCK
New No_Block value in Unicode 4.
Definition: uchar.h:1134
@ UBLOCK_YI_RADICALS
Definition: uchar.h:1359
@ UBLOCK_BUGINESE
Definition: uchar.h:1520
@ UBLOCK_TANGUT_SUPPLEMENT
Definition: uchar.h:1912
@ UBLOCK_SMALL_FORM_VARIANTS
Definition: uchar.h:1410
@ UBLOCK_OLD_SOGDIAN
Definition: uchar.h:1872
@ UBLOCK_GEORGIAN_EXTENDED
Definition: uchar.h:1858
@ UBLOCK_TIFINAGH
Definition: uchar.h:1550
@ UBLOCK_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B
Definition: uchar.h:1466
@ UBLOCK_LATIN_EXTENDED_D
Definition: uchar.h:1563
@ UBLOCK_LATIN_EXTENDED_ADDITIONAL
Definition: uchar.h:1251
@ UBLOCK_MEETEI_MAYEK
Definition: uchar.h:1639
@ UBLOCK_EGYPTIAN_HIEROGLYPH_FORMAT_CONTROLS
Definition: uchar.h:1879
@ UBLOCK_MYANMAR
Definition: uchar.h:1221
@ UBLOCK_OL_CHIKI
Definition: uchar.h:1582
@ UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D
Definition: uchar.h:1692
@ UBLOCK_GURUNG_KHEMA
Definition: uchar.h:1972
@ UBLOCK_SHORTHAND_FORMAT_CONTROLS
Definition: uchar.h:1774
@ UBLOCK_COMBINING_MARKS_FOR_SYMBOLS
Unicode 3.2 renames this block to "Combining Diacritical Marks for Symbols".
Definition: uchar.h:1269
@ UBLOCK_MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS
Definition: uchar.h:1684
@ UBLOCK_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS
Definition: uchar.h:1236
@ UBLOCK_BOPOMOFO
Definition: uchar.h:1332
@ UBLOCK_KATAKANA_PHONETIC_EXTENSIONS
Definition: uchar.h:1470
@ UBLOCK_MARCHEN
Definition: uchar.h:1822
@ UBLOCK_MODI
Definition: uchar.h:1752
@ UBLOCK_YEZIDI
Definition: uchar.h:1914
@ UBLOCK_SUPPLEMENTAL_MATHEMATICAL_OPERATORS
Definition: uchar.h:1468
@ UBLOCK_CYPRO_MINOAN
Definition: uchar.h:1921
@ UBLOCK_MULTANI
Definition: uchar.h:1801
@ UBLOCK_ETHIOPIC_EXTENDED
Definition: uchar.h:1528
@ UBLOCK_AVESTAN
Definition: uchar.h:1647
@ UBLOCK_PRIVATE_USE
Same as UBLOCK_PRIVATE_USE_AREA.
Definition: uchar.h:1392
@ UBLOCK_GEORGIAN_SUPPLEMENT
Definition: uchar.h:1532
@ UBLOCK_COPTIC
Definition: uchar.h:1526
@ UBLOCK_HANGUL_COMPATIBILITY_JAMO
Definition: uchar.h:1335
@ UBLOCK_LOW_SURROGATES
Definition: uchar.h:1371
@ UBLOCK_SOYOMBO
Definition: uchar.h:1845
@ UBLOCK_ARABIC_SUPPLEMENT
Definition: uchar.h:1518
@ UBLOCK_HANGUL_SYLLABLES
Definition: uchar.h:1362
@ UBLOCK_MISCELLANEOUS_SYMBOLS_AND_ARROWS
Definition: uchar.h:1489
@ UBLOCK_CJK_COMPATIBILITY
Definition: uchar.h:1347
@ UBLOCK_CARIAN
Definition: uchar.h:1604
@ UBLOCK_HANIFI_ROHINGYA
Definition: uchar.h:1862
@ UBLOCK_TIBETAN
Definition: uchar.h:1218
@ UBLOCK_BASSA_VAH
Definition: uchar.h:1722
@ UBLOCK_OLD_TURKIC
Definition: uchar.h:1653
@ UBLOCK_CJK_RADICALS_SUPPLEMENT
Definition: uchar.h:1314
@ UBLOCK_VITHKUQI
Definition: uchar.h:1939
@ UBLOCK_ADLAM
Definition: uchar.h:1812
@ UBLOCK_MASARAM_GONDI
Definition: uchar.h:1841
@ UBLOCK_ARABIC_PRESENTATION_FORMS_B
Definition: uchar.h:1413
@ UBLOCK_RUNIC
Definition: uchar.h:1242
@ UBLOCK_ARABIC_PRESENTATION_FORMS_A
Definition: uchar.h:1401
@ UBLOCK_ENCLOSED_IDEOGRAPHIC_SUPPLEMENT
Definition: uchar.h:1663
@ UBLOCK_CHORASMIAN
Definition: uchar.h:1900
@ UBLOCK_BOPOMOFO_EXTENDED
Definition: uchar.h:1341
@ UBLOCK_IDEOGRAPHIC_SYMBOLS_AND_PUNCTUATION
Definition: uchar.h:1820
@ UBLOCK_LATIN_EXTENDED_F
Definition: uchar.h:1927
@ UBLOCK_KANGXI_RADICALS
Definition: uchar.h:1317
@ UBLOCK_SORA_SOMPENG
Definition: uchar.h:1713
@ UBLOCK_KANA_SUPPLEMENT
Definition: uchar.h:1680
@ UBLOCK_CHEROKEE
Definition: uchar.h:1233
@ UBLOCK_BRAHMI
Definition: uchar.h:1676
@ UBLOCK_SYLOTI_NAGRI
Definition: uchar.h:1548
@ UBLOCK_CYPRIOT_SYLLABARY
Definition: uchar.h:1505
@ UBLOCK_ETHIOPIC_SUPPLEMENT
Definition: uchar.h:1530
@ UBLOCK_KHAROSHTHI
Definition: uchar.h:1536
@ UBLOCK_OLD_ITALIC
Definition: uchar.h:1424
@ UBLOCK_OLD_SOUTH_ARABIAN
Definition: uchar.h:1645
@ UBLOCK_SUPPLEMENTARY_PRIVATE_USE_AREA_B
Definition: uchar.h:1476
@ UBLOCK_MALAYALAM
Definition: uchar.h:1206
@ UBLOCK_KHMER_SYMBOLS
Definition: uchar.h:1485
@ UBLOCK_JAVANESE
Definition: uchar.h:1633
@ UBLOCK_BAMUM_SUPPLEMENT
Definition: uchar.h:1678
@ UBLOCK_CYRILLIC_SUPPLEMENT
Definition: uchar.h:1445
@ UBLOCK_MYANMAR_EXTENDED_B
Definition: uchar.h:1756
@ UBLOCK_ANCIENT_GREEK_MUSICAL_NOTATION
Definition: uchar.h:1514
@ UBLOCK_BATAK
Definition: uchar.h:1672
@ UBLOCK_SYRIAC_SUPPLEMENT
Definition: uchar.h:1847
@ UBLOCK_PAHAWH_HMONG
Definition: uchar.h:1766
@ UBLOCK_ORNAMENTAL_DINGBATS
Definition: uchar.h:1764
@ UBLOCK_SINHALA
Definition: uchar.h:1209
@ UBLOCK_KIRAT_RAI
Definition: uchar.h:1974
@ UBLOCK_AHOM
Definition: uchar.h:1789
@ UBLOCK_NEW_TAI_LUE
Definition: uchar.h:1540
@ UBLOCK_SIDDHAM
Definition: uchar.h:1776
@ UBLOCK_OLD_NORTH_ARABIAN
Definition: uchar.h:1760
@ UBLOCK_YI_SYLLABLES
Definition: uchar.h:1356
@ UBLOCK_TELUGU
Definition: uchar.h:1200
@ UBLOCK_DEVANAGARI_EXTENDED
Definition: uchar.h:1629
@ UBLOCK_SHARADA
Definition: uchar.h:1711
@ UBLOCK_SUPPLEMENTARY_PRIVATE_USE_AREA_A
Definition: uchar.h:1474
@ UBLOCK_DESERET
Definition: uchar.h:1428
@ UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_I
Definition: uchar.h:1963
@ UBLOCK_ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS
Definition: uchar.h:1699
@ UBLOCK_SAURASHTRA
Definition: uchar.h:1590
@ UBLOCK_KANBUN
Definition: uchar.h:1338
@ UBLOCK_HIRAGANA
Definition: uchar.h:1326
@ UBLOCK_KANNADA
Definition: uchar.h:1203
@ UBLOCK_SUPPLEMENTAL_ARROWS_C
Definition: uchar.h:1780
@ UBLOCK_GEORGIAN
Definition: uchar.h:1224
@ UBLOCK_DEVANAGARI
Definition: uchar.h:1182
@ UBLOCK_LISU_SUPPLEMENT
Definition: uchar.h:1908
@ UBLOCK_EGYPTIAN_HIEROGLYPHS_EXTENDED_A
Definition: uchar.h:1968
@ UBLOCK_KATAKANA
Definition: uchar.h:1329
@ UBLOCK_TAI_VIET
Definition: uchar.h:1637
@ UBLOCK_MYANMAR_EXTENDED_C
Definition: uchar.h:1976
@ UBLOCK_LATIN_EXTENDED_B
Definition: uchar.h:1146
@ UBLOCK_THAANA
Definition: uchar.h:1179
@ UBLOCK_MODIFIER_TONE_LETTERS
Definition: uchar.h:1538
@ UBLOCK_KHUDAWADI
Definition: uchar.h:1740
@ UBLOCK_LINEAR_A
Definition: uchar.h:1744
@ UBLOCK_CJK_UNIFIED_IDEOGRAPHS
Definition: uchar.h:1353
@ UBLOCK_GRANTHA
Definition: uchar.h:1736
@ UBLOCK_ETHIOPIC
Definition: uchar.h:1230
@ UBLOCK_SYRIAC
Definition: uchar.h:1176
@ UBLOCK_GREEK_EXTENDED
Definition: uchar.h:1254
@ UBLOCK_CJK_COMPATIBILITY_FORMS
Definition: uchar.h:1407
@ UBLOCK_CJK_COMPATIBILITY_IDEOGRAPHS
Definition: uchar.h:1395
@ UBLOCK_MAYAN_NUMERALS
Definition: uchar.h:1868
@ UBLOCK_KAYAH_LI
Definition: uchar.h:1592
@ UBLOCK_VEDIC_EXTENSIONS
Definition: uchar.h:1621
@ UBLOCK_CYRILLIC_EXTENDED_D
Definition: uchar.h:1950
@ UBLOCK_PHAISTOS_DISC
Definition: uchar.h:1600
@ UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A
Definition: uchar.h:1350
@ UBLOCK_LATIN_1_SUPPLEMENT
Definition: uchar.h:1140
@ UBLOCK_PHOENICIAN
Definition: uchar.h:1567
@ UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_G
Definition: uchar.h:1902
@ UBLOCK_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A
Definition: uchar.h:1460
@ UBLOCK_CAUCASIAN_ALBANIAN
Definition: uchar.h:1724
@ UBLOCK_ALCHEMICAL_SYMBOLS
Definition: uchar.h:1690
@ UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_F
Definition: uchar.h:1837
@ UBLOCK_MYANMAR_EXTENDED_A
Definition: uchar.h:1635
@ UBLOCK_EARLY_DYNASTIC_CUNEIFORM
Definition: uchar.h:1797
@ UBLOCK_MENDE_KIKAKUI
Definition: uchar.h:1750
@ UBLOCK_VAI
Definition: uchar.h:1586
@ UBLOCK_PHONETIC_EXTENSIONS
Definition: uchar.h:1487
@ UBLOCK_PHAGS_PA
Definition: uchar.h:1565
@ UBLOCK_OLD_PERSIAN
Definition: uchar.h:1542
@ UBLOCK_KAITHI
Definition: uchar.h:1657
@ UBLOCK_GEOMETRIC_SHAPES
Definition: uchar.h:1302
@ UBLOCK_LATIN_EXTENDED_C
Definition: uchar.h:1561
@ UBLOCK_TODHRI
Definition: uchar.h:1984
@ UBLOCK_SUPPLEMENTAL_ARROWS_B
Definition: uchar.h:1464
@ UBLOCK_MAHAJANI
Definition: uchar.h:1746
@ UBLOCK_OSAGE
Definition: uchar.h:1828
@ UBLOCK_INVALID_CODE
Definition: uchar.h:1999
@ UBLOCK_TAI_LE
Definition: uchar.h:1483
@ UBLOCK_MAKASAR
Definition: uchar.h:1866
@ UBLOCK_GOTHIC
Definition: uchar.h:1426
@ UBLOCK_ETHIOPIC_EXTENDED_A
Definition: uchar.h:1674
@ UBLOCK_GEOMETRIC_SHAPES_EXTENDED
Definition: uchar.h:1734
@ UBLOCK_MANICHAEAN
Definition: uchar.h:1748
@ UBLOCK_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED_A
Definition: uchar.h:1937
@ UBLOCK_TOTO
Definition: uchar.h:1935
@ UBLOCK_ALPHABETIC_PRESENTATION_FORMS
Definition: uchar.h:1398
@ UBLOCK_MUSICAL_SYMBOLS
Definition: uchar.h:1432
@ UBLOCK_LETTERLIKE_SYMBOLS
Definition: uchar.h:1272
@ UBLOCK_ARABIC
Definition: uchar.h:1173
@ UBLOCK_ZNAMENNY_MUSICAL_NOTATION
Definition: uchar.h:1941
@ UBLOCK_NUSHU
Definition: uchar.h:1843
@ UBLOCK_CYRILLIC_SUPPLEMENTARY
Unicode 4.0.1 renames the "Cyrillic Supplementary" block to "Cyrillic Supplement".
Definition: uchar.h:1450
@ UBLOCK_HANGUL_JAMO_EXTENDED_A
Definition: uchar.h:1631
@ UBLOCK_BYZANTINE_MUSICAL_SYMBOLS
Definition: uchar.h:1430
@ UBLOCK_ANCIENT_SYMBOLS
Definition: uchar.h:1598
@ UBLOCK_UGARITIC
Definition: uchar.h:1499
@ UBLOCK_SMALL_KANA_EXTENSION
Definition: uchar.h:1889
@ UBLOCK_GUJARATI
Definition: uchar.h:1191
@ UBLOCK_CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT
Definition: uchar.h:1438
@ UBLOCK_COMBINING_DIACRITICAL_MARKS
Definition: uchar.h:1155
@ UBLOCK_PSALTER_PAHLAVI
Definition: uchar.h:1772
@ UBLOCK_THAI
Definition: uchar.h:1212
@ UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_E
Definition: uchar.h:1795
@ UBLOCK_KANA_EXTENDED_A
Definition: uchar.h:1839
@ UBLOCK_VARIATION_SELECTORS
Definition: uchar.h:1472
@ UBLOCK_BAMUM
Definition: uchar.h:1625
@ UBLOCK_WANCHO
Definition: uchar.h:1895
@ UBLOCK_SHAVIAN
Definition: uchar.h:1501
U_CAPI UBool u_isblank(UChar32 c)
Determines whether the specified code point is a "blank" or "horizontal space", a character that visi...
U_CAPI UChar32 u_charFromName(UCharNameChoice nameChoice, const char *name, UErrorCode *pErrorCode)
Find a Unicode character by its name and return its code point value.
UCharNameChoice
Selector constants for u_charName().
Definition: uchar.h:2047
@ U_CHAR_NAME_CHOICE_COUNT
One more than the highest normal UCharNameChoice value.
Definition: uchar.h:2067
@ U_UNICODE_10_CHAR_NAME
The Unicode_1_Name property value which is of little practical value.
Definition: uchar.h:2056
@ U_CHAR_NAME_ALIAS
Corrected name from NameAliases.txt.
Definition: uchar.h:2061
@ U_EXTENDED_CHAR_NAME
Standard or synthetic character name.
Definition: uchar.h:2059
@ U_UNICODE_CHAR_NAME
Unicode character name (Name property).
Definition: uchar.h:2049
U_CAPI UBool u_isUWhiteSpace(UChar32 c)
Check if a code point has the White_Space Unicode property.
UIdentifierType
Identifier Type constants.
Definition: uchar.h:2819
@ U_ID_TYPE_DEPRECATED
Definition: uchar.h:2829
@ U_ID_TYPE_LIMITED_USE
Definition: uchar.h:2845
@ U_ID_TYPE_DEFAULT_IGNORABLE
Definition: uchar.h:2831
@ U_ID_TYPE_RECOMMENDED
Definition: uchar.h:2849
@ U_ID_TYPE_NOT_CHARACTER
Definition: uchar.h:2827
@ U_ID_TYPE_UNCOMMON_USE
Definition: uchar.h:2843
@ U_ID_TYPE_NOT_NFKC
Definition: uchar.h:2833
@ U_ID_TYPE_NOT_XID
Definition: uchar.h:2835
@ U_ID_TYPE_TECHNICAL
Definition: uchar.h:2841
@ U_ID_TYPE_OBSOLETE
Definition: uchar.h:2839
@ U_ID_TYPE_INCLUSION
Definition: uchar.h:2847
@ U_ID_TYPE_EXCLUSION
Definition: uchar.h:2837
U_CAPI int32_t u_charName(UChar32 code, UCharNameChoice nameChoice, char *buffer, int32_t bufferLength, UErrorCode *pErrorCode)
Retrieve the name of a Unicode character.
U_CAPI int32_t u_getIntPropertyValue(UChar32 c, UProperty which)
Get the property value for an enumerated or integer Unicode property for a code point.
U_CAPI bool u_hasIDType(UChar32 c, UIdentifierType type)
Does the set of Identifier_Type values code point c contain the given type?
U_CAPI UBlockCode ublock_getCode(UChar32 c)
Returns the Unicode allocation block that contains the character.
U_CAPI UBool u_hasBinaryProperty(UChar32 c, UProperty which)
Check a binary Unicode property for a code point.
U_CAPI double u_getNumericValue(UChar32 c)
Get the numeric value for a Unicode code point as defined in the Unicode Character Database.
U_CAPI UChar32 u_toupper(UChar32 c)
The given character is mapped to its uppercase equivalent according to UnicodeData....
U_CAPI UProperty u_getPropertyEnum(const char *alias)
Return the UProperty enum for a given property name, as specified in the Unicode database file Proper...
UJoiningType
Joining Type constants.
Definition: uchar.h:2144
@ U_JT_COUNT
One more than the highest normal UJoiningType value.
Definition: uchar.h:2164
U_CAPI UBool u_isbase(UChar32 c)
Non-standard: Determines whether the specified code point is a base character.
UIdentifierStatus
Identifier Status constants.
Definition: uchar.h:2799
@ U_ID_STATUS_ALLOWED
Definition: uchar.h:2809
@ U_ID_STATUS_RESTRICTED
Definition: uchar.h:2807
U_CAPI UBool u_isdigit(UChar32 c)
Determines whether the specified code point is a digit character according to Java.
U_CAPI UBool u_isMirrored(UChar32 c)
Determines whether the code point has the Bidi_Mirrored property.
U_CAPI void u_charAge(UChar32 c, UVersionInfo versionArray)
Get the "age" of the code point.
U_CAPI UBool u_isspace(UChar32 c)
Determines if the specified character is a space character or not.
U_CAPI int32_t u_getIntPropertyMaxValue(UProperty which)
Get the maximum value for an enumerated/integer/binary Unicode property.
UIndicPositionalCategory
Indic Positional Category constants.
Definition: uchar.h:2614
@ U_INPC_BOTTOM
Definition: uchar.h:2624
@ U_INPC_VISUAL_ORDER_LEFT
Definition: uchar.h:2650
@ U_INPC_TOP_AND_BOTTOM_AND_RIGHT
Definition: uchar.h:2642
@ U_INPC_TOP_AND_BOTTOM_AND_LEFT
Definition: uchar.h:2652
@ U_INPC_TOP_AND_RIGHT
Definition: uchar.h:2648
@ U_INPC_BOTTOM_AND_LEFT
Definition: uchar.h:2626
@ U_INPC_LEFT_AND_RIGHT
Definition: uchar.h:2632
@ U_INPC_RIGHT
Definition: uchar.h:2636
@ U_INPC_TOP_AND_LEFT_AND_RIGHT
Definition: uchar.h:2646
@ U_INPC_LEFT
Definition: uchar.h:2630
@ U_INPC_NA
Definition: uchar.h:2622
@ U_INPC_TOP
Definition: uchar.h:2638
@ U_INPC_TOP_AND_LEFT
Definition: uchar.h:2644
@ U_INPC_OVERSTRUCK
Definition: uchar.h:2634
@ U_INPC_TOP_AND_BOTTOM
Definition: uchar.h:2640
@ U_INPC_BOTTOM_AND_RIGHT
Definition: uchar.h:2628
U_CAPI void u_getUnicodeVersion(UVersionInfo versionArray)
Gets the Unicode version information.
UCharDirection
This specifies the language directional property of a character set.
Definition: uchar.h:1027
@ U_SEGMENT_SEPARATOR
S.
Definition: uchar.h:1052
@ U_EUROPEAN_NUMBER_TERMINATOR
ET.
Definition: uchar.h:1044
@ U_BOUNDARY_NEUTRAL
BN.
Definition: uchar.h:1072
@ U_RIGHT_TO_LEFT_ARABIC
AL.
Definition: uchar.h:1062
@ U_RIGHT_TO_LEFT
R.
Definition: uchar.h:1038
@ U_POP_DIRECTIONAL_ISOLATE
PDI.
Definition: uchar.h:1080
@ U_COMMON_NUMBER_SEPARATOR
CS.
Definition: uchar.h:1048
@ U_LEFT_TO_RIGHT
L.
Definition: uchar.h:1036
@ U_DIR_NON_SPACING_MARK
NSM.
Definition: uchar.h:1070
@ U_FIRST_STRONG_ISOLATE
FSI.
Definition: uchar.h:1074
@ U_ARABIC_NUMBER
AN.
Definition: uchar.h:1046
@ U_POP_DIRECTIONAL_FORMAT
PDF.
Definition: uchar.h:1068
@ U_OTHER_NEUTRAL
ON.
Definition: uchar.h:1056
@ U_CHAR_DIRECTION_COUNT
One more than the highest UCharDirection value.
Definition: uchar.h:1088
@ U_WHITE_SPACE_NEUTRAL
WS.
Definition: uchar.h:1054
@ U_RIGHT_TO_LEFT_OVERRIDE
RLO.
Definition: uchar.h:1066
@ U_RIGHT_TO_LEFT_EMBEDDING
RLE.
Definition: uchar.h:1064
@ U_EUROPEAN_NUMBER_SEPARATOR
ES.
Definition: uchar.h:1042
@ U_LEFT_TO_RIGHT_ISOLATE
LRI.
Definition: uchar.h:1076
@ U_LEFT_TO_RIGHT_OVERRIDE
LRO.
Definition: uchar.h:1060
@ U_EUROPEAN_NUMBER
EN.
Definition: uchar.h:1040
@ U_BLOCK_SEPARATOR
B.
Definition: uchar.h:1050
@ U_LEFT_TO_RIGHT_EMBEDDING
LRE.
Definition: uchar.h:1058
@ U_RIGHT_TO_LEFT_ISOLATE
RLI.
Definition: uchar.h:1078
UPropertyNameChoice
Selector constants for u_getPropertyName() and u_getPropertyValueName().
Definition: uchar.h:2084
@ U_PROPERTY_NAME_CHOICE_COUNT
One more than the highest normal UPropertyNameChoice value.
Definition: uchar.h:2092
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:3844
U_CAPI UBool u_isUUppercase(UChar32 c)
Check if a code point has the Uppercase Unicode property.
U_CAPI int8_t u_charType(UChar32 c)
Returns the general category value for the code point.
U_CAPI UChar32 u_forDigit(int32_t digit, int8_t radix)
Determines the character representation for a specific digit in the specified radix.
U_CAPI UBool u_isprint(UChar32 c)
Determines whether the specified code point is a printable character.
ULineBreak
Line Break constants.
Definition: uchar.h:2463
@ U_LB_E_MODIFIER
Definition: uchar.h:2526
@ U_LB_VIRAMA
Definition: uchar.h:2538
@ U_LB_WORD_JOINER
Definition: uchar.h:2504
@ U_LB_AKSARA
Definition: uchar.h:2530
@ U_LB_H3
Definition: uchar.h:2508
@ U_LB_H2
Definition: uchar.h:2506
@ U_LB_CONDITIONAL_JAPANESE_STARTER
Definition: uchar.h:2518
@ U_LB_NEXT_LINE
Definition: uchar.h:2502
@ U_LB_INSEPARABLE
Renamed from the misspelled "inseperable" in Unicode 4.0.1/ICU 3.0.
Definition: uchar.h:2486
@ U_LB_E_BASE
Definition: uchar.h:2524
@ U_LB_JV
Definition: uchar.h:2514
@ U_LB_VIRAMA_FINAL
Definition: uchar.h:2536
@ U_LB_AKSARA_PREBASE
Definition: uchar.h:2532
@ U_LB_JL
Definition: uchar.h:2510
@ U_LB_CLOSE_PARENTHESIS
Definition: uchar.h:2516
@ U_LB_ZWJ
Definition: uchar.h:2528
@ U_LB_COUNT
One more than the highest normal ULineBreak value.
Definition: uchar.h:2546
@ U_LB_REGIONAL_INDICATOR
Definition: uchar.h:2522
@ U_LB_AKSARA_START
Definition: uchar.h:2534
@ U_LB_HEBREW_LETTER
Definition: uchar.h:2520
@ U_LB_JT
Definition: uchar.h:2512
int32_t u_getISOComment(UChar32 c, char *dest, int32_t destCapacity, UErrorCode *pErrorCode)
Returns an empty string.
U_CAPI const UCPMap * u_getIntPropertyMap(UProperty property, UErrorCode *pErrorCode)
Returns an immutable UCPMap for an enumerated/catalog/int-valued property.
U_CAPI UBool u_islower(UChar32 c)
Determines whether the specified code point has the general category "Ll" (lowercase letter).
U_CAPI UBool u_isISOControl(UChar32 c)
Determines whether the specified code point is an ISO control code.
UCharCategory
Data for enumerated Unicode general category types.
Definition: uchar.h:831
@ U_FORMAT_CHAR
Cf.
Definition: uchar.h:874
@ U_SPACE_SEPARATOR
Zs.
Definition: uchar.h:866
@ U_MODIFIER_SYMBOL
Sk.
Definition: uchar.h:894
@ U_GENERAL_OTHER_TYPES
Cn "Other, Not Assigned (no characters in [UnicodeData.txt] have this property)" (same as U_UNASSIGNE...
Definition: uchar.h:842
@ U_TITLECASE_LETTER
Lt.
Definition: uchar.h:848
@ U_PRIVATE_USE_CHAR
Co.
Definition: uchar.h:876
@ U_OTHER_SYMBOL
So.
Definition: uchar.h:896
@ U_UPPERCASE_LETTER
Lu.
Definition: uchar.h:844
@ U_MODIFIER_LETTER
Lm.
Definition: uchar.h:850
@ U_PARAGRAPH_SEPARATOR
Zp.
Definition: uchar.h:870
@ U_OTHER_PUNCTUATION
Po.
Definition: uchar.h:888
@ U_ENCLOSING_MARK
Me.
Definition: uchar.h:856
@ U_INITIAL_PUNCTUATION
Pi.
Definition: uchar.h:898
@ U_UNASSIGNED
Non-category for unassigned and non-character code points.
Definition: uchar.h:840
@ U_CURRENCY_SYMBOL
Sc.
Definition: uchar.h:892
@ U_COMBINING_SPACING_MARK
Mc.
Definition: uchar.h:858
@ U_CONTROL_CHAR
Cc.
Definition: uchar.h:872
@ U_OTHER_LETTER
Lo.
Definition: uchar.h:852
@ U_NON_SPACING_MARK
Mn.
Definition: uchar.h:854
@ U_START_PUNCTUATION
Ps.
Definition: uchar.h:882
@ U_CONNECTOR_PUNCTUATION
Pc.
Definition: uchar.h:886
@ U_END_PUNCTUATION
Pe.
Definition: uchar.h:884
@ U_OTHER_NUMBER
No.
Definition: uchar.h:864
@ U_LINE_SEPARATOR
Zl.
Definition: uchar.h:868
@ U_DASH_PUNCTUATION
Pd.
Definition: uchar.h:880
@ U_MATH_SYMBOL
Sm.
Definition: uchar.h:890
@ U_CHAR_CATEGORY_COUNT
One higher than the last enum UCharCategory constant.
Definition: uchar.h:908
@ U_DECIMAL_DIGIT_NUMBER
Nd.
Definition: uchar.h:860
@ U_LOWERCASE_LETTER
Ll.
Definition: uchar.h:846
@ U_FINAL_PUNCTUATION
Pf.
Definition: uchar.h:900
@ U_LETTER_NUMBER
Nl.
Definition: uchar.h:862
@ U_SURROGATE
Cs.
Definition: uchar.h:878
U_CAPI UBool u_isWhitespace(UChar32 c)
Determines if the specified code point is a whitespace character according to Java/ICU.
UVerticalOrientation
Vertical Orientation constants.
Definition: uchar.h:2775
@ U_VO_UPRIGHT
Definition: uchar.h:2789
@ U_VO_TRANSFORMED_UPRIGHT
Definition: uchar.h:2787
@ U_VO_ROTATED
Definition: uchar.h:2783
@ U_VO_TRANSFORMED_ROTATED
Definition: uchar.h:2785
U_CAPI UBool u_isdefined(UChar32 c)
Determines whether the specified code point is "defined", which usually means that it is assigned a c...
UJoiningGroup
Joining Group constants.
Definition: uchar.h:2174
@ U_JG_FE
Definition: uchar.h:2233
@ U_JG_BURUSHASKI_YEH_BARREE
Definition: uchar.h:2236
@ U_JG_MANICHAEAN_KAPH
Definition: uchar.h:2249
@ U_JG_THIN_YEH
Definition: uchar.h:2287
@ U_JG_MANICHAEAN_SAMEKH
Definition: uchar.h:2258
@ U_JG_MANICHAEAN_ZAYIN
Definition: uchar.h:2266
@ U_JG_MALAYALAM_TTA
Definition: uchar.h:2282
@ U_JG_MANICHAEAN_AYIN
Definition: uchar.h:2241
@ U_JG_MANICHAEAN_ALEPH
Definition: uchar.h:2240
@ U_JG_FARSI_YEH
Definition: uchar.h:2237
@ U_JG_MANICHAEAN_DALETH
Definition: uchar.h:2243
@ U_JG_MANICHAEAN_FIVE
Definition: uchar.h:2245
@ U_JG_MANICHAEAN_SADHE
Definition: uchar.h:2257
@ U_JG_MANICHAEAN_TAW
Definition: uchar.h:2259
@ U_JG_MALAYALAM_LLLA
Definition: uchar.h:2275
@ U_JG_MALAYALAM_NNNA
Definition: uchar.h:2278
@ U_JG_MANICHAEAN_ONE
Definition: uchar.h:2253
@ U_JG_MALAYALAM_LLA
Definition: uchar.h:2274
@ U_JG_VERTICAL_TAIL
Definition: uchar.h:2288
@ U_JG_AFRICAN_FEH
Definition: uchar.h:2268
@ U_JG_HANIFI_ROHINGYA_PA
Definition: uchar.h:2285
@ U_JG_MALAYALAM_BHA
Definition: uchar.h:2272
@ U_JG_MANICHAEAN_TWENTY
Definition: uchar.h:2263
@ U_JG_MANICHAEAN_THAMEDH
Definition: uchar.h:2262
@ U_JG_MANICHAEAN_PE
Definition: uchar.h:2254
@ U_JG_ZHAIN
Definition: uchar.h:2235
@ U_JG_MANICHAEAN_TETH
Definition: uchar.h:2261
@ U_JG_MANICHAEAN_BETH
Definition: uchar.h:2242
@ U_JG_COUNT
One more than the highest normal UJoiningGroup value.
Definition: uchar.h:2299
@ U_JG_MANICHAEAN_TEN
Definition: uchar.h:2260
@ U_JG_MANICHAEAN_GIMEL
Definition: uchar.h:2246
@ U_JG_TEH_MARBUTA_GOAL
Definition: uchar.h:2195
@ U_JG_AFRICAN_NOON
Definition: uchar.h:2269
@ U_JG_MALAYALAM_NGA
Definition: uchar.h:2276
@ U_JG_MANICHAEAN_MEM
Definition: uchar.h:2251
@ U_JG_KHAPH
Definition: uchar.h:2234
@ U_JG_MALAYALAM_RA
Definition: uchar.h:2280
@ U_JG_MALAYALAM_NNA
Definition: uchar.h:2277
@ U_JG_MALAYALAM_JA
Definition: uchar.h:2273
@ U_JG_MALAYALAM_NYA
Definition: uchar.h:2279
@ U_JG_MALAYALAM_SSA
Definition: uchar.h:2281
@ U_JG_MANICHAEAN_WAW
Definition: uchar.h:2264
@ U_JG_AFRICAN_QAF
Definition: uchar.h:2270
@ U_JG_MANICHAEAN_DHAMEDH
Definition: uchar.h:2244
@ U_JG_STRAIGHT_WAW
Definition: uchar.h:2267
@ U_JG_ROHINGYA_YEH
Definition: uchar.h:2239
@ U_JG_MANICHAEAN_HETH
Definition: uchar.h:2247
@ U_JG_MANICHAEAN_LAMEDH
Definition: uchar.h:2250
@ U_JG_MANICHAEAN_HUNDRED
Definition: uchar.h:2248
@ U_JG_KASHMIRI_YEH
Definition: uchar.h:2290
@ U_JG_HANIFI_ROHINGYA_KINNA_YA
Definition: uchar.h:2284
@ U_JG_MANICHAEAN_NUN
Definition: uchar.h:2252
@ U_JG_NYA
Definition: uchar.h:2238
@ U_JG_MANICHAEAN_YODH
Definition: uchar.h:2265
@ U_JG_MANICHAEAN_RESH
Definition: uchar.h:2256
@ U_JG_MANICHAEAN_QOPH
Definition: uchar.h:2255
UHangulSyllableType
Hangul Syllable Type constants.
Definition: uchar.h:2584
@ U_HST_COUNT
One more than the highest normal UHangulSyllableType value.
Definition: uchar.h:2604
U_CAPI UChar32 u_getBidiPairedBracket(UChar32 c)
Maps the specified character to its paired bracket character.
U_CAPI UBool u_isIDStart(UChar32 c)
Determines if the specified character is permissible as the first character in an identifier accordin...
U_CAPI const char * u_getPropertyName(UProperty property, UPropertyNameChoice nameChoice)
Return the Unicode name for a given property, as given in the Unicode database file PropertyAliases....
USentenceBreak
Sentence Break constants.
Definition: uchar.h:2424
@ U_SB_COUNT
One more than the highest normal USentenceBreak value.
Definition: uchar.h:2453
U_CAPI 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...
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:3664
UEastAsianWidth
East Asian Width constants.
Definition: uchar.h:2012
@ U_EA_COUNT
One more than the highest normal UEastAsianWidth value.
Definition: uchar.h:2032
U_CAPI UChar32 u_totitle(UChar32 c)
The given character is mapped to its titlecase equivalent according to UnicodeData....
U_CAPI UBool u_isULowercase(UChar32 c)
Check if a code point has the Lowercase Unicode property.
U_CAPI UBool u_isJavaIDPart(UChar32 c)
Determines if the specified character is permissible in a Java identifier.
U_CAPI UCharDirection u_charDirection(UChar32 c)
Returns the bidirectional category value for the code point, which is used in the Unicode bidirection...
U_CAPI UBool u_istitle(UChar32 c)
Determines whether the specified code point is a titlecase letter.
U_CAPI UBool u_iscntrl(UChar32 c)
Determines whether the specified code point is a control character (as defined by this function).
U_CAPI 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...
UGraphemeClusterBreak
Grapheme Cluster Break constants.
Definition: uchar.h:2309
@ U_GCB_SPACING_MARK
Definition: uchar.h:2327
@ U_GCB_E_BASE
Definition: uchar.h:2333
@ U_GCB_REGIONAL_INDICATOR
Definition: uchar.h:2331
@ U_GCB_GLUE_AFTER_ZWJ
Definition: uchar.h:2339
@ U_GCB_ZWJ
Definition: uchar.h:2341
@ U_GCB_PREPEND
Definition: uchar.h:2329
@ U_GCB_COUNT
One more than the highest normal UGraphemeClusterBreak value.
Definition: uchar.h:2350
@ U_GCB_E_MODIFIER
Definition: uchar.h:2337
@ U_GCB_E_BASE_GAZ
Definition: uchar.h:2335
U_CAPI const USet * u_getBinaryPropertySet(UProperty property, UErrorCode *pErrorCode)
Returns a frozen USet for a binary property.
U_CAPI uint8_t u_getCombiningClass(UChar32 c)
Returns the combining class of the code point as specified in UnicodeData.txt.
U_CAPI void u_enumCharTypes(UCharEnumTypeRange *enumRange, const void *context)
Enumerate efficiently all code points with their Unicode general categories.
U_CAPI UBool u_isxdigit(UChar32 c)
Determines whether the specified code point is a hexadecimal digit.
U_CAPI 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_CAPI UChar32 u_charMirror(UChar32 c)
Maps the specified character to a "mirror-image" character.
U_CAPI UBool u_isJavaSpaceChar(UChar32 c)
Determine if the specified code point is a space character according to Java.
U_CAPI UBool u_isIDPart(UChar32 c)
Determines if the specified character is permissible as a non-initial character of an identifier acco...
U_CAPI UChar32 u_foldCase(UChar32 c, uint32_t options)
The given character is mapped to its case folding equivalent according to UnicodeData....
U_CAPI UBool u_isgraph(UChar32 c)
Determines whether the specified code point is a "graphic" character (printable, excluding spaces).
U_CAPI int32_t u_charDigitValue(UChar32 c)
Returns the decimal digit value of a decimal digit character.
U_CAPI UBool u_isIDIgnorable(UChar32 c)
Determines if the specified character should be regarded as an ignorable character in an identifier,...
U_CAPI int32_t u_getIDTypes(UChar32 c, UIdentifierType *types, int32_t capacity, UErrorCode *pErrorCode)
Writes code point c's Identifier_Type as a list of UIdentifierType values to the output types array a...
U_CAPI UBool u_ispunct(UChar32 c)
Determines whether the specified code point is a punctuation character.
UNumericType
Numeric Type constants.
Definition: uchar.h:2556
@ U_NT_COUNT
One more than the highest normal UNumericType value.
Definition: uchar.h:2574
UIndicConjunctBreak
Indic Conjunct Break constants.
Definition: uchar.h:2751
@ U_INCB_LINKER
Definition: uchar.h:2765
@ U_INCB_EXTEND
Definition: uchar.h:2763
@ U_INCB_NONE
Definition: uchar.h:2759
@ U_INCB_CONSONANT
Definition: uchar.h:2761
UDecompositionType
Decomposition Type constants.
Definition: uchar.h:2102
@ U_DT_COUNT
One more than the highest normal UDecompositionType value.
Definition: uchar.h:2134
U_CAPI UBool u_stringHasBinaryProperty(const UChar *s, int32_t length, UProperty which)
Returns true if the property is true for the string.
U_CAPI int32_t u_digit(UChar32 ch, int8_t radix)
Returns the decimal digit value of the code point in the specified radix.
UProperty
Selection constants for Unicode properties.
Definition: uchar.h:196
@ UCHAR_GRAPHEME_CLUSTER_BREAK
Enumerated property Grapheme_Cluster_Break (new in Unicode 4.1).
Definition: uchar.h:640
@ UCHAR_BIDI_PAIRED_BRACKET
String property Bidi_Paired_Bracket (new in Unicode 6.3).
Definition: uchar.h:782
@ UCHAR_ALPHABETIC
Binary property Alphabetic.
Definition: uchar.h:210
@ UCHAR_POSIX_GRAPH
Binary property graph (a C/POSIX character class).
Definition: uchar.h:408
@ UCHAR_RGI_EMOJI_TAG_SEQUENCE
Binary property of strings RGI_Emoji_Tag_Sequence.
Definition: uchar.h:521
@ UCHAR_RGI_EMOJI
Binary property of strings RGI_Emoji.
Definition: uchar.h:535
@ UCHAR_BLOCK
Enumerated property Block.
Definition: uchar.h:578
@ UCHAR_INVALID_CODE
Represents a nonexistent or invalid property or property value.
Definition: uchar.h:822
@ UCHAR_SEGMENT_STARTER
Binary Property Segment_Starter.
Definition: uchar.h:383
@ UCHAR_PREPENDED_CONCATENATION_MARK
Binary property Prepended_Concatenation_Mark.
Definition: uchar.h:479
@ UCHAR_REGIONAL_INDICATOR
Binary property Regional_Indicator.
Definition: uchar.h:474
@ UCHAR_OTHER_PROPERTY_START
First constant for Unicode properties with unusual value types.
Definition: uchar.h:798
@ UCHAR_S_TERM
Binary property STerm (new in Unicode 4.0.1).
Definition: uchar.h:338
@ UCHAR_WHITE_SPACE
Binary property White_Space.
Definition: uchar.h:322
@ UCHAR_CANONICAL_COMBINING_CLASS
Enumerated property Canonical_Combining_Class.
Definition: uchar.h:581
@ UCHAR_SOFT_DOTTED
Binary property Soft_Dotted (new in Unicode 3.2).
Definition: uchar.h:307
@ UCHAR_GRAPHEME_LINK
Binary property Grapheme_Link (new in Unicode 3.2).
Definition: uchar.h:254
@ UCHAR_PATTERN_SYNTAX
Binary property Pattern_Syntax (new in Unicode 4.1).
Definition: uchar.h:388
@ UCHAR_GRAPHEME_EXTEND
Binary property Grapheme_Extend (new in Unicode 3.2).
Definition: uchar.h:251
@ UCHAR_CASED
Binary property Cased.
Definition: uchar.h:420
@ UCHAR_XID_START
Binary property XID_Start.
Definition: uchar.h:329
@ UCHAR_RGI_EMOJI_ZWJ_SEQUENCE
Binary property of strings RGI_Emoji_ZWJ_Sequence.
Definition: uchar.h:528
@ UCHAR_VERTICAL_ORIENTATION
Enumerated property Vertical_Orientation.
Definition: uchar.h:677
@ UCHAR_NFKC_INERT
Binary property NFKC_Inert.
Definition: uchar.h:372
@ UCHAR_INT_LIMIT
One more than the last constant for enumerated/integer Unicode properties.
Definition: uchar.h:698
@ UCHAR_RGI_EMOJI_FLAG_SEQUENCE
Binary property of strings RGI_Emoji_Flag_Sequence.
Definition: uchar.h:514
@ UCHAR_OTHER_PROPERTY_LIMIT
One more than the last constant for Unicode properties with unusual value types.
Definition: uchar.h:818
@ UCHAR_PATTERN_WHITE_SPACE
Binary property Pattern_White_Space (new in Unicode 4.1).
Definition: uchar.h:393
@ UCHAR_VARIATION_SELECTOR
Binary property Variation_Selector (new in Unicode 4.0.1).
Definition: uchar.h:344
@ UCHAR_NUMERIC_VALUE
Double property Numeric_Value.
Definition: uchar.h:722
@ UCHAR_DOUBLE_START
First constant for double Unicode properties.
Definition: uchar.h:724
@ UCHAR_HEX_DIGIT
Binary property Hex_Digit.
Definition: uchar.h:257
@ UCHAR_SIMPLE_TITLECASE_MAPPING
String property Simple_Titlecase_Mapping.
Definition: uchar.h:763
@ UCHAR_TRAIL_CANONICAL_COMBINING_CLASS
Enumerated property Trail_Canonical_Combining_Class.
Definition: uchar.h:635
@ UCHAR_DIACRITIC
Binary property Diacritic.
Definition: uchar.h:235
@ UCHAR_XID_CONTINUE
Binary property XID_Continue.
Definition: uchar.h:326
@ UCHAR_NFKC_QUICK_CHECK
Enumerated property NFKC_Quick_Check.
Definition: uchar.h:621
@ UCHAR_INDIC_CONJUNCT_BREAK
Enumerated property Indic_Conjunct_Break.
Definition: uchar.h:691
@ UCHAR_HYPHEN
Binary property Hyphen.
Definition: uchar.h:260
@ UCHAR_RADICAL
Binary property Radical (new in Unicode 3.2).
Definition: uchar.h:302
@ UCHAR_BIDI_PAIRED_BRACKET_TYPE
Enumerated property Bidi_Paired_Bracket_Type (new in Unicode 6.3).
Definition: uchar.h:655
@ UCHAR_ID_COMPAT_MATH_CONTINUE
Binary property ID_Compat_Math_Continue.
Definition: uchar.h:554
@ UCHAR_DASH
Binary property Dash.
Definition: uchar.h:225
@ UCHAR_ASCII_HEX_DIGIT
Binary property ASCII_Hex_Digit.
Definition: uchar.h:214
@ UCHAR_ID_CONTINUE
Binary property ID_Continue.
Definition: uchar.h:265
@ UCHAR_NFKD_INERT
Binary property NFKD_Inert.
Definition: uchar.h:358
@ UCHAR_BIDI_MIRRORING_GLYPH
String property Bidi_Mirroring_Glyph.
Definition: uchar.h:740
@ UCHAR_LEAD_CANONICAL_COMBINING_CLASS
Enumerated property Lead_Canonical_Combining_Class.
Definition: uchar.h:628
@ UCHAR_UNICODE_1_NAME
String property Unicode_1_Name.
Definition: uchar.h:775
@ UCHAR_BIDI_MIRRORED
Binary property Bidi_Mirrored.
Definition: uchar.h:223
@ UCHAR_CASE_IGNORABLE
Binary property Case_Ignorable.
Definition: uchar.h:422
@ UCHAR_EAST_ASIAN_WIDTH
Enumerated property East_Asian_Width.
Definition: uchar.h:588
@ UCHAR_STRING_LIMIT
One more than the last constant for string Unicode properties.
Definition: uchar.h:788
@ UCHAR_IDENTIFIER_TYPE
Miscellaneous property Identifier_Type.
Definition: uchar.h:812
@ UCHAR_EMOJI_PRESENTATION
Binary property Emoji_Presentation.
Definition: uchar.h:448
@ UCHAR_GRAPHEME_BASE
Binary property Grapheme_Base (new in Unicode 3.2).
Definition: uchar.h:247
@ UCHAR_NFKD_QUICK_CHECK
Enumerated property NFKD_Quick_Check.
Definition: uchar.h:615
@ UCHAR_NAME
String property Name.
Definition: uchar.h:754
@ UCHAR_UPPERCASE
Binary property Uppercase.
Definition: uchar.h:318
@ UCHAR_CASE_FOLDING
String property Case_Folding.
Definition: uchar.h:743
@ UCHAR_INDIC_SYLLABIC_CATEGORY
Enumerated property Indic_Syllabic_Category.
Definition: uchar.h:670
@ UCHAR_MATH
Binary property Math.
Definition: uchar.h:292
@ UCHAR_NUMERIC_TYPE
Enumerated property Numeric_Type.
Definition: uchar.h:603
@ UCHAR_RGI_EMOJI_MODIFIER_SEQUENCE
Binary property of strings RGI_Emoji_Modifier_Sequence.
Definition: uchar.h:507
@ UCHAR_ISO_COMMENT
Deprecated string property ISO_Comment.
Definition: uchar.h:747
@ UCHAR_SCRIPT
Enumerated property Script.
Definition: uchar.h:606
@ UCHAR_CHANGES_WHEN_TITLECASED
Binary property Changes_When_Titlecased.
Definition: uchar.h:428
@ UCHAR_EXTENDED_PICTOGRAPHIC
Binary property Extended_Pictographic.
Definition: uchar.h:486
@ UCHAR_DEPRECATED
Binary property Deprecated (new in Unicode 3.2).
Definition: uchar.h:232
@ UCHAR_MODIFIER_COMBINING_MARK
Binary property Modifier_Combining_Mark.
Definition: uchar.h:561
@ UCHAR_CHANGES_WHEN_UPPERCASED
Binary property Changes_When_Uppercased.
Definition: uchar.h:426
@ UCHAR_CHANGES_WHEN_CASEFOLDED
Binary property Changes_When_Casefolded.
Definition: uchar.h:430
@ UCHAR_INDIC_POSITIONAL_CATEGORY
Enumerated property Indic_Positional_Category.
Definition: uchar.h:663
@ UCHAR_DEFAULT_IGNORABLE_CODE_POINT
Binary property Default_Ignorable_Code_Point (new in Unicode 3.2).
Definition: uchar.h:229
@ UCHAR_GENERAL_CATEGORY
Enumerated property General_Category.
Definition: uchar.h:591
@ UCHAR_INT_START
First constant for enumerated/integer Unicode properties.
Definition: uchar.h:575
@ UCHAR_EMOJI_MODIFIER
Binary property Emoji_Modifier.
Definition: uchar.h:455
@ UCHAR_NFD_QUICK_CHECK
Enumerated property NFD_Quick_Check.
Definition: uchar.h:612
@ UCHAR_IDS_BINARY_OPERATOR
Binary property IDS_Binary_Operator (new in Unicode 3.2).
Definition: uchar.h:276
@ UCHAR_BINARY_START
First constant for binary Unicode properties.
Definition: uchar.h:212
@ UCHAR_IDS_UNARY_OPERATOR
Binary property IDS_Unary_Operator.
Definition: uchar.h:542
@ UCHAR_TERMINAL_PUNCTUATION
Binary property Terminal_Punctuation.
Definition: uchar.h:311
@ UCHAR_GENERAL_CATEGORY_MASK
Bitmask property General_Category_Mask.
Definition: uchar.h:709
@ UCHAR_MASK_START
First constant for bit-mask Unicode properties.
Definition: uchar.h:711
@ UCHAR_DECOMPOSITION_TYPE
Enumerated property Decomposition_Type.
Definition: uchar.h:584
@ UCHAR_TITLECASE_MAPPING
String property Titlecase_Mapping.
Definition: uchar.h:769
@ UCHAR_HANGUL_SYLLABLE_TYPE
Enumerated property Hangul_Syllable_Type, new in Unicode 4.
Definition: uchar.h:609
@ UCHAR_LINE_BREAK
Enumerated property Line_Break.
Definition: uchar.h:600
@ UCHAR_SIMPLE_UPPERCASE_MAPPING
String property Simple_Uppercase_Mapping.
Definition: uchar.h:766
@ UCHAR_POSIX_ALNUM
Binary property alnum (a C/POSIX character class).
Definition: uchar.h:398
@ UCHAR_JOINING_TYPE
Enumerated property Joining_Type.
Definition: uchar.h:597
@ UCHAR_EMOJI_KEYCAP_SEQUENCE
Binary property of strings Emoji_Keycap_Sequence.
Definition: uchar.h:500
@ UCHAR_QUOTATION_MARK
Binary property Quotation_Mark.
Definition: uchar.h:298
@ UCHAR_NFC_INERT
Binary property NFC_Inert.
Definition: uchar.h:365
@ UCHAR_LOWERCASE_MAPPING
String property Lowercase_Mapping.
Definition: uchar.h:751
@ UCHAR_SIMPLE_CASE_FOLDING
String property Simple_Case_Folding.
Definition: uchar.h:757
@ UCHAR_JOIN_CONTROL
Binary property Join_Control.
Definition: uchar.h:283
@ UCHAR_NONCHARACTER_CODE_POINT
Binary property Noncharacter_Code_Point.
Definition: uchar.h:296
@ UCHAR_BIDI_CONTROL
Binary property Bidi_Control.
Definition: uchar.h:218
@ UCHAR_CHANGES_WHEN_LOWERCASED
Binary property Changes_When_Lowercased.
Definition: uchar.h:424
@ UCHAR_BINARY_LIMIT
One more than the last constant for binary Unicode properties.
Definition: uchar.h:568
@ UCHAR_IDS_TRINARY_OPERATOR
Binary property IDS_Trinary_Operator (new in Unicode 3.2).
Definition: uchar.h:280
@ UCHAR_ID_START
Binary property ID_Start.
Definition: uchar.h:269
@ UCHAR_AGE
String property Age.
Definition: uchar.h:735
@ UCHAR_WORD_BREAK
Enumerated property Word_Break (new in Unicode 4.1).
Definition: uchar.h:650
@ UCHAR_DOUBLE_LIMIT
One more than the last constant for double Unicode properties.
Definition: uchar.h:730
@ UCHAR_EMOJI_MODIFIER_BASE
Binary property Emoji_Modifier_Base.
Definition: uchar.h:462
@ UCHAR_EMOJI_COMPONENT
Binary property Emoji_Component.
Definition: uchar.h:469
@ UCHAR_POSIX_BLANK
Binary property blank (a C/POSIX character class).
Definition: uchar.h:403
@ UCHAR_SIMPLE_LOWERCASE_MAPPING
String property Simple_Lowercase_Mapping.
Definition: uchar.h:760
@ UCHAR_NFD_INERT
Binary property NFD_Inert.
Definition: uchar.h:351
@ UCHAR_POSIX_PRINT
Binary property print (a C/POSIX character class).
Definition: uchar.h:413
@ UCHAR_SENTENCE_BREAK
Enumerated property Sentence_Break (new in Unicode 4.1).
Definition: uchar.h:645
@ UCHAR_IDEOGRAPHIC
Binary property Ideographic.
Definition: uchar.h:272
@ UCHAR_ID_COMPAT_MATH_START
Binary property ID_Compat_Math_Start.
Definition: uchar.h:548
@ UCHAR_UNIFIED_IDEOGRAPH
Binary property Unified_Ideograph (new in Unicode 3.2).
Definition: uchar.h:315
@ UCHAR_CHANGES_WHEN_NFKC_CASEFOLDED
Binary property Changes_When_NFKC_Casefolded.
Definition: uchar.h:434
@ UCHAR_NFC_QUICK_CHECK
Enumerated property NFC_Quick_Check.
Definition: uchar.h:618
@ UCHAR_CASE_SENSITIVE
Binary property Case_Sensitive.
Definition: uchar.h:333
@ UCHAR_UPPERCASE_MAPPING
String property Uppercase_Mapping.
Definition: uchar.h:779
@ UCHAR_BIDI_CLASS
Enumerated property Bidi_Class.
Definition: uchar.h:573
@ UCHAR_BASIC_EMOJI
Binary property of strings Basic_Emoji.
Definition: uchar.h:493
@ UCHAR_MASK_LIMIT
One more than the last constant for bit-mask Unicode properties.
Definition: uchar.h:717
@ UCHAR_IDENTIFIER_STATUS
Enumerated property Identifier_Status.
Definition: uchar.h:684
@ UCHAR_JOINING_GROUP
Enumerated property Joining_Group.
Definition: uchar.h:594
@ UCHAR_LOGICAL_ORDER_EXCEPTION
Binary property Logical_Order_Exception (new in Unicode 3.2).
Definition: uchar.h:287
@ UCHAR_EXTENDER
Binary property Extender.
Definition: uchar.h:239
@ UCHAR_STRING_START
First constant for string Unicode properties.
Definition: uchar.h:737
@ UCHAR_SCRIPT_EXTENSIONS
Miscellaneous property Script_Extensions (new in Unicode 6.0).
Definition: uchar.h:796
@ UCHAR_FULL_COMPOSITION_EXCLUSION
Binary property Full_Composition_Exclusion.
Definition: uchar.h:243
@ UCHAR_EMOJI
Binary property Emoji.
Definition: uchar.h:441
@ UCHAR_LOWERCASE
Binary property Lowercase.
Definition: uchar.h:290
@ UCHAR_CHANGES_WHEN_CASEMAPPED
Binary property Changes_When_Casemapped.
Definition: uchar.h:432
@ UCHAR_POSIX_XDIGIT
Binary property xdigit (a C/POSIX character class).
Definition: uchar.h:418
U_CAPI int32_t u_getIntPropertyMinValue(UProperty which)
Get the minimum value for an enumerated/integer/binary Unicode property.
U_CAPI UBool u_isalnum(UChar32 c)
Determines whether the specified code point is an alphanumeric character (letter or digit) according ...
U_CAPI UBool u_isalpha(UChar32 c)
Determines whether the specified code point is a letter character.
U_CAPI UChar32 u_tolower(UChar32 c)
The given character is mapped to its lowercase equivalent according to UnicodeData....
U_CAPI 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.
UIndicSyllabicCategory
Indic Syllabic Category constants.
Definition: uchar.h:2661
@ U_INSC_VISARGA
Definition: uchar.h:2733
@ U_INSC_BINDU
Definition: uchar.h:2673
@ U_INSC_INVISIBLE_STACKER
Definition: uchar.h:2707
@ U_INSC_SYLLABLE_MODIFIER
Definition: uchar.h:2725
@ U_INSC_VIRAMA
Definition: uchar.h:2731
@ U_INSC_MODIFYING_LETTER
Definition: uchar.h:2711
@ U_INSC_REORDERING_KILLER
Definition: uchar.h:2741
@ U_INSC_REGISTER_SHIFTER
Definition: uchar.h:2723
@ U_INSC_NUKTA
Definition: uchar.h:2715
@ U_INSC_NON_JOINER
Definition: uchar.h:2713
@ U_INSC_TONE_MARK
Definition: uchar.h:2729
@ U_INSC_GEMINATION_MARK
Definition: uchar.h:2705
@ U_INSC_CONSONANT_KILLER
Definition: uchar.h:2689
@ U_INSC_CONSONANT_HEAD_LETTER
Definition: uchar.h:2685
@ U_INSC_BRAHMI_JOINING_NUMBER
Definition: uchar.h:2675
@ U_INSC_CONSONANT_DEAD
Definition: uchar.h:2681
@ U_INSC_OTHER
Definition: uchar.h:2669
@ U_INSC_NUMBER
Definition: uchar.h:2717
@ U_INSC_TONE_LETTER
Definition: uchar.h:2727
@ U_INSC_JOINER
Definition: uchar.h:2709
@ U_INSC_CANTILLATION_MARK
Definition: uchar.h:2677
@ U_INSC_PURE_KILLER
Definition: uchar.h:2721
@ U_INSC_VOWEL_INDEPENDENT
Definition: uchar.h:2739
@ U_INSC_CONSONANT_MEDIAL
Definition: uchar.h:2691
@ U_INSC_CONSONANT_WITH_STACKER
Definition: uchar.h:2703
@ U_INSC_CONSONANT_PREFIXED
Definition: uchar.h:2697
@ U_INSC_CONSONANT
Definition: uchar.h:2679
@ U_INSC_CONSONANT_SUCCEEDING_REPHA
Definition: uchar.h:2701
@ U_INSC_CONSONANT_PLACEHOLDER
Definition: uchar.h:2693
@ U_INSC_VOWEL
Definition: uchar.h:2735
@ U_INSC_NUMBER_JOINER
Definition: uchar.h:2719
@ U_INSC_CONSONANT_PRECEDING_REPHA
Definition: uchar.h:2695
@ U_INSC_CONSONANT_SUBJOINED
Definition: uchar.h:2699
@ U_INSC_VOWEL_DEPENDENT
Definition: uchar.h:2737
@ U_INSC_CONSONANT_INITIAL_POSTFIXED
Definition: uchar.h:2687
@ U_INSC_AVAGRAHA
Definition: uchar.h:2671
@ U_INSC_CONSONANT_FINAL
Definition: uchar.h:2683
UWordBreakValues
Word Break constants.
Definition: uchar.h:2361
@ U_WB_E_MODIFIER
Definition: uchar.h:2399
@ U_WB_E_BASE_GAZ
Definition: uchar.h:2397
@ U_WB_REGIONAL_INDICATOR
Definition: uchar.h:2387
@ U_WB_DOUBLE_QUOTE
Definition: uchar.h:2393
@ U_WB_LF
Definition: uchar.h:2381
@ U_WB_HEBREW_LETTER
Definition: uchar.h:2389
@ U_WB_WSEGSPACE
Definition: uchar.h:2405
@ U_WB_COUNT
One more than the highest normal UWordBreakValues value.
Definition: uchar.h:2414
@ U_WB_GLUE_AFTER_ZWJ
Definition: uchar.h:2401
@ U_WB_NEWLINE
Definition: uchar.h:2385
@ U_WB_SINGLE_QUOTE
Definition: uchar.h:2391
@ U_WB_CR
Definition: uchar.h:2377
@ U_WB_E_BASE
Definition: uchar.h:2395
@ U_WB_ZWJ
Definition: uchar.h:2403
@ U_WB_EXTEND
Definition: uchar.h:2379
@ U_WB_MIDNUMLET
Definition: uchar.h:2383
U_CAPI UBool u_isJavaIDStart(UChar32 c)
Determines if the specified character is permissible as the first character in a Java identifier.
UBidiPairedBracketType
Bidi Paired Bracket Type constants.
Definition: uchar.h:1098
@ U_BPT_CLOSE
Close paired bracket.
Definition: uchar.h:1110
@ U_BPT_COUNT
One more than the highest normal UBidiPairedBracketType value.
Definition: uchar.h:1118
@ U_BPT_NONE
Not a paired bracket.
Definition: uchar.h:1106
@ U_BPT_OPEN
Open paired bracket.
Definition: uchar.h:1108
C API: This file defines an abstract map from Unicode code points to integer values.
struct UCPMap UCPMap
Abstract map from Unicode code points (U+0000..U+10FFFF) to integer values.
Definition: ucpmap.h:30
int32_t UChar32
Define UChar32 as a type for single Unicode code points.
Definition: umachine.h:427
#define U_DEPRECATED
This is used to declare a function as a deprecated public ICU C API
Definition: umachine.h:116
#define U_CDECL_END
This is used to end a declaration of a library private ICU C API.
Definition: umachine.h:86
int8_t UBool
The ICU boolean type, a signed-byte integer.
Definition: umachine.h:247
#define U_CAPI
This is used to declare a function as a public ICU C API.
Definition: umachine.h:110
char16_t UChar
The base type for UTF-16 code units and pointers.
Definition: umachine.h:378
#define U_CDECL_BEGIN
This is used to begin a declaration of a library private ICU C API.
Definition: umachine.h:85
struct USet USet
USet is the C API type corresponding to C++ class UnicodeSet.
Definition: uset.h:54
Basic definitions for ICU, for both C and C++ APIs.
UErrorCode
Standard ICU4C error code type, a substitute for exceptions.
Definition: utypes.h:430
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:59