ICU 70.1 70.1
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 "unicode/utypes.h"
30#include "unicode/ucpmap.h"
31
32#if !defined(USET_DEFINED) && !defined(U_IN_DOXYGEN)
33
34#define USET_DEFINED
35
44typedef struct USet USet;
45
46#endif
47
48
50
51/*==========================================================================*/
52/* Unicode version number */
53/*==========================================================================*/
63#define U_UNICODE_VERSION "14.0"
64
157#define UCHAR_MIN_VALUE 0
158
167#define UCHAR_MAX_VALUE 0x10ffff
168
173#define U_MASK(x) ((uint32_t)1<<(x))
174
195typedef enum UProperty {
196 /*
197 * Note: UProperty constants are parsed by preparseucd.py.
198 * It matches lines like
199 * UCHAR_<Unicode property name>=<integer>,
200 */
201
202 /* Note: Place UCHAR_ALPHABETIC before UCHAR_BINARY_START so that
203 debuggers display UCHAR_ALPHABETIC as the symbolic name for 0,
204 rather than UCHAR_BINARY_START. Likewise for other *_START
205 identifiers. */
206
486#ifndef U_HIDE_DRAFT_API
536#endif // U_HIDE_DRAFT_API
537#ifndef U_HIDE_DEPRECATED_API
543#endif // U_HIDE_DEPRECATED_API
544
652#ifndef U_HIDE_DEPRECATED_API
658#endif // U_HIDE_DEPRECATED_API
659
671#ifndef U_HIDE_DEPRECATED_API
677#endif // U_HIDE_DEPRECATED_API
678
684#ifndef U_HIDE_DEPRECATED_API
690#endif // U_HIDE_DEPRECATED_API
691
694 UCHAR_AGE=0x4000,
703#ifndef U_HIDE_DEPRECATED_API
707#endif /* U_HIDE_DEPRECATED_API */
729#ifndef U_HIDE_DEPRECATED_API
735#endif /* U_HIDE_DEPRECATED_API */
742#ifndef U_HIDE_DEPRECATED_API
748#endif // U_HIDE_DEPRECATED_API
749
758#ifndef U_HIDE_DEPRECATED_API
764#endif // U_HIDE_DEPRECATED_API
765
769
775typedef enum UCharCategory
776{
777 /*
778 * Note: UCharCategory constants and their API comments are parsed by preparseucd.py.
779 * It matches pairs of lines like
780 * / ** <Unicode 2-letter General_Category value> comment... * /
781 * U_<[A-Z_]+> = <integer>,
782 */
783
855
870#define U_GC_CN_MASK U_MASK(U_GENERAL_OTHER_TYPES)
871
873#define U_GC_LU_MASK U_MASK(U_UPPERCASE_LETTER)
875#define U_GC_LL_MASK U_MASK(U_LOWERCASE_LETTER)
877#define U_GC_LT_MASK U_MASK(U_TITLECASE_LETTER)
879#define U_GC_LM_MASK U_MASK(U_MODIFIER_LETTER)
881#define U_GC_LO_MASK U_MASK(U_OTHER_LETTER)
882
884#define U_GC_MN_MASK U_MASK(U_NON_SPACING_MARK)
886#define U_GC_ME_MASK U_MASK(U_ENCLOSING_MARK)
888#define U_GC_MC_MASK U_MASK(U_COMBINING_SPACING_MARK)
889
891#define U_GC_ND_MASK U_MASK(U_DECIMAL_DIGIT_NUMBER)
893#define U_GC_NL_MASK U_MASK(U_LETTER_NUMBER)
895#define U_GC_NO_MASK U_MASK(U_OTHER_NUMBER)
896
898#define U_GC_ZS_MASK U_MASK(U_SPACE_SEPARATOR)
900#define U_GC_ZL_MASK U_MASK(U_LINE_SEPARATOR)
902#define U_GC_ZP_MASK U_MASK(U_PARAGRAPH_SEPARATOR)
903
905#define U_GC_CC_MASK U_MASK(U_CONTROL_CHAR)
907#define U_GC_CF_MASK U_MASK(U_FORMAT_CHAR)
909#define U_GC_CO_MASK U_MASK(U_PRIVATE_USE_CHAR)
911#define U_GC_CS_MASK U_MASK(U_SURROGATE)
912
914#define U_GC_PD_MASK U_MASK(U_DASH_PUNCTUATION)
916#define U_GC_PS_MASK U_MASK(U_START_PUNCTUATION)
918#define U_GC_PE_MASK U_MASK(U_END_PUNCTUATION)
920#define U_GC_PC_MASK U_MASK(U_CONNECTOR_PUNCTUATION)
922#define U_GC_PO_MASK U_MASK(U_OTHER_PUNCTUATION)
923
925#define U_GC_SM_MASK U_MASK(U_MATH_SYMBOL)
927#define U_GC_SC_MASK U_MASK(U_CURRENCY_SYMBOL)
929#define U_GC_SK_MASK U_MASK(U_MODIFIER_SYMBOL)
931#define U_GC_SO_MASK U_MASK(U_OTHER_SYMBOL)
932
934#define U_GC_PI_MASK U_MASK(U_INITIAL_PUNCTUATION)
936#define U_GC_PF_MASK U_MASK(U_FINAL_PUNCTUATION)
937
938
940#define U_GC_L_MASK \
941 (U_GC_LU_MASK|U_GC_LL_MASK|U_GC_LT_MASK|U_GC_LM_MASK|U_GC_LO_MASK)
942
944#define U_GC_LC_MASK \
945 (U_GC_LU_MASK|U_GC_LL_MASK|U_GC_LT_MASK)
946
948#define U_GC_M_MASK (U_GC_MN_MASK|U_GC_ME_MASK|U_GC_MC_MASK)
949
951#define U_GC_N_MASK (U_GC_ND_MASK|U_GC_NL_MASK|U_GC_NO_MASK)
952
954#define U_GC_Z_MASK (U_GC_ZS_MASK|U_GC_ZL_MASK|U_GC_ZP_MASK)
955
957#define U_GC_C_MASK \
958 (U_GC_CN_MASK|U_GC_CC_MASK|U_GC_CF_MASK|U_GC_CO_MASK|U_GC_CS_MASK)
959
961#define U_GC_P_MASK \
962 (U_GC_PD_MASK|U_GC_PS_MASK|U_GC_PE_MASK|U_GC_PC_MASK|U_GC_PO_MASK| \
963 U_GC_PI_MASK|U_GC_PF_MASK)
964
966#define U_GC_S_MASK (U_GC_SM_MASK|U_GC_SC_MASK|U_GC_SK_MASK|U_GC_SO_MASK)
967
972typedef enum UCharDirection {
973 /*
974 * Note: UCharDirection constants and their API comments are parsed by preparseucd.py.
975 * It matches pairs of lines like
976 * / ** <Unicode 1..3-letter Bidi_Class value> comment... * /
977 * U_<[A-Z_]+> = <integer>,
978 */
979
1026#ifndef U_HIDE_DEPRECATED_API
1034#endif // U_HIDE_DEPRECATED_API
1036
1044 /*
1045 * Note: UBidiPairedBracketType constants are parsed by preparseucd.py.
1046 * It matches lines like
1047 * U_BPT_<Unicode Bidi_Paired_Bracket_Type value name>
1048 */
1049
1056#ifndef U_HIDE_DEPRECATED_API
1063 U_BPT_COUNT /* 3 */
1064#endif // U_HIDE_DEPRECATED_API
1066
1072 /*
1073 * Note: UBlockCode constants are parsed by preparseucd.py.
1074 * It matches lines like
1075 * UBLOCK_<Unicode Block value name> = <integer>,
1076 */
1077
1079 UBLOCK_NO_BLOCK = 0, /*[none]*/ /* Special range indicating No_Block */
1080
1082 UBLOCK_BASIC_LATIN = 1, /*[0000]*/
1083
1086
1089
1092
1095
1098
1101
1106 UBLOCK_GREEK =8, /*[0370]*/
1107
1109 UBLOCK_CYRILLIC =9, /*[0400]*/
1110
1112 UBLOCK_ARMENIAN =10, /*[0530]*/
1113
1115 UBLOCK_HEBREW =11, /*[0590]*/
1116
1118 UBLOCK_ARABIC =12, /*[0600]*/
1119
1121 UBLOCK_SYRIAC =13, /*[0700]*/
1122
1124 UBLOCK_THAANA =14, /*[0780]*/
1125
1127 UBLOCK_DEVANAGARI =15, /*[0900]*/
1128
1130 UBLOCK_BENGALI =16, /*[0980]*/
1131
1133 UBLOCK_GURMUKHI =17, /*[0A00]*/
1134
1136 UBLOCK_GUJARATI =18, /*[0A80]*/
1137
1139 UBLOCK_ORIYA =19, /*[0B00]*/
1140
1142 UBLOCK_TAMIL =20, /*[0B80]*/
1143
1145 UBLOCK_TELUGU =21, /*[0C00]*/
1146
1148 UBLOCK_KANNADA =22, /*[0C80]*/
1149
1151 UBLOCK_MALAYALAM =23, /*[0D00]*/
1152
1154 UBLOCK_SINHALA =24, /*[0D80]*/
1155
1157 UBLOCK_THAI =25, /*[0E00]*/
1158
1160 UBLOCK_LAO =26, /*[0E80]*/
1161
1163 UBLOCK_TIBETAN =27, /*[0F00]*/
1164
1166 UBLOCK_MYANMAR =28, /*[1000]*/
1167
1169 UBLOCK_GEORGIAN =29, /*[10A0]*/
1170
1172 UBLOCK_HANGUL_JAMO =30, /*[1100]*/
1173
1175 UBLOCK_ETHIOPIC =31, /*[1200]*/
1176
1178 UBLOCK_CHEROKEE =32, /*[13A0]*/
1179
1182
1184 UBLOCK_OGHAM =34, /*[1680]*/
1185
1187 UBLOCK_RUNIC =35, /*[16A0]*/
1188
1190 UBLOCK_KHMER =36, /*[1780]*/
1191
1193 UBLOCK_MONGOLIAN =37, /*[1800]*/
1194
1197
1200
1203
1206
1209
1215
1218
1220 UBLOCK_NUMBER_FORMS =45, /*[2150]*/
1221
1223 UBLOCK_ARROWS =46, /*[2190]*/
1224
1227
1230
1233
1236
1239
1241 UBLOCK_BOX_DRAWING =52, /*[2500]*/
1242
1245
1248
1251
1253 UBLOCK_DINGBATS =56, /*[2700]*/
1254
1257
1260
1263
1266
1269
1271 UBLOCK_HIRAGANA =62, /*[3040]*/
1272
1274 UBLOCK_KATAKANA =63, /*[30A0]*/
1275
1277 UBLOCK_BOPOMOFO =64, /*[3100]*/
1278
1281
1283 UBLOCK_KANBUN =66, /*[3190]*/
1284
1287
1290
1293
1296
1299
1301 UBLOCK_YI_SYLLABLES =72, /*[A000]*/
1302
1304 UBLOCK_YI_RADICALS =73, /*[A490]*/
1305
1308
1311
1314
1317
1338
1341
1344
1347
1350
1353
1356
1359
1361 UBLOCK_SPECIALS =86, /*[FFF0]*/
1362
1365
1366 /* New blocks in Unicode 3.1 */
1367
1369 UBLOCK_OLD_ITALIC = 88, /*[10300]*/
1371 UBLOCK_GOTHIC = 89, /*[10330]*/
1373 UBLOCK_DESERET = 90, /*[10400]*/
1377 UBLOCK_MUSICAL_SYMBOLS = 92, /*[1D100]*/
1385 UBLOCK_TAGS = 96, /*[E0000]*/
1386
1387 /* New blocks in Unicode 3.2 */
1388
1397 UBLOCK_TAGALOG = 98, /*[1700]*/
1399 UBLOCK_HANUNOO = 99, /*[1720]*/
1401 UBLOCK_BUHID = 100, /*[1740]*/
1403 UBLOCK_TAGBANWA = 101, /*[1760]*/
1422
1423 /* New blocks in Unicode 4 */
1424
1426 UBLOCK_LIMBU = 111, /*[1900]*/
1428 UBLOCK_TAI_LE = 112, /*[1950]*/
1430 UBLOCK_KHMER_SYMBOLS = 113, /*[19E0]*/
1438 UBLOCK_LINEAR_B_SYLLABARY = 117, /*[10000]*/
1440 UBLOCK_LINEAR_B_IDEOGRAMS = 118, /*[10080]*/
1442 UBLOCK_AEGEAN_NUMBERS = 119, /*[10100]*/
1444 UBLOCK_UGARITIC = 120, /*[10380]*/
1446 UBLOCK_SHAVIAN = 121, /*[10450]*/
1448 UBLOCK_OSMANYA = 122, /*[10480]*/
1450 UBLOCK_CYPRIOT_SYLLABARY = 123, /*[10800]*/
1455
1456 /* New blocks in Unicode 4.1 */
1457
1465 UBLOCK_BUGINESE = 129, /*[1A00]*/
1467 UBLOCK_CJK_STROKES = 130, /*[31C0]*/
1471 UBLOCK_COPTIC = 132, /*[2C80]*/
1479 UBLOCK_GLAGOLITIC = 136, /*[2C00]*/
1481 UBLOCK_KHAROSHTHI = 137, /*[10A00]*/
1485 UBLOCK_NEW_TAI_LUE = 139, /*[1980]*/
1487 UBLOCK_OLD_PERSIAN = 140, /*[103A0]*/
1493 UBLOCK_SYLOTI_NAGRI = 143, /*[A800]*/
1495 UBLOCK_TIFINAGH = 144, /*[2D30]*/
1497 UBLOCK_VERTICAL_FORMS = 145, /*[FE10]*/
1498
1499 /* New blocks in Unicode 5.0 */
1500
1502 UBLOCK_NKO = 146, /*[07C0]*/
1504 UBLOCK_BALINESE = 147, /*[1B00]*/
1506 UBLOCK_LATIN_EXTENDED_C = 148, /*[2C60]*/
1508 UBLOCK_LATIN_EXTENDED_D = 149, /*[A720]*/
1510 UBLOCK_PHAGS_PA = 150, /*[A840]*/
1512 UBLOCK_PHOENICIAN = 151, /*[10900]*/
1514 UBLOCK_CUNEIFORM = 152, /*[12000]*/
1519
1520 /* New blocks in Unicode 5.1 */
1521
1523 UBLOCK_SUNDANESE = 155, /*[1B80]*/
1525 UBLOCK_LEPCHA = 156, /*[1C00]*/
1527 UBLOCK_OL_CHIKI = 157, /*[1C50]*/
1531 UBLOCK_VAI = 159, /*[A500]*/
1535 UBLOCK_SAURASHTRA = 161, /*[A880]*/
1537 UBLOCK_KAYAH_LI = 162, /*[A900]*/
1539 UBLOCK_REJANG = 163, /*[A930]*/
1541 UBLOCK_CHAM = 164, /*[AA00]*/
1543 UBLOCK_ANCIENT_SYMBOLS = 165, /*[10190]*/
1545 UBLOCK_PHAISTOS_DISC = 166, /*[101D0]*/
1547 UBLOCK_LYCIAN = 167, /*[10280]*/
1549 UBLOCK_CARIAN = 168, /*[102A0]*/
1551 UBLOCK_LYDIAN = 169, /*[10920]*/
1553 UBLOCK_MAHJONG_TILES = 170, /*[1F000]*/
1555 UBLOCK_DOMINO_TILES = 171, /*[1F030]*/
1556
1557 /* New blocks in Unicode 5.2 */
1558
1560 UBLOCK_SAMARITAN = 172, /*[0800]*/
1564 UBLOCK_TAI_THAM = 174, /*[1A20]*/
1566 UBLOCK_VEDIC_EXTENSIONS = 175, /*[1CD0]*/
1568 UBLOCK_LISU = 176, /*[A4D0]*/
1570 UBLOCK_BAMUM = 177, /*[A6A0]*/
1578 UBLOCK_JAVANESE = 181, /*[A980]*/
1582 UBLOCK_TAI_VIET = 183, /*[AA80]*/
1584 UBLOCK_MEETEI_MAYEK = 184, /*[ABC0]*/
1588 UBLOCK_IMPERIAL_ARAMAIC = 186, /*[10840]*/
1590 UBLOCK_OLD_SOUTH_ARABIAN = 187, /*[10A60]*/
1592 UBLOCK_AVESTAN = 188, /*[10B00]*/
1598 UBLOCK_OLD_TURKIC = 191, /*[10C00]*/
1602 UBLOCK_KAITHI = 193, /*[11080]*/
1611
1612 /* New blocks in Unicode 6.0 */
1613
1615 UBLOCK_MANDAIC = 198, /*[0840]*/
1617 UBLOCK_BATAK = 199, /*[1BC0]*/
1621 UBLOCK_BRAHMI = 201, /*[11000]*/
1623 UBLOCK_BAMUM_SUPPLEMENT = 202, /*[16800]*/
1625 UBLOCK_KANA_SUPPLEMENT = 203, /*[1B000]*/
1627 UBLOCK_PLAYING_CARDS = 204, /*[1F0A0]*/
1631 UBLOCK_EMOTICONS = 206, /*[1F600]*/
1635 UBLOCK_ALCHEMICAL_SYMBOLS = 208, /*[1F700]*/
1638
1639 /* New blocks in Unicode 6.1 */
1640
1646 UBLOCK_CHAKMA = 212, /*[11100]*/
1650 UBLOCK_MEROITIC_CURSIVE = 214, /*[109A0]*/
1654 UBLOCK_MIAO = 216, /*[16F00]*/
1656 UBLOCK_SHARADA = 217, /*[11180]*/
1658 UBLOCK_SORA_SOMPENG = 218, /*[110D0]*/
1662 UBLOCK_TAKRI = 220, /*[11680]*/
1663
1664 /* New blocks in Unicode 7.0 */
1665
1667 UBLOCK_BASSA_VAH = 221, /*[16AD0]*/
1669 UBLOCK_CAUCASIAN_ALBANIAN = 222, /*[10530]*/
1675 UBLOCK_DUPLOYAN = 225, /*[1BC00]*/
1677 UBLOCK_ELBASAN = 226, /*[10500]*/
1681 UBLOCK_GRANTHA = 228, /*[11300]*/
1683 UBLOCK_KHOJKI = 229, /*[11200]*/
1685 UBLOCK_KHUDAWADI = 230, /*[112B0]*/
1687 UBLOCK_LATIN_EXTENDED_E = 231, /*[AB30]*/
1689 UBLOCK_LINEAR_A = 232, /*[10600]*/
1691 UBLOCK_MAHAJANI = 233, /*[11150]*/
1693 UBLOCK_MANICHAEAN = 234, /*[10AC0]*/
1695 UBLOCK_MENDE_KIKAKUI = 235, /*[1E800]*/
1697 UBLOCK_MODI = 236, /*[11600]*/
1699 UBLOCK_MRO = 237, /*[16A40]*/
1703 UBLOCK_NABATAEAN = 239, /*[10880]*/
1705 UBLOCK_OLD_NORTH_ARABIAN = 240, /*[10A80]*/
1707 UBLOCK_OLD_PERMIC = 241, /*[10350]*/
1711 UBLOCK_PAHAWH_HMONG = 243, /*[16B00]*/
1713 UBLOCK_PALMYRENE = 244, /*[10860]*/
1715 UBLOCK_PAU_CIN_HAU = 245, /*[11AC0]*/
1717 UBLOCK_PSALTER_PAHLAVI = 246, /*[10B80]*/
1721 UBLOCK_SIDDHAM = 248, /*[11580]*/
1727 UBLOCK_TIRHUTA = 251, /*[11480]*/
1729 UBLOCK_WARANG_CITI = 252, /*[118A0]*/
1730
1731 /* New blocks in Unicode 8.0 */
1732
1734 UBLOCK_AHOM = 253, /*[11700]*/
1744 UBLOCK_HATRAN = 258, /*[108E0]*/
1746 UBLOCK_MULTANI = 259, /*[11280]*/
1748 UBLOCK_OLD_HUNGARIAN = 260, /*[10C80]*/
1752 UBLOCK_SUTTON_SIGNWRITING = 262, /*[1D800]*/
1753
1754 /* New blocks in Unicode 9.0 */
1755
1757 UBLOCK_ADLAM = 263, /*[1E900]*/
1759 UBLOCK_BHAIKSUKI = 264, /*[11C00]*/
1767 UBLOCK_MARCHEN = 268, /*[11C70]*/
1771 UBLOCK_NEWA = 270, /*[11400]*/
1773 UBLOCK_OSAGE = 271, /*[104B0]*/
1775 UBLOCK_TANGUT = 272, /*[17000]*/
1777 UBLOCK_TANGUT_COMPONENTS = 273, /*[18800]*/
1778
1779 // New blocks in Unicode 10.0
1780
1784 UBLOCK_KANA_EXTENDED_A = 275, /*[1B100]*/
1786 UBLOCK_MASARAM_GONDI = 276, /*[11D00]*/
1788 UBLOCK_NUSHU = 277, /*[1B170]*/
1790 UBLOCK_SOYOMBO = 278, /*[11A50]*/
1794 UBLOCK_ZANABAZAR_SQUARE = 280, /*[11A00]*/
1795
1796 // New blocks in Unicode 11.0
1797
1799 UBLOCK_CHESS_SYMBOLS = 281, /*[1FA00]*/
1801 UBLOCK_DOGRA = 282, /*[11800]*/
1805 UBLOCK_GUNJALA_GONDI = 284, /*[11D60]*/
1807 UBLOCK_HANIFI_ROHINGYA = 285, /*[10D00]*/
1811 UBLOCK_MAKASAR = 287, /*[11EE0]*/
1813 UBLOCK_MAYAN_NUMERALS = 288, /*[1D2E0]*/
1815 UBLOCK_MEDEFAIDRIN = 289, /*[16E40]*/
1817 UBLOCK_OLD_SOGDIAN = 290, /*[10F00]*/
1819 UBLOCK_SOGDIAN = 291, /*[10F30]*/
1820
1821 // New blocks in Unicode 12.0
1822
1826 UBLOCK_ELYMAIC = 293, /*[10FE0]*/
1828 UBLOCK_NANDINAGARI = 294, /*[119A0]*/
1838 UBLOCK_TAMIL_SUPPLEMENT = 299, /*[11FC0]*/
1840 UBLOCK_WANCHO = 300, /*[1E2C0]*/
1841
1842 // New blocks in Unicode 13.0
1843
1845 UBLOCK_CHORASMIAN = 301, /*[10FB0]*/
1849 UBLOCK_DIVES_AKURU = 303, /*[11900]*/
1853 UBLOCK_LISU_SUPPLEMENT = 305, /*[11FB0]*/
1857 UBLOCK_TANGUT_SUPPLEMENT = 307, /*[18D00]*/
1859 UBLOCK_YEZIDI = 308, /*[10E80]*/
1860
1861 // New blocks in Unicode 14.0
1862
1866 UBLOCK_CYPRO_MINOAN = 310, /*[12F90]*/
1870 UBLOCK_KANA_EXTENDED_B = 312, /*[1AFF0]*/
1872 UBLOCK_LATIN_EXTENDED_F = 313, /*[10780]*/
1874 UBLOCK_LATIN_EXTENDED_G = 314, /*[1DF00]*/
1876 UBLOCK_OLD_UYGHUR = 315, /*[10F70]*/
1878 UBLOCK_TANGSA = 316, /*[16A70]*/
1880 UBLOCK_TOTO = 317, /*[1E290]*/
1884 UBLOCK_VITHKUQI = 319, /*[10570]*/
1887
1888#ifndef U_HIDE_DEPRECATED_API
1896#endif // U_HIDE_DEPRECATED_API
1897
1901
1904
1912typedef enum UEastAsianWidth {
1913 /*
1914 * Note: UEastAsianWidth constants are parsed by preparseucd.py.
1915 * It matches lines like
1916 * U_EA_<Unicode East_Asian_Width value name>
1917 */
1918
1919 U_EA_NEUTRAL, /*[N]*/
1920 U_EA_AMBIGUOUS, /*[A]*/
1921 U_EA_HALFWIDTH, /*[H]*/
1922 U_EA_FULLWIDTH, /*[F]*/
1923 U_EA_NARROW, /*[Na]*/
1924 U_EA_WIDE, /*[W]*/
1925#ifndef U_HIDE_DEPRECATED_API
1933#endif // U_HIDE_DEPRECATED_API
1935
1947typedef enum UCharNameChoice {
1950#ifndef U_HIDE_DEPRECATED_API
1957#endif /* U_HIDE_DEPRECATED_API */
1962#ifndef U_HIDE_DEPRECATED_API
1968#endif // U_HIDE_DEPRECATED_API
1970
1985 U_SHORT_PROPERTY_NAME,
1986 U_LONG_PROPERTY_NAME,
1987#ifndef U_HIDE_DEPRECATED_API
1993#endif // U_HIDE_DEPRECATED_API
1995
2003 /*
2004 * Note: UDecompositionType constants are parsed by preparseucd.py.
2005 * It matches lines like
2006 * U_DT_<Unicode Decomposition_Type value name>
2007 */
2008
2009 U_DT_NONE, /*[none]*/
2010 U_DT_CANONICAL, /*[can]*/
2011 U_DT_COMPAT, /*[com]*/
2012 U_DT_CIRCLE, /*[enc]*/
2013 U_DT_FINAL, /*[fin]*/
2014 U_DT_FONT, /*[font]*/
2015 U_DT_FRACTION, /*[fra]*/
2016 U_DT_INITIAL, /*[init]*/
2017 U_DT_ISOLATED, /*[iso]*/
2018 U_DT_MEDIAL, /*[med]*/
2019 U_DT_NARROW, /*[nar]*/
2020 U_DT_NOBREAK, /*[nb]*/
2021 U_DT_SMALL, /*[sml]*/
2022 U_DT_SQUARE, /*[sqr]*/
2023 U_DT_SUB, /*[sub]*/
2024 U_DT_SUPER, /*[sup]*/
2025 U_DT_VERTICAL, /*[vert]*/
2026 U_DT_WIDE, /*[wide]*/
2027#ifndef U_HIDE_DEPRECATED_API
2034 U_DT_COUNT /* 18 */
2035#endif // U_HIDE_DEPRECATED_API
2037
2044typedef enum UJoiningType {
2045 /*
2046 * Note: UJoiningType constants are parsed by preparseucd.py.
2047 * It matches lines like
2048 * U_JT_<Unicode Joining_Type value name>
2049 */
2050
2051 U_JT_NON_JOINING, /*[U]*/
2052 U_JT_JOIN_CAUSING, /*[C]*/
2053 U_JT_DUAL_JOINING, /*[D]*/
2054 U_JT_LEFT_JOINING, /*[L]*/
2055 U_JT_RIGHT_JOINING, /*[R]*/
2056 U_JT_TRANSPARENT, /*[T]*/
2057#ifndef U_HIDE_DEPRECATED_API
2064 U_JT_COUNT /* 6 */
2065#endif // U_HIDE_DEPRECATED_API
2067
2074typedef enum UJoiningGroup {
2075 /*
2076 * Note: UJoiningGroup constants are parsed by preparseucd.py.
2077 * It matches lines like
2078 * U_JG_<Unicode Joining_Group value name>
2079 */
2080
2081 U_JG_NO_JOINING_GROUP,
2082 U_JG_AIN,
2083 U_JG_ALAPH,
2084 U_JG_ALEF,
2085 U_JG_BEH,
2086 U_JG_BETH,
2087 U_JG_DAL,
2088 U_JG_DALATH_RISH,
2089 U_JG_E,
2090 U_JG_FEH,
2091 U_JG_FINAL_SEMKATH,
2092 U_JG_GAF,
2093 U_JG_GAMAL,
2094 U_JG_HAH,
2096 U_JG_HAMZA_ON_HEH_GOAL=U_JG_TEH_MARBUTA_GOAL,
2097 U_JG_HE,
2098 U_JG_HEH,
2099 U_JG_HEH_GOAL,
2100 U_JG_HETH,
2101 U_JG_KAF,
2102 U_JG_KAPH,
2103 U_JG_KNOTTED_HEH,
2104 U_JG_LAM,
2105 U_JG_LAMADH,
2106 U_JG_MEEM,
2107 U_JG_MIM,
2108 U_JG_NOON,
2109 U_JG_NUN,
2110 U_JG_PE,
2111 U_JG_QAF,
2112 U_JG_QAPH,
2113 U_JG_REH,
2114 U_JG_REVERSED_PE,
2115 U_JG_SAD,
2116 U_JG_SADHE,
2117 U_JG_SEEN,
2118 U_JG_SEMKATH,
2119 U_JG_SHIN,
2120 U_JG_SWASH_KAF,
2121 U_JG_SYRIAC_WAW,
2122 U_JG_TAH,
2123 U_JG_TAW,
2124 U_JG_TEH_MARBUTA,
2125 U_JG_TETH,
2126 U_JG_WAW,
2127 U_JG_YEH,
2128 U_JG_YEH_BARREE,
2129 U_JG_YEH_WITH_TAIL,
2130 U_JG_YUDH,
2131 U_JG_YUDH_HE,
2132 U_JG_ZAIN,
2190#ifndef U_HIDE_DEPRECATED_API
2198#endif // U_HIDE_DEPRECATED_API
2200
2208 /*
2209 * Note: UGraphemeClusterBreak constants are parsed by preparseucd.py.
2210 * It matches lines like
2211 * U_GCB_<Unicode Grapheme_Cluster_Break value name>
2212 */
2213
2214 U_GCB_OTHER = 0, /*[XX]*/
2215 U_GCB_CONTROL = 1, /*[CN]*/
2216 U_GCB_CR = 2, /*[CR]*/
2217 U_GCB_EXTEND = 3, /*[EX]*/
2218 U_GCB_L = 4, /*[L]*/
2219 U_GCB_LF = 5, /*[LF]*/
2220 U_GCB_LV = 6, /*[LV]*/
2221 U_GCB_LVT = 7, /*[LVT]*/
2222 U_GCB_T = 8, /*[T]*/
2223 U_GCB_V = 9, /*[V]*/
2225 U_GCB_SPACING_MARK = 10, /*[SM]*/ /* from here on: new in Unicode 5.1/ICU 4.0 */
2227 U_GCB_PREPEND = 11, /*[PP]*/
2229 U_GCB_REGIONAL_INDICATOR = 12, /*[RI]*/ /* new in Unicode 6.2/ICU 50 */
2231 U_GCB_E_BASE = 13, /*[EB]*/ /* from here on: new in Unicode 9.0/ICU 58 */
2233 U_GCB_E_BASE_GAZ = 14, /*[EBG]*/
2235 U_GCB_E_MODIFIER = 15, /*[EM]*/
2237 U_GCB_GLUE_AFTER_ZWJ = 16, /*[GAZ]*/
2239 U_GCB_ZWJ = 17, /*[ZWJ]*/
2240
2241#ifndef U_HIDE_DEPRECATED_API
2248 U_GCB_COUNT = 18
2249#endif // U_HIDE_DEPRECATED_API
2251
2259typedef enum UWordBreakValues {
2260 /*
2261 * Note: UWordBreakValues constants are parsed by preparseucd.py.
2262 * It matches lines like
2263 * U_WB_<Unicode Word_Break value name>
2264 */
2265
2266 U_WB_OTHER = 0, /*[XX]*/
2267 U_WB_ALETTER = 1, /*[LE]*/
2268 U_WB_FORMAT = 2, /*[FO]*/
2269 U_WB_KATAKANA = 3, /*[KA]*/
2270 U_WB_MIDLETTER = 4, /*[ML]*/
2271 U_WB_MIDNUM = 5, /*[MN]*/
2272 U_WB_NUMERIC = 6, /*[NU]*/
2273 U_WB_EXTENDNUMLET = 7, /*[EX]*/
2275 U_WB_CR = 8, /*[CR]*/ /* from here on: new in Unicode 5.1/ICU 4.0 */
2277 U_WB_EXTEND = 9, /*[Extend]*/
2279 U_WB_LF = 10, /*[LF]*/
2281 U_WB_MIDNUMLET =11, /*[MB]*/
2283 U_WB_NEWLINE =12, /*[NL]*/
2285 U_WB_REGIONAL_INDICATOR = 13, /*[RI]*/ /* new in Unicode 6.2/ICU 50 */
2287 U_WB_HEBREW_LETTER = 14, /*[HL]*/ /* from here on: new in Unicode 6.3/ICU 52 */
2289 U_WB_SINGLE_QUOTE = 15, /*[SQ]*/
2291 U_WB_DOUBLE_QUOTE = 16, /*[DQ]*/
2293 U_WB_E_BASE = 17, /*[EB]*/ /* from here on: new in Unicode 9.0/ICU 58 */
2295 U_WB_E_BASE_GAZ = 18, /*[EBG]*/
2297 U_WB_E_MODIFIER = 19, /*[EM]*/
2299 U_WB_GLUE_AFTER_ZWJ = 20, /*[GAZ]*/
2301 U_WB_ZWJ = 21, /*[ZWJ]*/
2303 U_WB_WSEGSPACE = 22, /*[WSEGSPACE]*/
2304
2305#ifndef U_HIDE_DEPRECATED_API
2312 U_WB_COUNT = 23
2313#endif // U_HIDE_DEPRECATED_API
2315
2322typedef enum USentenceBreak {
2323 /*
2324 * Note: USentenceBreak constants are parsed by preparseucd.py.
2325 * It matches lines like
2326 * U_SB_<Unicode Sentence_Break value name>
2327 */
2328
2329 U_SB_OTHER = 0, /*[XX]*/
2330 U_SB_ATERM = 1, /*[AT]*/
2331 U_SB_CLOSE = 2, /*[CL]*/
2332 U_SB_FORMAT = 3, /*[FO]*/
2333 U_SB_LOWER = 4, /*[LO]*/
2334 U_SB_NUMERIC = 5, /*[NU]*/
2335 U_SB_OLETTER = 6, /*[LE]*/
2336 U_SB_SEP = 7, /*[SE]*/
2337 U_SB_SP = 8, /*[SP]*/
2338 U_SB_STERM = 9, /*[ST]*/
2339 U_SB_UPPER = 10, /*[UP]*/
2340 U_SB_CR = 11, /*[CR]*/ /* from here on: new in Unicode 5.1/ICU 4.0 */
2341 U_SB_EXTEND = 12, /*[EX]*/
2342 U_SB_LF = 13, /*[LF]*/
2343 U_SB_SCONTINUE = 14, /*[SC]*/
2344#ifndef U_HIDE_DEPRECATED_API
2351 U_SB_COUNT = 15
2352#endif // U_HIDE_DEPRECATED_API
2354
2361typedef enum ULineBreak {
2362 /*
2363 * Note: ULineBreak constants are parsed by preparseucd.py.
2364 * It matches lines like
2365 * U_LB_<Unicode Line_Break value name>
2366 */
2367
2368 U_LB_UNKNOWN = 0, /*[XX]*/
2369 U_LB_AMBIGUOUS = 1, /*[AI]*/
2370 U_LB_ALPHABETIC = 2, /*[AL]*/
2371 U_LB_BREAK_BOTH = 3, /*[B2]*/
2372 U_LB_BREAK_AFTER = 4, /*[BA]*/
2373 U_LB_BREAK_BEFORE = 5, /*[BB]*/
2374 U_LB_MANDATORY_BREAK = 6, /*[BK]*/
2375 U_LB_CONTINGENT_BREAK = 7, /*[CB]*/
2376 U_LB_CLOSE_PUNCTUATION = 8, /*[CL]*/
2377 U_LB_COMBINING_MARK = 9, /*[CM]*/
2378 U_LB_CARRIAGE_RETURN = 10, /*[CR]*/
2379 U_LB_EXCLAMATION = 11, /*[EX]*/
2380 U_LB_GLUE = 12, /*[GL]*/
2381 U_LB_HYPHEN = 13, /*[HY]*/
2382 U_LB_IDEOGRAPHIC = 14, /*[ID]*/
2384 U_LB_INSEPARABLE = 15, /*[IN]*/
2385 U_LB_INSEPERABLE = U_LB_INSEPARABLE,
2386 U_LB_INFIX_NUMERIC = 16, /*[IS]*/
2387 U_LB_LINE_FEED = 17, /*[LF]*/
2388 U_LB_NONSTARTER = 18, /*[NS]*/
2389 U_LB_NUMERIC = 19, /*[NU]*/
2390 U_LB_OPEN_PUNCTUATION = 20, /*[OP]*/
2391 U_LB_POSTFIX_NUMERIC = 21, /*[PO]*/
2392 U_LB_PREFIX_NUMERIC = 22, /*[PR]*/
2393 U_LB_QUOTATION = 23, /*[QU]*/
2394 U_LB_COMPLEX_CONTEXT = 24, /*[SA]*/
2395 U_LB_SURROGATE = 25, /*[SG]*/
2396 U_LB_SPACE = 26, /*[SP]*/
2397 U_LB_BREAK_SYMBOLS = 27, /*[SY]*/
2398 U_LB_ZWSPACE = 28, /*[ZW]*/
2400 U_LB_NEXT_LINE = 29, /*[NL]*/ /* from here on: new in Unicode 4/ICU 2.6 */
2402 U_LB_WORD_JOINER = 30, /*[WJ]*/
2404 U_LB_H2 = 31, /*[H2]*/ /* from here on: new in Unicode 4.1/ICU 3.4 */
2406 U_LB_H3 = 32, /*[H3]*/
2408 U_LB_JL = 33, /*[JL]*/
2410 U_LB_JT = 34, /*[JT]*/
2412 U_LB_JV = 35, /*[JV]*/
2414 U_LB_CLOSE_PARENTHESIS = 36, /*[CP]*/ /* new in Unicode 5.2/ICU 4.4 */
2416 U_LB_CONDITIONAL_JAPANESE_STARTER = 37,/*[CJ]*/ /* new in Unicode 6.1/ICU 49 */
2418 U_LB_HEBREW_LETTER = 38, /*[HL]*/ /* new in Unicode 6.1/ICU 49 */
2420 U_LB_REGIONAL_INDICATOR = 39,/*[RI]*/ /* new in Unicode 6.2/ICU 50 */
2422 U_LB_E_BASE = 40, /*[EB]*/ /* from here on: new in Unicode 9.0/ICU 58 */
2424 U_LB_E_MODIFIER = 41, /*[EM]*/
2426 U_LB_ZWJ = 42, /*[ZWJ]*/
2427#ifndef U_HIDE_DEPRECATED_API
2434 U_LB_COUNT = 43
2435#endif // U_HIDE_DEPRECATED_API
2437
2444typedef enum UNumericType {
2445 /*
2446 * Note: UNumericType constants are parsed by preparseucd.py.
2447 * It matches lines like
2448 * U_NT_<Unicode Numeric_Type value name>
2449 */
2450
2451 U_NT_NONE, /*[None]*/
2452 U_NT_DECIMAL, /*[de]*/
2453 U_NT_DIGIT, /*[di]*/
2454 U_NT_NUMERIC, /*[nu]*/
2455#ifndef U_HIDE_DEPRECATED_API
2463#endif // U_HIDE_DEPRECATED_API
2465
2473 /*
2474 * Note: UHangulSyllableType constants are parsed by preparseucd.py.
2475 * It matches lines like
2476 * U_HST_<Unicode Hangul_Syllable_Type value name>
2477 */
2478
2479 U_HST_NOT_APPLICABLE, /*[NA]*/
2480 U_HST_LEADING_JAMO, /*[L]*/
2481 U_HST_VOWEL_JAMO, /*[V]*/
2482 U_HST_TRAILING_JAMO, /*[T]*/
2483 U_HST_LV_SYLLABLE, /*[LV]*/
2484 U_HST_LVT_SYLLABLE, /*[LVT]*/
2485#ifndef U_HIDE_DEPRECATED_API
2493#endif // U_HIDE_DEPRECATED_API
2495
2503 /*
2504 * Note: UIndicPositionalCategory constants are parsed by preparseucd.py.
2505 * It matches lines like
2506 * U_INPC_<Unicode Indic_Positional_Category value name>
2507 */
2508
2542
2550 /*
2551 * Note: UIndicSyllabicCategory constants are parsed by preparseucd.py.
2552 * It matches lines like
2553 * U_INSC_<Unicode Indic_Syllabic_Category value name>
2554 */
2555
2629
2637 /*
2638 * Note: UVerticalOrientation constants are parsed by preparseucd.py.
2639 * It matches lines like
2640 * U_VO_<Unicode Vertical_Orientation value name>
2641 */
2642
2652
2680U_CAPI UBool U_EXPORT2
2682
2683#ifndef U_HIDE_DRAFT_API
2684
2709U_CAPI UBool U_EXPORT2
2710u_stringHasBinaryProperty(const UChar *s, int32_t length, UProperty which);
2711
2712#endif // U_HIDE_DRAFT_API
2713
2729U_CAPI const USet * U_EXPORT2
2731
2744U_CAPI UBool U_EXPORT2
2746
2759U_CAPI UBool U_EXPORT2
2761
2774U_CAPI UBool U_EXPORT2
2776
2795U_CAPI UBool U_EXPORT2
2797
2836U_CAPI int32_t U_EXPORT2
2838
2857U_CAPI int32_t U_EXPORT2
2859
2886U_CAPI int32_t U_EXPORT2
2888
2904U_CAPI const UCPMap * U_EXPORT2
2906
2929U_CAPI double U_EXPORT2
2931
2939#define U_NO_NUMERIC_VALUE ((double)-123456789.)
2940
2964U_CAPI UBool U_EXPORT2
2966
2991U_CAPI UBool U_EXPORT2
2993
3008U_CAPI UBool U_EXPORT2
3010
3029U_CAPI UBool U_EXPORT2
3031
3050U_CAPI UBool U_EXPORT2
3052
3071U_CAPI UBool U_EXPORT2
3073
3094U_CAPI UBool U_EXPORT2
3096
3110U_CAPI UBool U_EXPORT2
3112
3129U_CAPI UBool U_EXPORT2
3131
3157U_CAPI UBool U_EXPORT2
3159
3182U_CAPI UBool U_EXPORT2
3184
3203U_CAPI UBool U_EXPORT2
3205
3224U_CAPI UBool U_EXPORT2
3226
3264U_CAPI UBool U_EXPORT2
3266
3288U_CAPI UBool U_EXPORT2
3290
3303U_CAPI UBool U_EXPORT2
3305
3321U_CAPI UBool U_EXPORT2
3323
3341U_CAPI UBool U_EXPORT2
3343
3360U_CAPI UCharDirection U_EXPORT2
3362
3378U_CAPI UBool U_EXPORT2
3380
3400U_CAPI UChar32 U_EXPORT2
3402
3419U_CAPI UChar32 U_EXPORT2
3421
3433U_CAPI int8_t U_EXPORT2
3435
3449#define U_GET_GC_MASK(c) U_MASK(u_charType(c))
3450
3468typedef UBool U_CALLCONV
3469UCharEnumTypeRange(const void *context, UChar32 start, UChar32 limit, UCharCategory type);
3470
3490U_CAPI void U_EXPORT2
3491u_enumCharTypes(UCharEnumTypeRange *enumRange, const void *context);
3492
3493#if !UCONFIG_NO_NORMALIZATION
3494
3502U_CAPI uint8_t U_EXPORT2
3504
3505#endif
3506
3530U_CAPI int32_t U_EXPORT2
3532
3542U_CAPI UBlockCode U_EXPORT2
3544
3577U_CAPI int32_t U_EXPORT2
3579 char *buffer, int32_t bufferLength,
3580 UErrorCode *pErrorCode);
3581
3582#ifndef U_HIDE_DEPRECATED_API
3601U_DEPRECATED int32_t U_EXPORT2
3603 char *dest, int32_t destCapacity,
3604 UErrorCode *pErrorCode);
3605#endif /* U_HIDE_DEPRECATED_API */
3606
3627U_CAPI UChar32 U_EXPORT2
3629 const char *name,
3630 UErrorCode *pErrorCode);
3631
3649typedef UBool U_CALLCONV UEnumCharNamesFn(void *context,
3650 UChar32 code,
3651 UCharNameChoice nameChoice,
3652 const char *name,
3653 int32_t length);
3654
3676U_CAPI void U_EXPORT2
3678 UEnumCharNamesFn *fn,
3679 void *context,
3680 UCharNameChoice nameChoice,
3681 UErrorCode *pErrorCode);
3682
3714U_CAPI const char* U_EXPORT2
3716 UPropertyNameChoice nameChoice);
3717
3737U_CAPI UProperty U_EXPORT2
3738u_getPropertyEnum(const char* alias);
3739
3787U_CAPI const char* U_EXPORT2
3789 int32_t value,
3790 UPropertyNameChoice nameChoice);
3791
3823U_CAPI int32_t U_EXPORT2
3825 const char* alias);
3826
3844U_CAPI UBool U_EXPORT2
3846
3868U_CAPI UBool U_EXPORT2
3870
3891U_CAPI UBool U_EXPORT2
3893
3910U_CAPI UBool U_EXPORT2
3912
3931U_CAPI UBool U_EXPORT2
3933
3956U_CAPI UChar32 U_EXPORT2
3958
3981U_CAPI UChar32 U_EXPORT2
3983
4006U_CAPI UChar32 U_EXPORT2
4008
4031U_CAPI UChar32 U_EXPORT2
4032u_foldCase(UChar32 c, uint32_t options);
4033
4072U_CAPI int32_t U_EXPORT2
4073u_digit(UChar32 ch, int8_t radix);
4074
4103U_CAPI UChar32 U_EXPORT2
4104u_forDigit(int32_t digit, int8_t radix);
4105
4120U_CAPI void U_EXPORT2
4122
4134U_CAPI void U_EXPORT2
4136
4137#if !UCONFIG_NO_NORMALIZATION
4159U_CAPI int32_t U_EXPORT2
4160u_getFC_NFKC_Closure(UChar32 c, UChar *dest, int32_t destCapacity, UErrorCode *pErrorCode);
4161
4162#endif
4163
4164
4166
4167#endif /*_UCHAR*/
4168/*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:870
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:1071
@ UBLOCK_NANDINAGARI
Definition: uchar.h:1828
@ UBLOCK_MRO
Definition: uchar.h:1699
@ UBLOCK_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED
Definition: uchar.h:1562
@ UBLOCK_COUNT
One more than the highest normal UBlockCode value.
Definition: uchar.h:1895
@ UBLOCK_OPTICAL_CHARACTER_RECOGNITION
Definition: uchar.h:1235
@ UBLOCK_LATIN_EXTENDED_G
Definition: uchar.h:1874
@ UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B
Definition: uchar.h:1381
@ UBLOCK_INSCRIPTIONAL_PAHLAVI
Definition: uchar.h:1596
@ UBLOCK_KHMER
Definition: uchar.h:1190
@ UBLOCK_BHAIKSUKI
Definition: uchar.h:1759
@ UBLOCK_DUPLOYAN
Definition: uchar.h:1675
@ UBLOCK_MEDEFAIDRIN
Definition: uchar.h:1815
@ UBLOCK_BALINESE
Definition: uchar.h:1504
@ UBLOCK_HEBREW
Definition: uchar.h:1115
@ UBLOCK_YIJING_HEXAGRAM_SYMBOLS
Definition: uchar.h:1436
@ UBLOCK_SUPPLEMENTAL_SYMBOLS_AND_PICTOGRAPHS
Definition: uchar.h:1750
@ UBLOCK_CYRILLIC
Definition: uchar.h:1109
@ UBLOCK_ARABIC_EXTENDED_B
Definition: uchar.h:1864
@ UBLOCK_SPECIALS
Definition: uchar.h:1361
@ UBLOCK_HALFWIDTH_AND_FULLWIDTH_FORMS
Definition: uchar.h:1364
@ UBLOCK_NEWA
Definition: uchar.h:1771
@ UBLOCK_ARROWS
Definition: uchar.h:1223
@ UBLOCK_CJK_SYMBOLS_AND_PUNCTUATION
Definition: uchar.h:1268
@ UBLOCK_TAKRI
Definition: uchar.h:1662
@ UBLOCK_BOX_DRAWING
Definition: uchar.h:1241
@ UBLOCK_CURRENCY_SYMBOLS
Definition: uchar.h:1208
@ UBLOCK_MISCELLANEOUS_SYMBOLS
Definition: uchar.h:1250
@ UBLOCK_ANCIENT_GREEK_NUMBERS
Definition: uchar.h:1461
@ UBLOCK_OLD_PERMIC
Definition: uchar.h:1707
@ UBLOCK_CJK_STROKES
Definition: uchar.h:1467
@ UBLOCK_PALMYRENE
Definition: uchar.h:1713
@ UBLOCK_OGHAM
Definition: uchar.h:1184
@ UBLOCK_TANGSA
Definition: uchar.h:1878
@ UBLOCK_SUTTON_SIGNWRITING
Definition: uchar.h:1752
@ UBLOCK_ANATOLIAN_HIEROGLYPHS
Definition: uchar.h:1736
@ UBLOCK_SYMBOLS_FOR_LEGACY_COMPUTING
Definition: uchar.h:1855
@ UBLOCK_SUPPLEMENTAL_PUNCTUATION
Definition: uchar.h:1491
@ UBLOCK_MEROITIC_HIEROGLYPHS
Definition: uchar.h:1652
@ UBLOCK_EMOTICONS
Definition: uchar.h:1631
@ UBLOCK_INDIC_SIYAQ_NUMBERS
Definition: uchar.h:1809
@ UBLOCK_REJANG
Definition: uchar.h:1539
@ UBLOCK_TAGALOG
Definition: uchar.h:1397
@ UBLOCK_LISU
Definition: uchar.h:1568
@ UBLOCK_COPTIC_EPACT_NUMBERS
Definition: uchar.h:1671
@ UBLOCK_SUPERSCRIPTS_AND_SUBSCRIPTS
Definition: uchar.h:1205
@ UBLOCK_TAGS
Definition: uchar.h:1385
@ UBLOCK_MIAO
Definition: uchar.h:1654
@ UBLOCK_TAMIL_SUPPLEMENT
Definition: uchar.h:1838
@ UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C
Definition: uchar.h:1610
@ UBLOCK_LIMBU
Definition: uchar.h:1426
@ UBLOCK_LYDIAN
Definition: uchar.h:1551
@ UBLOCK_NYIAKENG_PUACHUE_HMONG
Definition: uchar.h:1830
@ UBLOCK_PHONETIC_EXTENSIONS_SUPPLEMENT
Definition: uchar.h:1489
@ UBLOCK_TAI_THAM
Definition: uchar.h:1564
@ UBLOCK_MAHJONG_TILES
Definition: uchar.h:1553
@ UBLOCK_PLAYING_CARDS
Definition: uchar.h:1627
@ UBLOCK_ETHIOPIC_EXTENDED_B
Definition: uchar.h:1868
@ UBLOCK_TRANSPORT_AND_MAP_SYMBOLS
Definition: uchar.h:1633
@ UBLOCK_IDEOGRAPHIC_DESCRIPTION_CHARACTERS
Definition: uchar.h:1265
@ UBLOCK_BASIC_LATIN
Definition: uchar.h:1082
@ UBLOCK_GURMUKHI
Definition: uchar.h:1133
@ UBLOCK_SYMBOLS_AND_PICTOGRAPHS_EXTENDED_A
Definition: uchar.h:1836
@ UBLOCK_HATRAN
Definition: uchar.h:1744
@ UBLOCK_PRIVATE_USE_AREA
Same as UBLOCK_PRIVATE_USE.
Definition: uchar.h:1327
@ UBLOCK_ARMENIAN
Definition: uchar.h:1112
@ UBLOCK_HANGUL_JAMO
Definition: uchar.h:1172
@ UBLOCK_VERTICAL_FORMS
Definition: uchar.h:1497
@ UBLOCK_SINHALA_ARCHAIC_NUMBERS
Definition: uchar.h:1723
@ UBLOCK_SOGDIAN
Definition: uchar.h:1819
@ UBLOCK_TIRHUTA
Definition: uchar.h:1727
@ UBLOCK_ELBASAN
Definition: uchar.h:1677
@ UBLOCK_MATHEMATICAL_ALPHANUMERIC_SYMBOLS
Definition: uchar.h:1379
@ UBLOCK_KHITAN_SMALL_SCRIPT
Definition: uchar.h:1851
@ UBLOCK_NUMBER_FORMS
Definition: uchar.h:1220
@ UBLOCK_CHAM
Definition: uchar.h:1541
@ UBLOCK_TANGUT
Definition: uchar.h:1775
@ UBLOCK_TAMIL
Definition: uchar.h:1142
@ UBLOCK_BLOCK_ELEMENTS
Definition: uchar.h:1244
@ UBLOCK_ENCLOSED_ALPHANUMERIC_SUPPLEMENT
Definition: uchar.h:1606
@ UBLOCK_CUNEIFORM_NUMBERS_AND_PUNCTUATION
Definition: uchar.h:1516
@ UBLOCK_LEPCHA
Definition: uchar.h:1525
@ UBLOCK_COMBINING_DIACRITICAL_MARKS_SUPPLEMENT
Definition: uchar.h:1469
@ UBLOCK_VARIATION_SELECTORS_SUPPLEMENT
Definition: uchar.h:1454
@ UBLOCK_DOMINO_TILES
Definition: uchar.h:1555
@ UBLOCK_COMBINING_DIACRITICAL_MARKS_EXTENDED
Definition: uchar.h:1673
@ UBLOCK_EGYPTIAN_HIEROGLYPHS
Definition: uchar.h:1604
@ UBLOCK_IPA_EXTENSIONS
Definition: uchar.h:1094
@ UBLOCK_TANGUT_COMPONENTS
Definition: uchar.h:1777
@ UBLOCK_CHEROKEE_SUPPLEMENT
Definition: uchar.h:1738
@ UBLOCK_ELYMAIC
Definition: uchar.h:1826
@ UBLOCK_LATIN_EXTENDED_A
Definition: uchar.h:1088
@ UBLOCK_HANUNOO
Definition: uchar.h:1399
@ UBLOCK_LAO
Definition: uchar.h:1160
@ UBLOCK_SUNDANESE_SUPPLEMENT
Definition: uchar.h:1660
@ UBLOCK_CYRILLIC_EXTENDED_A
Definition: uchar.h:1529
@ UBLOCK_HANGUL_JAMO_EXTENDED_B
Definition: uchar.h:1586
@ UBLOCK_SAMARITAN
Definition: uchar.h:1560
@ UBLOCK_SUPPLEMENTAL_ARROWS_A
Definition: uchar.h:1407
@ UBLOCK_GLAGOLITIC
Definition: uchar.h:1479
@ UBLOCK_INSCRIPTIONAL_PARTHIAN
Definition: uchar.h:1594
@ UBLOCK_WARANG_CITI
Definition: uchar.h:1729
@ UBLOCK_MONGOLIAN
Definition: uchar.h:1193
@ UBLOCK_NKO
Definition: uchar.h:1502
@ UBLOCK_ARABIC_EXTENDED_A
Definition: uchar.h:1642
@ UBLOCK_LYCIAN
Definition: uchar.h:1547
@ UBLOCK_CYRILLIC_EXTENDED_C
Definition: uchar.h:1761
@ UBLOCK_KANA_EXTENDED_B
Definition: uchar.h:1870
@ UBLOCK_DINGBATS
Definition: uchar.h:1253
@ UBLOCK_OTTOMAN_SIYAQ_NUMBERS
Definition: uchar.h:1832
@ UBLOCK_LINEAR_B_SYLLABARY
Definition: uchar.h:1438
@ UBLOCK_ENCLOSED_CJK_LETTERS_AND_MONTHS
Definition: uchar.h:1289
@ UBLOCK_CHAKMA
Definition: uchar.h:1646
@ UBLOCK_SPACING_MODIFIER_LETTERS
Definition: uchar.h:1097
@ UBLOCK_MEROITIC_CURSIVE
Definition: uchar.h:1650
@ UBLOCK_CYRILLIC_EXTENDED_B
Definition: uchar.h:1533
@ UBLOCK_GENERAL_PUNCTUATION
Definition: uchar.h:1202
@ UBLOCK_MONGOLIAN_SUPPLEMENT
Definition: uchar.h:1769
@ UBLOCK_MISCELLANEOUS_TECHNICAL
Definition: uchar.h:1229
@ UBLOCK_TAI_XUAN_JING_SYMBOLS
Definition: uchar.h:1452
@ UBLOCK_NABATAEAN
Definition: uchar.h:1703
@ UBLOCK_TAGBANWA
Definition: uchar.h:1403
@ UBLOCK_CUNEIFORM
Definition: uchar.h:1514
@ UBLOCK_CONTROL_PICTURES
Definition: uchar.h:1232
@ UBLOCK_GREEK
Unicode 3.2 renames this block to "Greek and Coptic".
Definition: uchar.h:1106
@ UBLOCK_HIGH_SURROGATES
Definition: uchar.h:1310
@ UBLOCK_COUNTING_ROD_NUMERALS
Definition: uchar.h:1518
@ UBLOCK_AEGEAN_NUMBERS
Definition: uchar.h:1442
@ UBLOCK_BENGALI
Definition: uchar.h:1130
@ UBLOCK_LATIN_EXTENDED_E
Definition: uchar.h:1687
@ UBLOCK_LINEAR_B_IDEOGRAMS
Definition: uchar.h:1440
@ UBLOCK_PAU_CIN_HAU
Definition: uchar.h:1715
@ UBLOCK_BUHID
Definition: uchar.h:1401
@ UBLOCK_GUNJALA_GONDI
Definition: uchar.h:1805
@ UBLOCK_RUMI_NUMERAL_SYMBOLS
Definition: uchar.h:1600
@ UBLOCK_HIGH_PRIVATE_USE_SURROGATES
Definition: uchar.h:1313
@ UBLOCK_MEETEI_MAYEK_EXTENSIONS
Definition: uchar.h:1648
@ UBLOCK_COMMON_INDIC_NUMBER_FORMS
Definition: uchar.h:1572
@ UBLOCK_ZANABAZAR_SQUARE
Definition: uchar.h:1794
@ UBLOCK_SUNDANESE
Definition: uchar.h:1523
@ UBLOCK_CHESS_SYMBOLS
Definition: uchar.h:1799
@ UBLOCK_ENCLOSED_ALPHANUMERICS
Definition: uchar.h:1238
@ UBLOCK_COMBINING_HALF_MARKS
Definition: uchar.h:1349
@ UBLOCK_MANDAIC
Definition: uchar.h:1615
@ UBLOCK_OLD_UYGHUR
Definition: uchar.h:1876
@ UBLOCK_GLAGOLITIC_SUPPLEMENT
Definition: uchar.h:1763
@ UBLOCK_OSMANYA
Definition: uchar.h:1448
@ UBLOCK_DOGRA
Definition: uchar.h:1801
@ UBLOCK_IMPERIAL_ARAMAIC
Definition: uchar.h:1588
@ UBLOCK_BRAILLE_PATTERNS
Definition: uchar.h:1256
@ UBLOCK_OLD_HUNGARIAN
Definition: uchar.h:1748
@ UBLOCK_MATHEMATICAL_OPERATORS
Definition: uchar.h:1226
@ UBLOCK_KHOJKI
Definition: uchar.h:1683
@ UBLOCK_DIVES_AKURU
Definition: uchar.h:1849
@ UBLOCK_ORIYA
Definition: uchar.h:1139
@ UBLOCK_NO_BLOCK
New No_Block value in Unicode 4.
Definition: uchar.h:1079
@ UBLOCK_YI_RADICALS
Definition: uchar.h:1304
@ UBLOCK_BUGINESE
Definition: uchar.h:1465
@ UBLOCK_TANGUT_SUPPLEMENT
Definition: uchar.h:1857
@ UBLOCK_SMALL_FORM_VARIANTS
Definition: uchar.h:1355
@ UBLOCK_OLD_SOGDIAN
Definition: uchar.h:1817
@ UBLOCK_GEORGIAN_EXTENDED
Definition: uchar.h:1803
@ UBLOCK_TIFINAGH
Definition: uchar.h:1495
@ UBLOCK_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B
Definition: uchar.h:1411
@ UBLOCK_LATIN_EXTENDED_D
Definition: uchar.h:1508
@ UBLOCK_LATIN_EXTENDED_ADDITIONAL
Definition: uchar.h:1196
@ UBLOCK_MEETEI_MAYEK
Definition: uchar.h:1584
@ UBLOCK_EGYPTIAN_HIEROGLYPH_FORMAT_CONTROLS
Definition: uchar.h:1824
@ UBLOCK_MYANMAR
Definition: uchar.h:1166
@ UBLOCK_OL_CHIKI
Definition: uchar.h:1527
@ UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D
Definition: uchar.h:1637
@ UBLOCK_SHORTHAND_FORMAT_CONTROLS
Definition: uchar.h:1719
@ UBLOCK_COMBINING_MARKS_FOR_SYMBOLS
Unicode 3.2 renames this block to "Combining Diacritical Marks for Symbols".
Definition: uchar.h:1214
@ UBLOCK_MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS
Definition: uchar.h:1629
@ UBLOCK_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS
Definition: uchar.h:1181
@ UBLOCK_BOPOMOFO
Definition: uchar.h:1277
@ UBLOCK_KATAKANA_PHONETIC_EXTENSIONS
Definition: uchar.h:1415
@ UBLOCK_MARCHEN
Definition: uchar.h:1767
@ UBLOCK_MODI
Definition: uchar.h:1697
@ UBLOCK_YEZIDI
Definition: uchar.h:1859
@ UBLOCK_SUPPLEMENTAL_MATHEMATICAL_OPERATORS
Definition: uchar.h:1413
@ UBLOCK_CYPRO_MINOAN
Definition: uchar.h:1866
@ UBLOCK_MULTANI
Definition: uchar.h:1746
@ UBLOCK_ETHIOPIC_EXTENDED
Definition: uchar.h:1473
@ UBLOCK_AVESTAN
Definition: uchar.h:1592
@ UBLOCK_PRIVATE_USE
Same as UBLOCK_PRIVATE_USE_AREA.
Definition: uchar.h:1337
@ UBLOCK_GEORGIAN_SUPPLEMENT
Definition: uchar.h:1477
@ UBLOCK_COPTIC
Definition: uchar.h:1471
@ UBLOCK_HANGUL_COMPATIBILITY_JAMO
Definition: uchar.h:1280
@ UBLOCK_LOW_SURROGATES
Definition: uchar.h:1316
@ UBLOCK_SOYOMBO
Definition: uchar.h:1790
@ UBLOCK_ARABIC_SUPPLEMENT
Definition: uchar.h:1463
@ UBLOCK_HANGUL_SYLLABLES
Definition: uchar.h:1307
@ UBLOCK_MISCELLANEOUS_SYMBOLS_AND_ARROWS
Definition: uchar.h:1434
@ UBLOCK_CJK_COMPATIBILITY
Definition: uchar.h:1292
@ UBLOCK_CARIAN
Definition: uchar.h:1549
@ UBLOCK_HANIFI_ROHINGYA
Definition: uchar.h:1807
@ UBLOCK_TIBETAN
Definition: uchar.h:1163
@ UBLOCK_BASSA_VAH
Definition: uchar.h:1667
@ UBLOCK_OLD_TURKIC
Definition: uchar.h:1598
@ UBLOCK_CJK_RADICALS_SUPPLEMENT
Definition: uchar.h:1259
@ UBLOCK_VITHKUQI
Definition: uchar.h:1884
@ UBLOCK_ADLAM
Definition: uchar.h:1757
@ UBLOCK_MASARAM_GONDI
Definition: uchar.h:1786
@ UBLOCK_ARABIC_PRESENTATION_FORMS_B
Definition: uchar.h:1358
@ UBLOCK_RUNIC
Definition: uchar.h:1187
@ UBLOCK_ARABIC_PRESENTATION_FORMS_A
Definition: uchar.h:1346
@ UBLOCK_ENCLOSED_IDEOGRAPHIC_SUPPLEMENT
Definition: uchar.h:1608
@ UBLOCK_CHORASMIAN
Definition: uchar.h:1845
@ UBLOCK_BOPOMOFO_EXTENDED
Definition: uchar.h:1286
@ UBLOCK_IDEOGRAPHIC_SYMBOLS_AND_PUNCTUATION
Definition: uchar.h:1765
@ UBLOCK_LATIN_EXTENDED_F
Definition: uchar.h:1872
@ UBLOCK_KANGXI_RADICALS
Definition: uchar.h:1262
@ UBLOCK_SORA_SOMPENG
Definition: uchar.h:1658
@ UBLOCK_KANA_SUPPLEMENT
Definition: uchar.h:1625
@ UBLOCK_CHEROKEE
Definition: uchar.h:1178
@ UBLOCK_BRAHMI
Definition: uchar.h:1621
@ UBLOCK_SYLOTI_NAGRI
Definition: uchar.h:1493
@ UBLOCK_CYPRIOT_SYLLABARY
Definition: uchar.h:1450
@ UBLOCK_ETHIOPIC_SUPPLEMENT
Definition: uchar.h:1475
@ UBLOCK_KHAROSHTHI
Definition: uchar.h:1481
@ UBLOCK_OLD_ITALIC
Definition: uchar.h:1369
@ UBLOCK_OLD_SOUTH_ARABIAN
Definition: uchar.h:1590
@ UBLOCK_SUPPLEMENTARY_PRIVATE_USE_AREA_B
Definition: uchar.h:1421
@ UBLOCK_MALAYALAM
Definition: uchar.h:1151
@ UBLOCK_KHMER_SYMBOLS
Definition: uchar.h:1430
@ UBLOCK_JAVANESE
Definition: uchar.h:1578
@ UBLOCK_BAMUM_SUPPLEMENT
Definition: uchar.h:1623
@ UBLOCK_CYRILLIC_SUPPLEMENT
Definition: uchar.h:1390
@ UBLOCK_MYANMAR_EXTENDED_B
Definition: uchar.h:1701
@ UBLOCK_ANCIENT_GREEK_MUSICAL_NOTATION
Definition: uchar.h:1459
@ UBLOCK_BATAK
Definition: uchar.h:1617
@ UBLOCK_SYRIAC_SUPPLEMENT
Definition: uchar.h:1792
@ UBLOCK_PAHAWH_HMONG
Definition: uchar.h:1711
@ UBLOCK_ORNAMENTAL_DINGBATS
Definition: uchar.h:1709
@ UBLOCK_SINHALA
Definition: uchar.h:1154
@ UBLOCK_AHOM
Definition: uchar.h:1734
@ UBLOCK_NEW_TAI_LUE
Definition: uchar.h:1485
@ UBLOCK_SIDDHAM
Definition: uchar.h:1721
@ UBLOCK_OLD_NORTH_ARABIAN
Definition: uchar.h:1705
@ UBLOCK_YI_SYLLABLES
Definition: uchar.h:1301
@ UBLOCK_TELUGU
Definition: uchar.h:1145
@ UBLOCK_DEVANAGARI_EXTENDED
Definition: uchar.h:1574
@ UBLOCK_SHARADA
Definition: uchar.h:1656
@ UBLOCK_SUPPLEMENTARY_PRIVATE_USE_AREA_A
Definition: uchar.h:1419
@ UBLOCK_DESERET
Definition: uchar.h:1373
@ UBLOCK_ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS
Definition: uchar.h:1644
@ UBLOCK_SAURASHTRA
Definition: uchar.h:1535
@ UBLOCK_KANBUN
Definition: uchar.h:1283
@ UBLOCK_HIRAGANA
Definition: uchar.h:1271
@ UBLOCK_KANNADA
Definition: uchar.h:1148
@ UBLOCK_SUPPLEMENTAL_ARROWS_C
Definition: uchar.h:1725
@ UBLOCK_GEORGIAN
Definition: uchar.h:1169
@ UBLOCK_DEVANAGARI
Definition: uchar.h:1127
@ UBLOCK_LISU_SUPPLEMENT
Definition: uchar.h:1853
@ UBLOCK_KATAKANA
Definition: uchar.h:1274
@ UBLOCK_TAI_VIET
Definition: uchar.h:1582
@ UBLOCK_LATIN_EXTENDED_B
Definition: uchar.h:1091
@ UBLOCK_THAANA
Definition: uchar.h:1124
@ UBLOCK_MODIFIER_TONE_LETTERS
Definition: uchar.h:1483
@ UBLOCK_KHUDAWADI
Definition: uchar.h:1685
@ UBLOCK_LINEAR_A
Definition: uchar.h:1689
@ UBLOCK_CJK_UNIFIED_IDEOGRAPHS
Definition: uchar.h:1298
@ UBLOCK_GRANTHA
Definition: uchar.h:1681
@ UBLOCK_ETHIOPIC
Definition: uchar.h:1175
@ UBLOCK_SYRIAC
Definition: uchar.h:1121
@ UBLOCK_GREEK_EXTENDED
Definition: uchar.h:1199
@ UBLOCK_CJK_COMPATIBILITY_FORMS
Definition: uchar.h:1352
@ UBLOCK_CJK_COMPATIBILITY_IDEOGRAPHS
Definition: uchar.h:1340
@ UBLOCK_MAYAN_NUMERALS
Definition: uchar.h:1813
@ UBLOCK_KAYAH_LI
Definition: uchar.h:1537
@ UBLOCK_VEDIC_EXTENSIONS
Definition: uchar.h:1566
@ UBLOCK_PHAISTOS_DISC
Definition: uchar.h:1545
@ UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A
Definition: uchar.h:1295
@ UBLOCK_LATIN_1_SUPPLEMENT
Definition: uchar.h:1085
@ UBLOCK_PHOENICIAN
Definition: uchar.h:1512
@ UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_G
Definition: uchar.h:1847
@ UBLOCK_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A
Definition: uchar.h:1405
@ UBLOCK_CAUCASIAN_ALBANIAN
Definition: uchar.h:1669
@ UBLOCK_ALCHEMICAL_SYMBOLS
Definition: uchar.h:1635
@ UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_F
Definition: uchar.h:1782
@ UBLOCK_MYANMAR_EXTENDED_A
Definition: uchar.h:1580
@ UBLOCK_EARLY_DYNASTIC_CUNEIFORM
Definition: uchar.h:1742
@ UBLOCK_MENDE_KIKAKUI
Definition: uchar.h:1695
@ UBLOCK_VAI
Definition: uchar.h:1531
@ UBLOCK_PHONETIC_EXTENSIONS
Definition: uchar.h:1432
@ UBLOCK_PHAGS_PA
Definition: uchar.h:1510
@ UBLOCK_OLD_PERSIAN
Definition: uchar.h:1487
@ UBLOCK_KAITHI
Definition: uchar.h:1602
@ UBLOCK_GEOMETRIC_SHAPES
Definition: uchar.h:1247
@ UBLOCK_LATIN_EXTENDED_C
Definition: uchar.h:1506
@ UBLOCK_SUPPLEMENTAL_ARROWS_B
Definition: uchar.h:1409
@ UBLOCK_MAHAJANI
Definition: uchar.h:1691
@ UBLOCK_OSAGE
Definition: uchar.h:1773
@ UBLOCK_INVALID_CODE
Definition: uchar.h:1899
@ UBLOCK_TAI_LE
Definition: uchar.h:1428
@ UBLOCK_MAKASAR
Definition: uchar.h:1811
@ UBLOCK_GOTHIC
Definition: uchar.h:1371
@ UBLOCK_ETHIOPIC_EXTENDED_A
Definition: uchar.h:1619
@ UBLOCK_GEOMETRIC_SHAPES_EXTENDED
Definition: uchar.h:1679
@ UBLOCK_MANICHAEAN
Definition: uchar.h:1693
@ UBLOCK_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED_A
Definition: uchar.h:1882
@ UBLOCK_TOTO
Definition: uchar.h:1880
@ UBLOCK_ALPHABETIC_PRESENTATION_FORMS
Definition: uchar.h:1343
@ UBLOCK_MUSICAL_SYMBOLS
Definition: uchar.h:1377
@ UBLOCK_LETTERLIKE_SYMBOLS
Definition: uchar.h:1217
@ UBLOCK_ARABIC
Definition: uchar.h:1118
@ UBLOCK_ZNAMENNY_MUSICAL_NOTATION
Definition: uchar.h:1886
@ UBLOCK_NUSHU
Definition: uchar.h:1788
@ UBLOCK_CYRILLIC_SUPPLEMENTARY
Unicode 4.0.1 renames the "Cyrillic Supplementary" block to "Cyrillic Supplement".
Definition: uchar.h:1395
@ UBLOCK_HANGUL_JAMO_EXTENDED_A
Definition: uchar.h:1576
@ UBLOCK_BYZANTINE_MUSICAL_SYMBOLS
Definition: uchar.h:1375
@ UBLOCK_ANCIENT_SYMBOLS
Definition: uchar.h:1543
@ UBLOCK_UGARITIC
Definition: uchar.h:1444
@ UBLOCK_SMALL_KANA_EXTENSION
Definition: uchar.h:1834
@ UBLOCK_GUJARATI
Definition: uchar.h:1136
@ UBLOCK_CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT
Definition: uchar.h:1383
@ UBLOCK_COMBINING_DIACRITICAL_MARKS
Definition: uchar.h:1100
@ UBLOCK_PSALTER_PAHLAVI
Definition: uchar.h:1717
@ UBLOCK_THAI
Definition: uchar.h:1157
@ UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_E
Definition: uchar.h:1740
@ UBLOCK_KANA_EXTENDED_A
Definition: uchar.h:1784
@ UBLOCK_VARIATION_SELECTORS
Definition: uchar.h:1417
@ UBLOCK_BAMUM
Definition: uchar.h:1570
@ UBLOCK_WANCHO
Definition: uchar.h:1840
@ UBLOCK_SHAVIAN
Definition: uchar.h:1446
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:1947
@ U_CHAR_NAME_CHOICE_COUNT
One more than the highest normal UCharNameChoice value.
Definition: uchar.h:1967
@ U_UNICODE_10_CHAR_NAME
The Unicode_1_Name property value which is of little practical value.
Definition: uchar.h:1956
@ U_CHAR_NAME_ALIAS
Corrected name from NameAliases.txt.
Definition: uchar.h:1961
@ U_EXTENDED_CHAR_NAME
Standard or synthetic character name.
Definition: uchar.h:1959
@ U_UNICODE_CHAR_NAME
Unicode character name (Name property).
Definition: uchar.h:1949
U_CAPI UBool u_isUWhiteSpace(UChar32 c)
Check if a code point has the White_Space Unicode property.
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 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:2044
@ U_JT_COUNT
One more than the highest normal UJoiningType value.
Definition: uchar.h:2064
U_CAPI UBool u_isbase(UChar32 c)
Non-standard: Determines whether the specified code point is a base character.
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:2502
@ U_INPC_BOTTOM
Definition: uchar.h:2512
@ U_INPC_VISUAL_ORDER_LEFT
Definition: uchar.h:2538
@ U_INPC_TOP_AND_BOTTOM_AND_RIGHT
Definition: uchar.h:2530
@ U_INPC_TOP_AND_BOTTOM_AND_LEFT
Definition: uchar.h:2540
@ U_INPC_TOP_AND_RIGHT
Definition: uchar.h:2536
@ U_INPC_BOTTOM_AND_LEFT
Definition: uchar.h:2514
@ U_INPC_LEFT_AND_RIGHT
Definition: uchar.h:2520
@ U_INPC_RIGHT
Definition: uchar.h:2524
@ U_INPC_TOP_AND_LEFT_AND_RIGHT
Definition: uchar.h:2534
@ U_INPC_LEFT
Definition: uchar.h:2518
@ U_INPC_NA
Definition: uchar.h:2510
@ U_INPC_TOP
Definition: uchar.h:2526
@ U_INPC_TOP_AND_LEFT
Definition: uchar.h:2532
@ U_INPC_OVERSTRUCK
Definition: uchar.h:2522
@ U_INPC_TOP_AND_BOTTOM
Definition: uchar.h:2528
@ U_INPC_BOTTOM_AND_RIGHT
Definition: uchar.h:2516
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:972
@ U_SEGMENT_SEPARATOR
S.
Definition: uchar.h:997
@ U_EUROPEAN_NUMBER_TERMINATOR
ET.
Definition: uchar.h:989
@ U_BOUNDARY_NEUTRAL
BN.
Definition: uchar.h:1017
@ U_RIGHT_TO_LEFT_ARABIC
AL.
Definition: uchar.h:1007
@ U_RIGHT_TO_LEFT
R.
Definition: uchar.h:983
@ U_POP_DIRECTIONAL_ISOLATE
PDI.
Definition: uchar.h:1025
@ U_COMMON_NUMBER_SEPARATOR
CS.
Definition: uchar.h:993
@ U_LEFT_TO_RIGHT
L.
Definition: uchar.h:981
@ U_DIR_NON_SPACING_MARK
NSM.
Definition: uchar.h:1015
@ U_FIRST_STRONG_ISOLATE
FSI.
Definition: uchar.h:1019
@ U_ARABIC_NUMBER
AN.
Definition: uchar.h:991
@ U_POP_DIRECTIONAL_FORMAT
PDF.
Definition: uchar.h:1013
@ U_OTHER_NEUTRAL
ON.
Definition: uchar.h:1001
@ U_CHAR_DIRECTION_COUNT
One more than the highest UCharDirection value.
Definition: uchar.h:1033
@ U_WHITE_SPACE_NEUTRAL
WS.
Definition: uchar.h:999
@ U_RIGHT_TO_LEFT_OVERRIDE
RLO.
Definition: uchar.h:1011
@ U_RIGHT_TO_LEFT_EMBEDDING
RLE.
Definition: uchar.h:1009
@ U_EUROPEAN_NUMBER_SEPARATOR
ES.
Definition: uchar.h:987
@ U_LEFT_TO_RIGHT_ISOLATE
LRI.
Definition: uchar.h:1021
@ U_LEFT_TO_RIGHT_OVERRIDE
LRO.
Definition: uchar.h:1005
@ U_EUROPEAN_NUMBER
EN.
Definition: uchar.h:985
@ U_BLOCK_SEPARATOR
B.
Definition: uchar.h:995
@ U_LEFT_TO_RIGHT_EMBEDDING
LRE.
Definition: uchar.h:1003
@ U_RIGHT_TO_LEFT_ISOLATE
RLI.
Definition: uchar.h:1023
UPropertyNameChoice
Selector constants for u_getPropertyName() and u_getPropertyValueName().
Definition: uchar.h:1984
@ U_PROPERTY_NAME_CHOICE_COUNT
One more than the highest normal UPropertyNameChoice value.
Definition: uchar.h:1992
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:3649
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:2361
@ U_LB_E_MODIFIER
Definition: uchar.h:2424
@ U_LB_WORD_JOINER
Definition: uchar.h:2402
@ U_LB_H3
Definition: uchar.h:2406
@ U_LB_H2
Definition: uchar.h:2404
@ U_LB_CONDITIONAL_JAPANESE_STARTER
Definition: uchar.h:2416
@ U_LB_NEXT_LINE
Definition: uchar.h:2400
@ U_LB_INSEPARABLE
Renamed from the misspelled "inseperable" in Unicode 4.0.1/ICU 3.0.
Definition: uchar.h:2384
@ U_LB_E_BASE
Definition: uchar.h:2422
@ U_LB_JV
Definition: uchar.h:2412
@ U_LB_JL
Definition: uchar.h:2408
@ U_LB_CLOSE_PARENTHESIS
Definition: uchar.h:2414
@ U_LB_ZWJ
Definition: uchar.h:2426
@ U_LB_COUNT
One more than the highest normal ULineBreak value.
Definition: uchar.h:2434
@ U_LB_REGIONAL_INDICATOR
Definition: uchar.h:2420
@ U_LB_HEBREW_LETTER
Definition: uchar.h:2418
@ U_LB_JT
Definition: uchar.h:2410
int32_t u_getISOComment(UChar32 c, char *dest, int32_t destCapacity, UErrorCode *pErrorCode)
Returns an empty string.
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:776
@ U_FORMAT_CHAR
Cf.
Definition: uchar.h:819
@ U_SPACE_SEPARATOR
Zs.
Definition: uchar.h:811
@ U_MODIFIER_SYMBOL
Sk.
Definition: uchar.h:839
@ U_GENERAL_OTHER_TYPES
Cn "Other, Not Assigned (no characters in [UnicodeData.txt] have this property)" (same as U_UNASSIGNE...
Definition: uchar.h:787
@ U_TITLECASE_LETTER
Lt.
Definition: uchar.h:793
@ U_PRIVATE_USE_CHAR
Co.
Definition: uchar.h:821
@ U_OTHER_SYMBOL
So.
Definition: uchar.h:841
@ U_UPPERCASE_LETTER
Lu.
Definition: uchar.h:789
@ U_MODIFIER_LETTER
Lm.
Definition: uchar.h:795
@ U_PARAGRAPH_SEPARATOR
Zp.
Definition: uchar.h:815
@ U_OTHER_PUNCTUATION
Po.
Definition: uchar.h:833
@ U_ENCLOSING_MARK
Me.
Definition: uchar.h:801
@ U_INITIAL_PUNCTUATION
Pi.
Definition: uchar.h:843
@ U_UNASSIGNED
Non-category for unassigned and non-character code points.
Definition: uchar.h:785
@ U_CURRENCY_SYMBOL
Sc.
Definition: uchar.h:837
@ U_COMBINING_SPACING_MARK
Mc.
Definition: uchar.h:803
@ U_CONTROL_CHAR
Cc.
Definition: uchar.h:817
@ U_OTHER_LETTER
Lo.
Definition: uchar.h:797
@ U_NON_SPACING_MARK
Mn.
Definition: uchar.h:799
@ U_START_PUNCTUATION
Ps.
Definition: uchar.h:827
@ U_CONNECTOR_PUNCTUATION
Pc.
Definition: uchar.h:831
@ U_END_PUNCTUATION
Pe.
Definition: uchar.h:829
@ U_OTHER_NUMBER
No.
Definition: uchar.h:809
@ U_LINE_SEPARATOR
Zl.
Definition: uchar.h:813
@ U_DASH_PUNCTUATION
Pd.
Definition: uchar.h:825
@ U_MATH_SYMBOL
Sm.
Definition: uchar.h:835
@ U_CHAR_CATEGORY_COUNT
One higher than the last enum UCharCategory constant.
Definition: uchar.h:853
@ U_DECIMAL_DIGIT_NUMBER
Nd.
Definition: uchar.h:805
@ U_LOWERCASE_LETTER
Ll.
Definition: uchar.h:791
@ U_FINAL_PUNCTUATION
Pf.
Definition: uchar.h:845
@ U_LETTER_NUMBER
Nl.
Definition: uchar.h:807
@ U_SURROGATE
Cs.
Definition: uchar.h:823
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:2636
@ U_VO_UPRIGHT
Definition: uchar.h:2650
@ U_VO_TRANSFORMED_UPRIGHT
Definition: uchar.h:2648
@ U_VO_ROTATED
Definition: uchar.h:2644
@ U_VO_TRANSFORMED_ROTATED
Definition: uchar.h:2646
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:2074
@ U_JG_FE
Definition: uchar.h:2133
@ U_JG_BURUSHASKI_YEH_BARREE
Definition: uchar.h:2136
@ U_JG_MANICHAEAN_KAPH
Definition: uchar.h:2149
@ U_JG_THIN_YEH
Definition: uchar.h:2187
@ U_JG_MANICHAEAN_SAMEKH
Definition: uchar.h:2158
@ U_JG_MANICHAEAN_ZAYIN
Definition: uchar.h:2166
@ U_JG_MALAYALAM_TTA
Definition: uchar.h:2182
@ U_JG_MANICHAEAN_AYIN
Definition: uchar.h:2141
@ U_JG_MANICHAEAN_ALEPH
Definition: uchar.h:2140
@ U_JG_FARSI_YEH
Definition: uchar.h:2137
@ U_JG_MANICHAEAN_DALETH
Definition: uchar.h:2143
@ U_JG_MANICHAEAN_FIVE
Definition: uchar.h:2145
@ U_JG_MANICHAEAN_SADHE
Definition: uchar.h:2157
@ U_JG_MANICHAEAN_TAW
Definition: uchar.h:2159
@ U_JG_MALAYALAM_LLLA
Definition: uchar.h:2175
@ U_JG_MALAYALAM_NNNA
Definition: uchar.h:2178
@ U_JG_MANICHAEAN_ONE
Definition: uchar.h:2153
@ U_JG_MALAYALAM_LLA
Definition: uchar.h:2174
@ U_JG_VERTICAL_TAIL
Definition: uchar.h:2188
@ U_JG_AFRICAN_FEH
Definition: uchar.h:2168
@ U_JG_HANIFI_ROHINGYA_PA
Definition: uchar.h:2185
@ U_JG_MALAYALAM_BHA
Definition: uchar.h:2172
@ U_JG_MANICHAEAN_TWENTY
Definition: uchar.h:2163
@ U_JG_MANICHAEAN_THAMEDH
Definition: uchar.h:2162
@ U_JG_MANICHAEAN_PE
Definition: uchar.h:2154
@ U_JG_ZHAIN
Definition: uchar.h:2135
@ U_JG_MANICHAEAN_TETH
Definition: uchar.h:2161
@ U_JG_MANICHAEAN_BETH
Definition: uchar.h:2142
@ U_JG_COUNT
One more than the highest normal UJoiningGroup value.
Definition: uchar.h:2197
@ U_JG_MANICHAEAN_TEN
Definition: uchar.h:2160
@ U_JG_MANICHAEAN_GIMEL
Definition: uchar.h:2146
@ U_JG_TEH_MARBUTA_GOAL
Definition: uchar.h:2095
@ U_JG_AFRICAN_NOON
Definition: uchar.h:2169
@ U_JG_MALAYALAM_NGA
Definition: uchar.h:2176
@ U_JG_MANICHAEAN_MEM
Definition: uchar.h:2151
@ U_JG_KHAPH
Definition: uchar.h:2134
@ U_JG_MALAYALAM_RA
Definition: uchar.h:2180
@ U_JG_MALAYALAM_NNA
Definition: uchar.h:2177
@ U_JG_MALAYALAM_JA
Definition: uchar.h:2173
@ U_JG_MALAYALAM_NYA
Definition: uchar.h:2179
@ U_JG_MALAYALAM_SSA
Definition: uchar.h:2181
@ U_JG_MANICHAEAN_WAW
Definition: uchar.h:2164
@ U_JG_AFRICAN_QAF
Definition: uchar.h:2170
@ U_JG_MANICHAEAN_DHAMEDH
Definition: uchar.h:2144
@ U_JG_STRAIGHT_WAW
Definition: uchar.h:2167
@ U_JG_ROHINGYA_YEH
Definition: uchar.h:2139
@ U_JG_MANICHAEAN_HETH
Definition: uchar.h:2147
@ U_JG_MANICHAEAN_LAMEDH
Definition: uchar.h:2150
@ U_JG_MANICHAEAN_HUNDRED
Definition: uchar.h:2148
@ U_JG_HANIFI_ROHINGYA_KINNA_YA
Definition: uchar.h:2184
@ U_JG_MANICHAEAN_NUN
Definition: uchar.h:2152
@ U_JG_NYA
Definition: uchar.h:2138
@ U_JG_MANICHAEAN_YODH
Definition: uchar.h:2165
@ U_JG_MANICHAEAN_RESH
Definition: uchar.h:2156
@ U_JG_MANICHAEAN_QOPH
Definition: uchar.h:2155
UHangulSyllableType
Hangul Syllable Type constants.
Definition: uchar.h:2472
@ U_HST_COUNT
One more than the highest normal UHangulSyllableType value.
Definition: uchar.h:2492
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...
USentenceBreak
Sentence Break constants.
Definition: uchar.h:2322
@ U_SB_COUNT
One more than the highest normal USentenceBreak value.
Definition: uchar.h:2351
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:3469
UEastAsianWidth
East Asian Width constants.
Definition: uchar.h:1912
@ U_EA_COUNT
One more than the highest normal UEastAsianWidth value.
Definition: uchar.h:1932
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 const UCPMap * u_getIntPropertyMap(UProperty property, UErrorCode *pErrorCode)
Returns an immutable UCPMap for an enumerated/catalog/int-valued 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:2207
@ U_GCB_SPACING_MARK
Definition: uchar.h:2225
@ U_GCB_E_BASE
Definition: uchar.h:2231
@ U_GCB_REGIONAL_INDICATOR
Definition: uchar.h:2229
@ U_GCB_GLUE_AFTER_ZWJ
Definition: uchar.h:2237
@ U_GCB_ZWJ
Definition: uchar.h:2239
@ U_GCB_PREPEND
Definition: uchar.h:2227
@ U_GCB_COUNT
One more than the highest normal UGraphemeClusterBreak value.
Definition: uchar.h:2248
@ U_GCB_E_MODIFIER
Definition: uchar.h:2235
@ U_GCB_E_BASE_GAZ
Definition: uchar.h:2233
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 in an identifier according to Java.
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 UBool u_ispunct(UChar32 c)
Determines whether the specified code point is a punctuation character.
UNumericType
Numeric Type constants.
Definition: uchar.h:2444
@ U_NT_COUNT
One more than the highest normal UNumericType value.
Definition: uchar.h:2462
UDecompositionType
Decomposition Type constants.
Definition: uchar.h:2002
@ U_DT_COUNT
One more than the highest normal UDecompositionType value.
Definition: uchar.h:2034
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:195
@ UCHAR_GRAPHEME_CLUSTER_BREAK
Enumerated property Grapheme_Cluster_Break (new in Unicode 4.1).
Definition: uchar.h:614
@ UCHAR_BIDI_PAIRED_BRACKET
String property Bidi_Paired_Bracket (new in Unicode 6.3).
Definition: uchar.h:741
@ UCHAR_ALPHABETIC
Binary property Alphabetic.
Definition: uchar.h:209
@ UCHAR_POSIX_GRAPH
Binary property graph (a C/POSIX character class).
Definition: uchar.h:407
@ 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:552
@ UCHAR_INVALID_CODE
Represents a nonexistent or invalid property or property value.
Definition: uchar.h:767
@ UCHAR_SEGMENT_STARTER
Binary Property Segment_Starter.
Definition: uchar.h:382
@ UCHAR_PREPENDED_CONCATENATION_MARK
Binary property Prepended_Concatenation_Mark.
Definition: uchar.h:478
@ UCHAR_REGIONAL_INDICATOR
Binary property Regional_Indicator.
Definition: uchar.h:473
@ UCHAR_OTHER_PROPERTY_START
First constant for Unicode properties with unusual value types.
Definition: uchar.h:757
@ UCHAR_S_TERM
Binary property STerm (new in Unicode 4.0.1).
Definition: uchar.h:337
@ UCHAR_WHITE_SPACE
Binary property White_Space.
Definition: uchar.h:321
@ UCHAR_CANONICAL_COMBINING_CLASS
Enumerated property Canonical_Combining_Class.
Definition: uchar.h:555
@ UCHAR_SOFT_DOTTED
Binary property Soft_Dotted (new in Unicode 3.2).
Definition: uchar.h:306
@ UCHAR_GRAPHEME_LINK
Binary property Grapheme_Link (new in Unicode 3.2).
Definition: uchar.h:253
@ UCHAR_PATTERN_SYNTAX
Binary property Pattern_Syntax (new in Unicode 4.1).
Definition: uchar.h:387
@ UCHAR_GRAPHEME_EXTEND
Binary property Grapheme_Extend (new in Unicode 3.2).
Definition: uchar.h:250
@ UCHAR_CASED
Binary property Cased.
Definition: uchar.h:419
@ UCHAR_XID_START
Binary property XID_Start.
Definition: uchar.h:328
@ 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:651
@ UCHAR_NFKC_INERT
Binary property NFKC_Inert.
Definition: uchar.h:371
@ UCHAR_INT_LIMIT
One more than the last constant for enumerated/integer Unicode properties.
Definition: uchar.h:657
@ 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:763
@ UCHAR_PATTERN_WHITE_SPACE
Binary property Pattern_White_Space (new in Unicode 4.1).
Definition: uchar.h:392
@ UCHAR_VARIATION_SELECTOR
Binary property Variation_Selector (new in Unicode 4.0.1).
Definition: uchar.h:343
@ UCHAR_NUMERIC_VALUE
Double property Numeric_Value.
Definition: uchar.h:681
@ UCHAR_DOUBLE_START
First constant for double Unicode properties.
Definition: uchar.h:683
@ UCHAR_HEX_DIGIT
Binary property Hex_Digit.
Definition: uchar.h:256
@ UCHAR_SIMPLE_TITLECASE_MAPPING
String property Simple_Titlecase_Mapping.
Definition: uchar.h:722
@ UCHAR_TRAIL_CANONICAL_COMBINING_CLASS
Enumerated property Trail_Canonical_Combining_Class.
Definition: uchar.h:609
@ UCHAR_DIACRITIC
Binary property Diacritic.
Definition: uchar.h:234
@ UCHAR_XID_CONTINUE
Binary property XID_Continue.
Definition: uchar.h:325
@ UCHAR_NFKC_QUICK_CHECK
Enumerated property NFKC_Quick_Check.
Definition: uchar.h:595
@ UCHAR_HYPHEN
Binary property Hyphen.
Definition: uchar.h:259
@ UCHAR_RADICAL
Binary property Radical (new in Unicode 3.2).
Definition: uchar.h:301
@ UCHAR_BIDI_PAIRED_BRACKET_TYPE
Enumerated property Bidi_Paired_Bracket_Type (new in Unicode 6.3).
Definition: uchar.h:629
@ UCHAR_DASH
Binary property Dash.
Definition: uchar.h:224
@ UCHAR_ASCII_HEX_DIGIT
Binary property ASCII_Hex_Digit.
Definition: uchar.h:213
@ UCHAR_ID_CONTINUE
Binary property ID_Continue.
Definition: uchar.h:264
@ UCHAR_NFKD_INERT
Binary property NFKD_Inert.
Definition: uchar.h:357
@ UCHAR_BIDI_MIRRORING_GLYPH
String property Bidi_Mirroring_Glyph.
Definition: uchar.h:699
@ UCHAR_LEAD_CANONICAL_COMBINING_CLASS
Enumerated property Lead_Canonical_Combining_Class.
Definition: uchar.h:602
@ UCHAR_UNICODE_1_NAME
String property Unicode_1_Name.
Definition: uchar.h:734
@ UCHAR_BIDI_MIRRORED
Binary property Bidi_Mirrored.
Definition: uchar.h:222
@ UCHAR_CASE_IGNORABLE
Binary property Case_Ignorable.
Definition: uchar.h:421
@ UCHAR_EAST_ASIAN_WIDTH
Enumerated property East_Asian_Width.
Definition: uchar.h:562
@ UCHAR_STRING_LIMIT
One more than the last constant for string Unicode properties.
Definition: uchar.h:747
@ UCHAR_EMOJI_PRESENTATION
Binary property Emoji_Presentation.
Definition: uchar.h:447
@ UCHAR_GRAPHEME_BASE
Binary property Grapheme_Base (new in Unicode 3.2).
Definition: uchar.h:246
@ UCHAR_NFKD_QUICK_CHECK
Enumerated property NFKD_Quick_Check.
Definition: uchar.h:589
@ UCHAR_NAME
String property Name.
Definition: uchar.h:713
@ UCHAR_UPPERCASE
Binary property Uppercase.
Definition: uchar.h:317
@ UCHAR_CASE_FOLDING
String property Case_Folding.
Definition: uchar.h:702
@ UCHAR_INDIC_SYLLABIC_CATEGORY
Enumerated property Indic_Syllabic_Category.
Definition: uchar.h:644
@ UCHAR_MATH
Binary property Math.
Definition: uchar.h:291
@ UCHAR_NUMERIC_TYPE
Enumerated property Numeric_Type.
Definition: uchar.h:577
@ 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:706
@ UCHAR_SCRIPT
Enumerated property Script.
Definition: uchar.h:580
@ UCHAR_CHANGES_WHEN_TITLECASED
Binary property Changes_When_Titlecased.
Definition: uchar.h:427
@ UCHAR_EXTENDED_PICTOGRAPHIC
Binary property Extended_Pictographic.
Definition: uchar.h:485
@ UCHAR_DEPRECATED
Binary property Deprecated (new in Unicode 3.2).
Definition: uchar.h:231
@ UCHAR_CHANGES_WHEN_UPPERCASED
Binary property Changes_When_Uppercased.
Definition: uchar.h:425
@ UCHAR_CHANGES_WHEN_CASEFOLDED
Binary property Changes_When_Casefolded.
Definition: uchar.h:429
@ UCHAR_INDIC_POSITIONAL_CATEGORY
Enumerated property Indic_Positional_Category.
Definition: uchar.h:637
@ UCHAR_DEFAULT_IGNORABLE_CODE_POINT
Binary property Default_Ignorable_Code_Point (new in Unicode 3.2).
Definition: uchar.h:228
@ UCHAR_GENERAL_CATEGORY
Enumerated property General_Category.
Definition: uchar.h:565
@ UCHAR_INT_START
First constant for enumerated/integer Unicode properties.
Definition: uchar.h:549
@ UCHAR_EMOJI_MODIFIER
Binary property Emoji_Modifier.
Definition: uchar.h:454
@ UCHAR_NFD_QUICK_CHECK
Enumerated property NFD_Quick_Check.
Definition: uchar.h:586
@ UCHAR_IDS_BINARY_OPERATOR
Binary property IDS_Binary_Operator (new in Unicode 3.2).
Definition: uchar.h:275
@ UCHAR_BINARY_START
First constant for binary Unicode properties.
Definition: uchar.h:211
@ UCHAR_TERMINAL_PUNCTUATION
Binary property Terminal_Punctuation.
Definition: uchar.h:310
@ UCHAR_GENERAL_CATEGORY_MASK
Bitmask property General_Category_Mask.
Definition: uchar.h:668
@ UCHAR_MASK_START
First constant for bit-mask Unicode properties.
Definition: uchar.h:670
@ UCHAR_DECOMPOSITION_TYPE
Enumerated property Decomposition_Type.
Definition: uchar.h:558
@ UCHAR_TITLECASE_MAPPING
String property Titlecase_Mapping.
Definition: uchar.h:728
@ UCHAR_HANGUL_SYLLABLE_TYPE
Enumerated property Hangul_Syllable_Type, new in Unicode 4.
Definition: uchar.h:583
@ UCHAR_LINE_BREAK
Enumerated property Line_Break.
Definition: uchar.h:574
@ UCHAR_SIMPLE_UPPERCASE_MAPPING
String property Simple_Uppercase_Mapping.
Definition: uchar.h:725
@ UCHAR_POSIX_ALNUM
Binary property alnum (a C/POSIX character class).
Definition: uchar.h:397
@ UCHAR_JOINING_TYPE
Enumerated property Joining_Type.
Definition: uchar.h:571
@ 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:297
@ UCHAR_NFC_INERT
Binary property NFC_Inert.
Definition: uchar.h:364
@ UCHAR_LOWERCASE_MAPPING
String property Lowercase_Mapping.
Definition: uchar.h:710
@ UCHAR_SIMPLE_CASE_FOLDING
String property Simple_Case_Folding.
Definition: uchar.h:716
@ UCHAR_JOIN_CONTROL
Binary property Join_Control.
Definition: uchar.h:282
@ UCHAR_NONCHARACTER_CODE_POINT
Binary property Noncharacter_Code_Point.
Definition: uchar.h:295
@ UCHAR_BIDI_CONTROL
Binary property Bidi_Control.
Definition: uchar.h:217
@ UCHAR_CHANGES_WHEN_LOWERCASED
Binary property Changes_When_Lowercased.
Definition: uchar.h:423
@ UCHAR_BINARY_LIMIT
One more than the last constant for binary Unicode properties.
Definition: uchar.h:542
@ UCHAR_IDS_TRINARY_OPERATOR
Binary property IDS_Trinary_Operator (new in Unicode 3.2).
Definition: uchar.h:279
@ UCHAR_ID_START
Binary property ID_Start.
Definition: uchar.h:268
@ UCHAR_AGE
String property Age.
Definition: uchar.h:694
@ UCHAR_WORD_BREAK
Enumerated property Word_Break (new in Unicode 4.1).
Definition: uchar.h:624
@ UCHAR_DOUBLE_LIMIT
One more than the last constant for double Unicode properties.
Definition: uchar.h:689
@ UCHAR_EMOJI_MODIFIER_BASE
Binary property Emoji_Modifier_Base.
Definition: uchar.h:461
@ UCHAR_EMOJI_COMPONENT
Binary property Emoji_Component.
Definition: uchar.h:468
@ UCHAR_POSIX_BLANK
Binary property blank (a C/POSIX character class).
Definition: uchar.h:402
@ UCHAR_SIMPLE_LOWERCASE_MAPPING
String property Simple_Lowercase_Mapping.
Definition: uchar.h:719
@ UCHAR_NFD_INERT
Binary property NFD_Inert.
Definition: uchar.h:350
@ UCHAR_POSIX_PRINT
Binary property print (a C/POSIX character class).
Definition: uchar.h:412
@ UCHAR_SENTENCE_BREAK
Enumerated property Sentence_Break (new in Unicode 4.1).
Definition: uchar.h:619
@ UCHAR_IDEOGRAPHIC
Binary property Ideographic.
Definition: uchar.h:271
@ UCHAR_UNIFIED_IDEOGRAPH
Binary property Unified_Ideograph (new in Unicode 3.2).
Definition: uchar.h:314
@ UCHAR_CHANGES_WHEN_NFKC_CASEFOLDED
Binary property Changes_When_NFKC_Casefolded.
Definition: uchar.h:433
@ UCHAR_NFC_QUICK_CHECK
Enumerated property NFC_Quick_Check.
Definition: uchar.h:592
@ UCHAR_CASE_SENSITIVE
Binary property Case_Sensitive.
Definition: uchar.h:332
@ UCHAR_UPPERCASE_MAPPING
String property Uppercase_Mapping.
Definition: uchar.h:738
@ UCHAR_BIDI_CLASS
Enumerated property Bidi_Class.
Definition: uchar.h:547
@ 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:676
@ UCHAR_JOINING_GROUP
Enumerated property Joining_Group.
Definition: uchar.h:568
@ UCHAR_LOGICAL_ORDER_EXCEPTION
Binary property Logical_Order_Exception (new in Unicode 3.2).
Definition: uchar.h:286
@ UCHAR_EXTENDER
Binary property Extender.
Definition: uchar.h:238
@ UCHAR_STRING_START
First constant for string Unicode properties.
Definition: uchar.h:696
@ UCHAR_SCRIPT_EXTENSIONS
Miscellaneous property Script_Extensions (new in Unicode 6.0).
Definition: uchar.h:755
@ UCHAR_FULL_COMPOSITION_EXCLUSION
Binary property Full_Composition_Exclusion.
Definition: uchar.h:242
@ UCHAR_EMOJI
Binary property Emoji.
Definition: uchar.h:440
@ UCHAR_LOWERCASE
Binary property Lowercase.
Definition: uchar.h:289
@ UCHAR_CHANGES_WHEN_CASEMAPPED
Binary property Changes_When_Casemapped.
Definition: uchar.h:431
@ UCHAR_POSIX_XDIGIT
Binary property xdigit (a C/POSIX character class).
Definition: uchar.h:417
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:2549
@ U_INSC_VISARGA
Definition: uchar.h:2621
@ U_INSC_BINDU
Definition: uchar.h:2561
@ U_INSC_INVISIBLE_STACKER
Definition: uchar.h:2595
@ U_INSC_SYLLABLE_MODIFIER
Definition: uchar.h:2613
@ U_INSC_VIRAMA
Definition: uchar.h:2619
@ U_INSC_MODIFYING_LETTER
Definition: uchar.h:2599
@ U_INSC_REGISTER_SHIFTER
Definition: uchar.h:2611
@ U_INSC_NUKTA
Definition: uchar.h:2603
@ U_INSC_NON_JOINER
Definition: uchar.h:2601
@ U_INSC_TONE_MARK
Definition: uchar.h:2617
@ U_INSC_GEMINATION_MARK
Definition: uchar.h:2593
@ U_INSC_CONSONANT_KILLER
Definition: uchar.h:2577
@ U_INSC_CONSONANT_HEAD_LETTER
Definition: uchar.h:2573
@ U_INSC_BRAHMI_JOINING_NUMBER
Definition: uchar.h:2563
@ U_INSC_CONSONANT_DEAD
Definition: uchar.h:2569
@ U_INSC_OTHER
Definition: uchar.h:2557
@ U_INSC_NUMBER
Definition: uchar.h:2605
@ U_INSC_TONE_LETTER
Definition: uchar.h:2615
@ U_INSC_JOINER
Definition: uchar.h:2597
@ U_INSC_CANTILLATION_MARK
Definition: uchar.h:2565
@ U_INSC_PURE_KILLER
Definition: uchar.h:2609
@ U_INSC_VOWEL_INDEPENDENT
Definition: uchar.h:2627
@ U_INSC_CONSONANT_MEDIAL
Definition: uchar.h:2579
@ U_INSC_CONSONANT_WITH_STACKER
Definition: uchar.h:2591
@ U_INSC_CONSONANT_PREFIXED
Definition: uchar.h:2585
@ U_INSC_CONSONANT
Definition: uchar.h:2567
@ U_INSC_CONSONANT_SUCCEEDING_REPHA
Definition: uchar.h:2589
@ U_INSC_CONSONANT_PLACEHOLDER
Definition: uchar.h:2581
@ U_INSC_VOWEL
Definition: uchar.h:2623
@ U_INSC_NUMBER_JOINER
Definition: uchar.h:2607
@ U_INSC_CONSONANT_PRECEDING_REPHA
Definition: uchar.h:2583
@ U_INSC_CONSONANT_SUBJOINED
Definition: uchar.h:2587
@ U_INSC_VOWEL_DEPENDENT
Definition: uchar.h:2625
@ U_INSC_CONSONANT_INITIAL_POSTFIXED
Definition: uchar.h:2575
@ U_INSC_AVAGRAHA
Definition: uchar.h:2559
@ U_INSC_CONSONANT_FINAL
Definition: uchar.h:2571
UWordBreakValues
Word Break constants.
Definition: uchar.h:2259
@ U_WB_E_MODIFIER
Definition: uchar.h:2297
@ U_WB_E_BASE_GAZ
Definition: uchar.h:2295
@ U_WB_REGIONAL_INDICATOR
Definition: uchar.h:2285
@ U_WB_DOUBLE_QUOTE
Definition: uchar.h:2291
@ U_WB_LF
Definition: uchar.h:2279
@ U_WB_HEBREW_LETTER
Definition: uchar.h:2287
@ U_WB_WSEGSPACE
Definition: uchar.h:2303
@ U_WB_COUNT
One more than the highest normal UWordBreakValues value.
Definition: uchar.h:2312
@ U_WB_GLUE_AFTER_ZWJ
Definition: uchar.h:2299
@ U_WB_NEWLINE
Definition: uchar.h:2283
@ U_WB_SINGLE_QUOTE
Definition: uchar.h:2289
@ U_WB_CR
Definition: uchar.h:2275
@ U_WB_E_BASE
Definition: uchar.h:2293
@ U_WB_ZWJ
Definition: uchar.h:2301
@ U_WB_EXTEND
Definition: uchar.h:2277
@ U_WB_MIDNUMLET
Definition: uchar.h:2281
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:1043
@ U_BPT_CLOSE
Close paired bracket.
Definition: uchar.h:1055
@ U_BPT_COUNT
One more than the highest normal UBidiPairedBracketType value.
Definition: uchar.h:1063
@ U_BPT_NONE
Not a paired bracket.
Definition: uchar.h:1051
@ U_BPT_OPEN
Open paired bracket.
Definition: uchar.h:1053
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....
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:31
int32_t UChar32
Define UChar32 as a type for single Unicode code points.
Definition: umachine.h:467
#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:269
#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:418
#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:50
Basic definitions for ICU, for both C and C++ APIs.
UErrorCode
Standard ICU4C error code type, a substitute for exceptions.
Definition: utypes.h:415
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