ICU 72.1 72.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 "15.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
535#ifndef U_HIDE_DEPRECATED_API
541#endif // U_HIDE_DEPRECATED_API
542
650#ifndef U_HIDE_DEPRECATED_API
656#endif // U_HIDE_DEPRECATED_API
657
669#ifndef U_HIDE_DEPRECATED_API
675#endif // U_HIDE_DEPRECATED_API
676
682#ifndef U_HIDE_DEPRECATED_API
688#endif // U_HIDE_DEPRECATED_API
689
692 UCHAR_AGE=0x4000,
701#ifndef U_HIDE_DEPRECATED_API
705#endif /* U_HIDE_DEPRECATED_API */
727#ifndef U_HIDE_DEPRECATED_API
733#endif /* U_HIDE_DEPRECATED_API */
740#ifndef U_HIDE_DEPRECATED_API
746#endif // U_HIDE_DEPRECATED_API
747
756#ifndef U_HIDE_DEPRECATED_API
762#endif // U_HIDE_DEPRECATED_API
763
767
773typedef enum UCharCategory
774{
775 /*
776 * Note: UCharCategory constants and their API comments are parsed by preparseucd.py.
777 * It matches pairs of lines like
778 * / ** <Unicode 2-letter General_Category value> comment... * /
779 * U_<[A-Z_]+> = <integer>,
780 */
781
853
868#define U_GC_CN_MASK U_MASK(U_GENERAL_OTHER_TYPES)
869
871#define U_GC_LU_MASK U_MASK(U_UPPERCASE_LETTER)
873#define U_GC_LL_MASK U_MASK(U_LOWERCASE_LETTER)
875#define U_GC_LT_MASK U_MASK(U_TITLECASE_LETTER)
877#define U_GC_LM_MASK U_MASK(U_MODIFIER_LETTER)
879#define U_GC_LO_MASK U_MASK(U_OTHER_LETTER)
880
882#define U_GC_MN_MASK U_MASK(U_NON_SPACING_MARK)
884#define U_GC_ME_MASK U_MASK(U_ENCLOSING_MARK)
886#define U_GC_MC_MASK U_MASK(U_COMBINING_SPACING_MARK)
887
889#define U_GC_ND_MASK U_MASK(U_DECIMAL_DIGIT_NUMBER)
891#define U_GC_NL_MASK U_MASK(U_LETTER_NUMBER)
893#define U_GC_NO_MASK U_MASK(U_OTHER_NUMBER)
894
896#define U_GC_ZS_MASK U_MASK(U_SPACE_SEPARATOR)
898#define U_GC_ZL_MASK U_MASK(U_LINE_SEPARATOR)
900#define U_GC_ZP_MASK U_MASK(U_PARAGRAPH_SEPARATOR)
901
903#define U_GC_CC_MASK U_MASK(U_CONTROL_CHAR)
905#define U_GC_CF_MASK U_MASK(U_FORMAT_CHAR)
907#define U_GC_CO_MASK U_MASK(U_PRIVATE_USE_CHAR)
909#define U_GC_CS_MASK U_MASK(U_SURROGATE)
910
912#define U_GC_PD_MASK U_MASK(U_DASH_PUNCTUATION)
914#define U_GC_PS_MASK U_MASK(U_START_PUNCTUATION)
916#define U_GC_PE_MASK U_MASK(U_END_PUNCTUATION)
918#define U_GC_PC_MASK U_MASK(U_CONNECTOR_PUNCTUATION)
920#define U_GC_PO_MASK U_MASK(U_OTHER_PUNCTUATION)
921
923#define U_GC_SM_MASK U_MASK(U_MATH_SYMBOL)
925#define U_GC_SC_MASK U_MASK(U_CURRENCY_SYMBOL)
927#define U_GC_SK_MASK U_MASK(U_MODIFIER_SYMBOL)
929#define U_GC_SO_MASK U_MASK(U_OTHER_SYMBOL)
930
932#define U_GC_PI_MASK U_MASK(U_INITIAL_PUNCTUATION)
934#define U_GC_PF_MASK U_MASK(U_FINAL_PUNCTUATION)
935
936
938#define U_GC_L_MASK \
939 (U_GC_LU_MASK|U_GC_LL_MASK|U_GC_LT_MASK|U_GC_LM_MASK|U_GC_LO_MASK)
940
942#define U_GC_LC_MASK \
943 (U_GC_LU_MASK|U_GC_LL_MASK|U_GC_LT_MASK)
944
946#define U_GC_M_MASK (U_GC_MN_MASK|U_GC_ME_MASK|U_GC_MC_MASK)
947
949#define U_GC_N_MASK (U_GC_ND_MASK|U_GC_NL_MASK|U_GC_NO_MASK)
950
952#define U_GC_Z_MASK (U_GC_ZS_MASK|U_GC_ZL_MASK|U_GC_ZP_MASK)
953
955#define U_GC_C_MASK \
956 (U_GC_CN_MASK|U_GC_CC_MASK|U_GC_CF_MASK|U_GC_CO_MASK|U_GC_CS_MASK)
957
959#define U_GC_P_MASK \
960 (U_GC_PD_MASK|U_GC_PS_MASK|U_GC_PE_MASK|U_GC_PC_MASK|U_GC_PO_MASK| \
961 U_GC_PI_MASK|U_GC_PF_MASK)
962
964#define U_GC_S_MASK (U_GC_SM_MASK|U_GC_SC_MASK|U_GC_SK_MASK|U_GC_SO_MASK)
965
970typedef enum UCharDirection {
971 /*
972 * Note: UCharDirection constants and their API comments are parsed by preparseucd.py.
973 * It matches pairs of lines like
974 * / ** <Unicode 1..3-letter Bidi_Class value> comment... * /
975 * U_<[A-Z_]+> = <integer>,
976 */
977
1024#ifndef U_HIDE_DEPRECATED_API
1032#endif // U_HIDE_DEPRECATED_API
1034
1042 /*
1043 * Note: UBidiPairedBracketType constants are parsed by preparseucd.py.
1044 * It matches lines like
1045 * U_BPT_<Unicode Bidi_Paired_Bracket_Type value name>
1046 */
1047
1054#ifndef U_HIDE_DEPRECATED_API
1061 U_BPT_COUNT /* 3 */
1062#endif // U_HIDE_DEPRECATED_API
1064
1070 /*
1071 * Note: UBlockCode constants are parsed by preparseucd.py.
1072 * It matches lines like
1073 * UBLOCK_<Unicode Block value name> = <integer>,
1074 */
1075
1077 UBLOCK_NO_BLOCK = 0, /*[none]*/ /* Special range indicating No_Block */
1078
1080 UBLOCK_BASIC_LATIN = 1, /*[0000]*/
1081
1084
1087
1090
1093
1096
1099
1104 UBLOCK_GREEK =8, /*[0370]*/
1105
1107 UBLOCK_CYRILLIC =9, /*[0400]*/
1108
1110 UBLOCK_ARMENIAN =10, /*[0530]*/
1111
1113 UBLOCK_HEBREW =11, /*[0590]*/
1114
1116 UBLOCK_ARABIC =12, /*[0600]*/
1117
1119 UBLOCK_SYRIAC =13, /*[0700]*/
1120
1122 UBLOCK_THAANA =14, /*[0780]*/
1123
1125 UBLOCK_DEVANAGARI =15, /*[0900]*/
1126
1128 UBLOCK_BENGALI =16, /*[0980]*/
1129
1131 UBLOCK_GURMUKHI =17, /*[0A00]*/
1132
1134 UBLOCK_GUJARATI =18, /*[0A80]*/
1135
1137 UBLOCK_ORIYA =19, /*[0B00]*/
1138
1140 UBLOCK_TAMIL =20, /*[0B80]*/
1141
1143 UBLOCK_TELUGU =21, /*[0C00]*/
1144
1146 UBLOCK_KANNADA =22, /*[0C80]*/
1147
1149 UBLOCK_MALAYALAM =23, /*[0D00]*/
1150
1152 UBLOCK_SINHALA =24, /*[0D80]*/
1153
1155 UBLOCK_THAI =25, /*[0E00]*/
1156
1158 UBLOCK_LAO =26, /*[0E80]*/
1159
1161 UBLOCK_TIBETAN =27, /*[0F00]*/
1162
1164 UBLOCK_MYANMAR =28, /*[1000]*/
1165
1167 UBLOCK_GEORGIAN =29, /*[10A0]*/
1168
1170 UBLOCK_HANGUL_JAMO =30, /*[1100]*/
1171
1173 UBLOCK_ETHIOPIC =31, /*[1200]*/
1174
1176 UBLOCK_CHEROKEE =32, /*[13A0]*/
1177
1180
1182 UBLOCK_OGHAM =34, /*[1680]*/
1183
1185 UBLOCK_RUNIC =35, /*[16A0]*/
1186
1188 UBLOCK_KHMER =36, /*[1780]*/
1189
1191 UBLOCK_MONGOLIAN =37, /*[1800]*/
1192
1195
1198
1201
1204
1207
1213
1216
1218 UBLOCK_NUMBER_FORMS =45, /*[2150]*/
1219
1221 UBLOCK_ARROWS =46, /*[2190]*/
1222
1225
1228
1231
1234
1237
1239 UBLOCK_BOX_DRAWING =52, /*[2500]*/
1240
1243
1246
1249
1251 UBLOCK_DINGBATS =56, /*[2700]*/
1252
1255
1258
1261
1264
1267
1269 UBLOCK_HIRAGANA =62, /*[3040]*/
1270
1272 UBLOCK_KATAKANA =63, /*[30A0]*/
1273
1275 UBLOCK_BOPOMOFO =64, /*[3100]*/
1276
1279
1281 UBLOCK_KANBUN =66, /*[3190]*/
1282
1285
1288
1291
1294
1297
1299 UBLOCK_YI_SYLLABLES =72, /*[A000]*/
1300
1302 UBLOCK_YI_RADICALS =73, /*[A490]*/
1303
1306
1309
1312
1315
1336
1339
1342
1345
1348
1351
1354
1357
1359 UBLOCK_SPECIALS =86, /*[FFF0]*/
1360
1363
1364 /* New blocks in Unicode 3.1 */
1365
1367 UBLOCK_OLD_ITALIC = 88, /*[10300]*/
1369 UBLOCK_GOTHIC = 89, /*[10330]*/
1371 UBLOCK_DESERET = 90, /*[10400]*/
1375 UBLOCK_MUSICAL_SYMBOLS = 92, /*[1D100]*/
1383 UBLOCK_TAGS = 96, /*[E0000]*/
1384
1385 /* New blocks in Unicode 3.2 */
1386
1395 UBLOCK_TAGALOG = 98, /*[1700]*/
1397 UBLOCK_HANUNOO = 99, /*[1720]*/
1399 UBLOCK_BUHID = 100, /*[1740]*/
1401 UBLOCK_TAGBANWA = 101, /*[1760]*/
1420
1421 /* New blocks in Unicode 4 */
1422
1424 UBLOCK_LIMBU = 111, /*[1900]*/
1426 UBLOCK_TAI_LE = 112, /*[1950]*/
1428 UBLOCK_KHMER_SYMBOLS = 113, /*[19E0]*/
1436 UBLOCK_LINEAR_B_SYLLABARY = 117, /*[10000]*/
1438 UBLOCK_LINEAR_B_IDEOGRAMS = 118, /*[10080]*/
1440 UBLOCK_AEGEAN_NUMBERS = 119, /*[10100]*/
1442 UBLOCK_UGARITIC = 120, /*[10380]*/
1444 UBLOCK_SHAVIAN = 121, /*[10450]*/
1446 UBLOCK_OSMANYA = 122, /*[10480]*/
1448 UBLOCK_CYPRIOT_SYLLABARY = 123, /*[10800]*/
1453
1454 /* New blocks in Unicode 4.1 */
1455
1463 UBLOCK_BUGINESE = 129, /*[1A00]*/
1465 UBLOCK_CJK_STROKES = 130, /*[31C0]*/
1469 UBLOCK_COPTIC = 132, /*[2C80]*/
1477 UBLOCK_GLAGOLITIC = 136, /*[2C00]*/
1479 UBLOCK_KHAROSHTHI = 137, /*[10A00]*/
1483 UBLOCK_NEW_TAI_LUE = 139, /*[1980]*/
1485 UBLOCK_OLD_PERSIAN = 140, /*[103A0]*/
1491 UBLOCK_SYLOTI_NAGRI = 143, /*[A800]*/
1493 UBLOCK_TIFINAGH = 144, /*[2D30]*/
1495 UBLOCK_VERTICAL_FORMS = 145, /*[FE10]*/
1496
1497 /* New blocks in Unicode 5.0 */
1498
1500 UBLOCK_NKO = 146, /*[07C0]*/
1502 UBLOCK_BALINESE = 147, /*[1B00]*/
1504 UBLOCK_LATIN_EXTENDED_C = 148, /*[2C60]*/
1506 UBLOCK_LATIN_EXTENDED_D = 149, /*[A720]*/
1508 UBLOCK_PHAGS_PA = 150, /*[A840]*/
1510 UBLOCK_PHOENICIAN = 151, /*[10900]*/
1512 UBLOCK_CUNEIFORM = 152, /*[12000]*/
1517
1518 /* New blocks in Unicode 5.1 */
1519
1521 UBLOCK_SUNDANESE = 155, /*[1B80]*/
1523 UBLOCK_LEPCHA = 156, /*[1C00]*/
1525 UBLOCK_OL_CHIKI = 157, /*[1C50]*/
1529 UBLOCK_VAI = 159, /*[A500]*/
1533 UBLOCK_SAURASHTRA = 161, /*[A880]*/
1535 UBLOCK_KAYAH_LI = 162, /*[A900]*/
1537 UBLOCK_REJANG = 163, /*[A930]*/
1539 UBLOCK_CHAM = 164, /*[AA00]*/
1541 UBLOCK_ANCIENT_SYMBOLS = 165, /*[10190]*/
1543 UBLOCK_PHAISTOS_DISC = 166, /*[101D0]*/
1545 UBLOCK_LYCIAN = 167, /*[10280]*/
1547 UBLOCK_CARIAN = 168, /*[102A0]*/
1549 UBLOCK_LYDIAN = 169, /*[10920]*/
1551 UBLOCK_MAHJONG_TILES = 170, /*[1F000]*/
1553 UBLOCK_DOMINO_TILES = 171, /*[1F030]*/
1554
1555 /* New blocks in Unicode 5.2 */
1556
1558 UBLOCK_SAMARITAN = 172, /*[0800]*/
1562 UBLOCK_TAI_THAM = 174, /*[1A20]*/
1564 UBLOCK_VEDIC_EXTENSIONS = 175, /*[1CD0]*/
1566 UBLOCK_LISU = 176, /*[A4D0]*/
1568 UBLOCK_BAMUM = 177, /*[A6A0]*/
1576 UBLOCK_JAVANESE = 181, /*[A980]*/
1580 UBLOCK_TAI_VIET = 183, /*[AA80]*/
1582 UBLOCK_MEETEI_MAYEK = 184, /*[ABC0]*/
1586 UBLOCK_IMPERIAL_ARAMAIC = 186, /*[10840]*/
1588 UBLOCK_OLD_SOUTH_ARABIAN = 187, /*[10A60]*/
1590 UBLOCK_AVESTAN = 188, /*[10B00]*/
1596 UBLOCK_OLD_TURKIC = 191, /*[10C00]*/
1600 UBLOCK_KAITHI = 193, /*[11080]*/
1609
1610 /* New blocks in Unicode 6.0 */
1611
1613 UBLOCK_MANDAIC = 198, /*[0840]*/
1615 UBLOCK_BATAK = 199, /*[1BC0]*/
1619 UBLOCK_BRAHMI = 201, /*[11000]*/
1621 UBLOCK_BAMUM_SUPPLEMENT = 202, /*[16800]*/
1623 UBLOCK_KANA_SUPPLEMENT = 203, /*[1B000]*/
1625 UBLOCK_PLAYING_CARDS = 204, /*[1F0A0]*/
1629 UBLOCK_EMOTICONS = 206, /*[1F600]*/
1633 UBLOCK_ALCHEMICAL_SYMBOLS = 208, /*[1F700]*/
1636
1637 /* New blocks in Unicode 6.1 */
1638
1644 UBLOCK_CHAKMA = 212, /*[11100]*/
1648 UBLOCK_MEROITIC_CURSIVE = 214, /*[109A0]*/
1652 UBLOCK_MIAO = 216, /*[16F00]*/
1654 UBLOCK_SHARADA = 217, /*[11180]*/
1656 UBLOCK_SORA_SOMPENG = 218, /*[110D0]*/
1660 UBLOCK_TAKRI = 220, /*[11680]*/
1661
1662 /* New blocks in Unicode 7.0 */
1663
1665 UBLOCK_BASSA_VAH = 221, /*[16AD0]*/
1667 UBLOCK_CAUCASIAN_ALBANIAN = 222, /*[10530]*/
1673 UBLOCK_DUPLOYAN = 225, /*[1BC00]*/
1675 UBLOCK_ELBASAN = 226, /*[10500]*/
1679 UBLOCK_GRANTHA = 228, /*[11300]*/
1681 UBLOCK_KHOJKI = 229, /*[11200]*/
1683 UBLOCK_KHUDAWADI = 230, /*[112B0]*/
1685 UBLOCK_LATIN_EXTENDED_E = 231, /*[AB30]*/
1687 UBLOCK_LINEAR_A = 232, /*[10600]*/
1689 UBLOCK_MAHAJANI = 233, /*[11150]*/
1691 UBLOCK_MANICHAEAN = 234, /*[10AC0]*/
1693 UBLOCK_MENDE_KIKAKUI = 235, /*[1E800]*/
1695 UBLOCK_MODI = 236, /*[11600]*/
1697 UBLOCK_MRO = 237, /*[16A40]*/
1701 UBLOCK_NABATAEAN = 239, /*[10880]*/
1703 UBLOCK_OLD_NORTH_ARABIAN = 240, /*[10A80]*/
1705 UBLOCK_OLD_PERMIC = 241, /*[10350]*/
1709 UBLOCK_PAHAWH_HMONG = 243, /*[16B00]*/
1711 UBLOCK_PALMYRENE = 244, /*[10860]*/
1713 UBLOCK_PAU_CIN_HAU = 245, /*[11AC0]*/
1715 UBLOCK_PSALTER_PAHLAVI = 246, /*[10B80]*/
1719 UBLOCK_SIDDHAM = 248, /*[11580]*/
1725 UBLOCK_TIRHUTA = 251, /*[11480]*/
1727 UBLOCK_WARANG_CITI = 252, /*[118A0]*/
1728
1729 /* New blocks in Unicode 8.0 */
1730
1732 UBLOCK_AHOM = 253, /*[11700]*/
1742 UBLOCK_HATRAN = 258, /*[108E0]*/
1744 UBLOCK_MULTANI = 259, /*[11280]*/
1746 UBLOCK_OLD_HUNGARIAN = 260, /*[10C80]*/
1750 UBLOCK_SUTTON_SIGNWRITING = 262, /*[1D800]*/
1751
1752 /* New blocks in Unicode 9.0 */
1753
1755 UBLOCK_ADLAM = 263, /*[1E900]*/
1757 UBLOCK_BHAIKSUKI = 264, /*[11C00]*/
1765 UBLOCK_MARCHEN = 268, /*[11C70]*/
1769 UBLOCK_NEWA = 270, /*[11400]*/
1771 UBLOCK_OSAGE = 271, /*[104B0]*/
1773 UBLOCK_TANGUT = 272, /*[17000]*/
1775 UBLOCK_TANGUT_COMPONENTS = 273, /*[18800]*/
1776
1777 // New blocks in Unicode 10.0
1778
1782 UBLOCK_KANA_EXTENDED_A = 275, /*[1B100]*/
1784 UBLOCK_MASARAM_GONDI = 276, /*[11D00]*/
1786 UBLOCK_NUSHU = 277, /*[1B170]*/
1788 UBLOCK_SOYOMBO = 278, /*[11A50]*/
1792 UBLOCK_ZANABAZAR_SQUARE = 280, /*[11A00]*/
1793
1794 // New blocks in Unicode 11.0
1795
1797 UBLOCK_CHESS_SYMBOLS = 281, /*[1FA00]*/
1799 UBLOCK_DOGRA = 282, /*[11800]*/
1803 UBLOCK_GUNJALA_GONDI = 284, /*[11D60]*/
1805 UBLOCK_HANIFI_ROHINGYA = 285, /*[10D00]*/
1809 UBLOCK_MAKASAR = 287, /*[11EE0]*/
1811 UBLOCK_MAYAN_NUMERALS = 288, /*[1D2E0]*/
1813 UBLOCK_MEDEFAIDRIN = 289, /*[16E40]*/
1815 UBLOCK_OLD_SOGDIAN = 290, /*[10F00]*/
1817 UBLOCK_SOGDIAN = 291, /*[10F30]*/
1818
1819 // New blocks in Unicode 12.0
1820
1824 UBLOCK_ELYMAIC = 293, /*[10FE0]*/
1826 UBLOCK_NANDINAGARI = 294, /*[119A0]*/
1836 UBLOCK_TAMIL_SUPPLEMENT = 299, /*[11FC0]*/
1838 UBLOCK_WANCHO = 300, /*[1E2C0]*/
1839
1840 // New blocks in Unicode 13.0
1841
1843 UBLOCK_CHORASMIAN = 301, /*[10FB0]*/
1847 UBLOCK_DIVES_AKURU = 303, /*[11900]*/
1851 UBLOCK_LISU_SUPPLEMENT = 305, /*[11FB0]*/
1855 UBLOCK_TANGUT_SUPPLEMENT = 307, /*[18D00]*/
1857 UBLOCK_YEZIDI = 308, /*[10E80]*/
1858
1859 // New blocks in Unicode 14.0
1860
1864 UBLOCK_CYPRO_MINOAN = 310, /*[12F90]*/
1868 UBLOCK_KANA_EXTENDED_B = 312, /*[1AFF0]*/
1870 UBLOCK_LATIN_EXTENDED_F = 313, /*[10780]*/
1872 UBLOCK_LATIN_EXTENDED_G = 314, /*[1DF00]*/
1874 UBLOCK_OLD_UYGHUR = 315, /*[10F70]*/
1876 UBLOCK_TANGSA = 316, /*[16A70]*/
1878 UBLOCK_TOTO = 317, /*[1E290]*/
1882 UBLOCK_VITHKUQI = 319, /*[10570]*/
1885
1886 // New blocks in Unicode 15.0
1887
1889 UBLOCK_ARABIC_EXTENDED_C = 321, /*[10EC0]*/
1897 UBLOCK_KAKTOVIK_NUMERALS = 325, /*[1D2C0]*/
1899 UBLOCK_KAWI = 326, /*[11F00]*/
1901 UBLOCK_NAG_MUNDARI = 327, /*[1E4D0]*/
1902
1903#ifndef U_HIDE_DEPRECATED_API
1911#endif // U_HIDE_DEPRECATED_API
1912
1916
1919
1927typedef enum UEastAsianWidth {
1928 /*
1929 * Note: UEastAsianWidth constants are parsed by preparseucd.py.
1930 * It matches lines like
1931 * U_EA_<Unicode East_Asian_Width value name>
1932 */
1933
1934 U_EA_NEUTRAL, /*[N]*/
1935 U_EA_AMBIGUOUS, /*[A]*/
1936 U_EA_HALFWIDTH, /*[H]*/
1937 U_EA_FULLWIDTH, /*[F]*/
1938 U_EA_NARROW, /*[Na]*/
1939 U_EA_WIDE, /*[W]*/
1940#ifndef U_HIDE_DEPRECATED_API
1948#endif // U_HIDE_DEPRECATED_API
1950
1962typedef enum UCharNameChoice {
1965#ifndef U_HIDE_DEPRECATED_API
1972#endif /* U_HIDE_DEPRECATED_API */
1977#ifndef U_HIDE_DEPRECATED_API
1983#endif // U_HIDE_DEPRECATED_API
1985
2000 U_SHORT_PROPERTY_NAME,
2001 U_LONG_PROPERTY_NAME,
2002#ifndef U_HIDE_DEPRECATED_API
2008#endif // U_HIDE_DEPRECATED_API
2010
2018 /*
2019 * Note: UDecompositionType constants are parsed by preparseucd.py.
2020 * It matches lines like
2021 * U_DT_<Unicode Decomposition_Type value name>
2022 */
2023
2024 U_DT_NONE, /*[none]*/
2025 U_DT_CANONICAL, /*[can]*/
2026 U_DT_COMPAT, /*[com]*/
2027 U_DT_CIRCLE, /*[enc]*/
2028 U_DT_FINAL, /*[fin]*/
2029 U_DT_FONT, /*[font]*/
2030 U_DT_FRACTION, /*[fra]*/
2031 U_DT_INITIAL, /*[init]*/
2032 U_DT_ISOLATED, /*[iso]*/
2033 U_DT_MEDIAL, /*[med]*/
2034 U_DT_NARROW, /*[nar]*/
2035 U_DT_NOBREAK, /*[nb]*/
2036 U_DT_SMALL, /*[sml]*/
2037 U_DT_SQUARE, /*[sqr]*/
2038 U_DT_SUB, /*[sub]*/
2039 U_DT_SUPER, /*[sup]*/
2040 U_DT_VERTICAL, /*[vert]*/
2041 U_DT_WIDE, /*[wide]*/
2042#ifndef U_HIDE_DEPRECATED_API
2049 U_DT_COUNT /* 18 */
2050#endif // U_HIDE_DEPRECATED_API
2052
2059typedef enum UJoiningType {
2060 /*
2061 * Note: UJoiningType constants are parsed by preparseucd.py.
2062 * It matches lines like
2063 * U_JT_<Unicode Joining_Type value name>
2064 */
2065
2066 U_JT_NON_JOINING, /*[U]*/
2067 U_JT_JOIN_CAUSING, /*[C]*/
2068 U_JT_DUAL_JOINING, /*[D]*/
2069 U_JT_LEFT_JOINING, /*[L]*/
2070 U_JT_RIGHT_JOINING, /*[R]*/
2071 U_JT_TRANSPARENT, /*[T]*/
2072#ifndef U_HIDE_DEPRECATED_API
2079 U_JT_COUNT /* 6 */
2080#endif // U_HIDE_DEPRECATED_API
2082
2089typedef enum UJoiningGroup {
2090 /*
2091 * Note: UJoiningGroup constants are parsed by preparseucd.py.
2092 * It matches lines like
2093 * U_JG_<Unicode Joining_Group value name>
2094 */
2095
2096 U_JG_NO_JOINING_GROUP,
2097 U_JG_AIN,
2098 U_JG_ALAPH,
2099 U_JG_ALEF,
2100 U_JG_BEH,
2101 U_JG_BETH,
2102 U_JG_DAL,
2103 U_JG_DALATH_RISH,
2104 U_JG_E,
2105 U_JG_FEH,
2106 U_JG_FINAL_SEMKATH,
2107 U_JG_GAF,
2108 U_JG_GAMAL,
2109 U_JG_HAH,
2111 U_JG_HAMZA_ON_HEH_GOAL=U_JG_TEH_MARBUTA_GOAL,
2112 U_JG_HE,
2113 U_JG_HEH,
2114 U_JG_HEH_GOAL,
2115 U_JG_HETH,
2116 U_JG_KAF,
2117 U_JG_KAPH,
2118 U_JG_KNOTTED_HEH,
2119 U_JG_LAM,
2120 U_JG_LAMADH,
2121 U_JG_MEEM,
2122 U_JG_MIM,
2123 U_JG_NOON,
2124 U_JG_NUN,
2125 U_JG_PE,
2126 U_JG_QAF,
2127 U_JG_QAPH,
2128 U_JG_REH,
2129 U_JG_REVERSED_PE,
2130 U_JG_SAD,
2131 U_JG_SADHE,
2132 U_JG_SEEN,
2133 U_JG_SEMKATH,
2134 U_JG_SHIN,
2135 U_JG_SWASH_KAF,
2136 U_JG_SYRIAC_WAW,
2137 U_JG_TAH,
2138 U_JG_TAW,
2139 U_JG_TEH_MARBUTA,
2140 U_JG_TETH,
2141 U_JG_WAW,
2142 U_JG_YEH,
2143 U_JG_YEH_BARREE,
2144 U_JG_YEH_WITH_TAIL,
2145 U_JG_YUDH,
2146 U_JG_YUDH_HE,
2147 U_JG_ZAIN,
2205#ifndef U_HIDE_DEPRECATED_API
2213#endif // U_HIDE_DEPRECATED_API
2215
2223 /*
2224 * Note: UGraphemeClusterBreak constants are parsed by preparseucd.py.
2225 * It matches lines like
2226 * U_GCB_<Unicode Grapheme_Cluster_Break value name>
2227 */
2228
2229 U_GCB_OTHER = 0, /*[XX]*/
2230 U_GCB_CONTROL = 1, /*[CN]*/
2231 U_GCB_CR = 2, /*[CR]*/
2232 U_GCB_EXTEND = 3, /*[EX]*/
2233 U_GCB_L = 4, /*[L]*/
2234 U_GCB_LF = 5, /*[LF]*/
2235 U_GCB_LV = 6, /*[LV]*/
2236 U_GCB_LVT = 7, /*[LVT]*/
2237 U_GCB_T = 8, /*[T]*/
2238 U_GCB_V = 9, /*[V]*/
2240 U_GCB_SPACING_MARK = 10, /*[SM]*/ /* from here on: new in Unicode 5.1/ICU 4.0 */
2242 U_GCB_PREPEND = 11, /*[PP]*/
2244 U_GCB_REGIONAL_INDICATOR = 12, /*[RI]*/ /* new in Unicode 6.2/ICU 50 */
2246 U_GCB_E_BASE = 13, /*[EB]*/ /* from here on: new in Unicode 9.0/ICU 58 */
2248 U_GCB_E_BASE_GAZ = 14, /*[EBG]*/
2250 U_GCB_E_MODIFIER = 15, /*[EM]*/
2252 U_GCB_GLUE_AFTER_ZWJ = 16, /*[GAZ]*/
2254 U_GCB_ZWJ = 17, /*[ZWJ]*/
2255
2256#ifndef U_HIDE_DEPRECATED_API
2263 U_GCB_COUNT = 18
2264#endif // U_HIDE_DEPRECATED_API
2266
2274typedef enum UWordBreakValues {
2275 /*
2276 * Note: UWordBreakValues constants are parsed by preparseucd.py.
2277 * It matches lines like
2278 * U_WB_<Unicode Word_Break value name>
2279 */
2280
2281 U_WB_OTHER = 0, /*[XX]*/
2282 U_WB_ALETTER = 1, /*[LE]*/
2283 U_WB_FORMAT = 2, /*[FO]*/
2284 U_WB_KATAKANA = 3, /*[KA]*/
2285 U_WB_MIDLETTER = 4, /*[ML]*/
2286 U_WB_MIDNUM = 5, /*[MN]*/
2287 U_WB_NUMERIC = 6, /*[NU]*/
2288 U_WB_EXTENDNUMLET = 7, /*[EX]*/
2290 U_WB_CR = 8, /*[CR]*/ /* from here on: new in Unicode 5.1/ICU 4.0 */
2292 U_WB_EXTEND = 9, /*[Extend]*/
2294 U_WB_LF = 10, /*[LF]*/
2296 U_WB_MIDNUMLET =11, /*[MB]*/
2298 U_WB_NEWLINE =12, /*[NL]*/
2300 U_WB_REGIONAL_INDICATOR = 13, /*[RI]*/ /* new in Unicode 6.2/ICU 50 */
2302 U_WB_HEBREW_LETTER = 14, /*[HL]*/ /* from here on: new in Unicode 6.3/ICU 52 */
2304 U_WB_SINGLE_QUOTE = 15, /*[SQ]*/
2306 U_WB_DOUBLE_QUOTE = 16, /*[DQ]*/
2308 U_WB_E_BASE = 17, /*[EB]*/ /* from here on: new in Unicode 9.0/ICU 58 */
2310 U_WB_E_BASE_GAZ = 18, /*[EBG]*/
2312 U_WB_E_MODIFIER = 19, /*[EM]*/
2314 U_WB_GLUE_AFTER_ZWJ = 20, /*[GAZ]*/
2316 U_WB_ZWJ = 21, /*[ZWJ]*/
2318 U_WB_WSEGSPACE = 22, /*[WSEGSPACE]*/
2319
2320#ifndef U_HIDE_DEPRECATED_API
2327 U_WB_COUNT = 23
2328#endif // U_HIDE_DEPRECATED_API
2330
2337typedef enum USentenceBreak {
2338 /*
2339 * Note: USentenceBreak constants are parsed by preparseucd.py.
2340 * It matches lines like
2341 * U_SB_<Unicode Sentence_Break value name>
2342 */
2343
2344 U_SB_OTHER = 0, /*[XX]*/
2345 U_SB_ATERM = 1, /*[AT]*/
2346 U_SB_CLOSE = 2, /*[CL]*/
2347 U_SB_FORMAT = 3, /*[FO]*/
2348 U_SB_LOWER = 4, /*[LO]*/
2349 U_SB_NUMERIC = 5, /*[NU]*/
2350 U_SB_OLETTER = 6, /*[LE]*/
2351 U_SB_SEP = 7, /*[SE]*/
2352 U_SB_SP = 8, /*[SP]*/
2353 U_SB_STERM = 9, /*[ST]*/
2354 U_SB_UPPER = 10, /*[UP]*/
2355 U_SB_CR = 11, /*[CR]*/ /* from here on: new in Unicode 5.1/ICU 4.0 */
2356 U_SB_EXTEND = 12, /*[EX]*/
2357 U_SB_LF = 13, /*[LF]*/
2358 U_SB_SCONTINUE = 14, /*[SC]*/
2359#ifndef U_HIDE_DEPRECATED_API
2366 U_SB_COUNT = 15
2367#endif // U_HIDE_DEPRECATED_API
2369
2376typedef enum ULineBreak {
2377 /*
2378 * Note: ULineBreak constants are parsed by preparseucd.py.
2379 * It matches lines like
2380 * U_LB_<Unicode Line_Break value name>
2381 */
2382
2383 U_LB_UNKNOWN = 0, /*[XX]*/
2384 U_LB_AMBIGUOUS = 1, /*[AI]*/
2385 U_LB_ALPHABETIC = 2, /*[AL]*/
2386 U_LB_BREAK_BOTH = 3, /*[B2]*/
2387 U_LB_BREAK_AFTER = 4, /*[BA]*/
2388 U_LB_BREAK_BEFORE = 5, /*[BB]*/
2389 U_LB_MANDATORY_BREAK = 6, /*[BK]*/
2390 U_LB_CONTINGENT_BREAK = 7, /*[CB]*/
2391 U_LB_CLOSE_PUNCTUATION = 8, /*[CL]*/
2392 U_LB_COMBINING_MARK = 9, /*[CM]*/
2393 U_LB_CARRIAGE_RETURN = 10, /*[CR]*/
2394 U_LB_EXCLAMATION = 11, /*[EX]*/
2395 U_LB_GLUE = 12, /*[GL]*/
2396 U_LB_HYPHEN = 13, /*[HY]*/
2397 U_LB_IDEOGRAPHIC = 14, /*[ID]*/
2399 U_LB_INSEPARABLE = 15, /*[IN]*/
2400 U_LB_INSEPERABLE = U_LB_INSEPARABLE,
2401 U_LB_INFIX_NUMERIC = 16, /*[IS]*/
2402 U_LB_LINE_FEED = 17, /*[LF]*/
2403 U_LB_NONSTARTER = 18, /*[NS]*/
2404 U_LB_NUMERIC = 19, /*[NU]*/
2405 U_LB_OPEN_PUNCTUATION = 20, /*[OP]*/
2406 U_LB_POSTFIX_NUMERIC = 21, /*[PO]*/
2407 U_LB_PREFIX_NUMERIC = 22, /*[PR]*/
2408 U_LB_QUOTATION = 23, /*[QU]*/
2409 U_LB_COMPLEX_CONTEXT = 24, /*[SA]*/
2410 U_LB_SURROGATE = 25, /*[SG]*/
2411 U_LB_SPACE = 26, /*[SP]*/
2412 U_LB_BREAK_SYMBOLS = 27, /*[SY]*/
2413 U_LB_ZWSPACE = 28, /*[ZW]*/
2415 U_LB_NEXT_LINE = 29, /*[NL]*/ /* from here on: new in Unicode 4/ICU 2.6 */
2417 U_LB_WORD_JOINER = 30, /*[WJ]*/
2419 U_LB_H2 = 31, /*[H2]*/ /* from here on: new in Unicode 4.1/ICU 3.4 */
2421 U_LB_H3 = 32, /*[H3]*/
2423 U_LB_JL = 33, /*[JL]*/
2425 U_LB_JT = 34, /*[JT]*/
2427 U_LB_JV = 35, /*[JV]*/
2429 U_LB_CLOSE_PARENTHESIS = 36, /*[CP]*/ /* new in Unicode 5.2/ICU 4.4 */
2431 U_LB_CONDITIONAL_JAPANESE_STARTER = 37,/*[CJ]*/ /* new in Unicode 6.1/ICU 49 */
2433 U_LB_HEBREW_LETTER = 38, /*[HL]*/ /* new in Unicode 6.1/ICU 49 */
2435 U_LB_REGIONAL_INDICATOR = 39,/*[RI]*/ /* new in Unicode 6.2/ICU 50 */
2437 U_LB_E_BASE = 40, /*[EB]*/ /* from here on: new in Unicode 9.0/ICU 58 */
2439 U_LB_E_MODIFIER = 41, /*[EM]*/
2441 U_LB_ZWJ = 42, /*[ZWJ]*/
2442#ifndef U_HIDE_DEPRECATED_API
2449 U_LB_COUNT = 43
2450#endif // U_HIDE_DEPRECATED_API
2452
2459typedef enum UNumericType {
2460 /*
2461 * Note: UNumericType constants are parsed by preparseucd.py.
2462 * It matches lines like
2463 * U_NT_<Unicode Numeric_Type value name>
2464 */
2465
2466 U_NT_NONE, /*[None]*/
2467 U_NT_DECIMAL, /*[de]*/
2468 U_NT_DIGIT, /*[di]*/
2469 U_NT_NUMERIC, /*[nu]*/
2470#ifndef U_HIDE_DEPRECATED_API
2478#endif // U_HIDE_DEPRECATED_API
2480
2488 /*
2489 * Note: UHangulSyllableType constants are parsed by preparseucd.py.
2490 * It matches lines like
2491 * U_HST_<Unicode Hangul_Syllable_Type value name>
2492 */
2493
2494 U_HST_NOT_APPLICABLE, /*[NA]*/
2495 U_HST_LEADING_JAMO, /*[L]*/
2496 U_HST_VOWEL_JAMO, /*[V]*/
2497 U_HST_TRAILING_JAMO, /*[T]*/
2498 U_HST_LV_SYLLABLE, /*[LV]*/
2499 U_HST_LVT_SYLLABLE, /*[LVT]*/
2500#ifndef U_HIDE_DEPRECATED_API
2508#endif // U_HIDE_DEPRECATED_API
2510
2518 /*
2519 * Note: UIndicPositionalCategory constants are parsed by preparseucd.py.
2520 * It matches lines like
2521 * U_INPC_<Unicode Indic_Positional_Category value name>
2522 */
2523
2557
2565 /*
2566 * Note: UIndicSyllabicCategory constants are parsed by preparseucd.py.
2567 * It matches lines like
2568 * U_INSC_<Unicode Indic_Syllabic_Category value name>
2569 */
2570
2644
2652 /*
2653 * Note: UVerticalOrientation constants are parsed by preparseucd.py.
2654 * It matches lines like
2655 * U_VO_<Unicode Vertical_Orientation value name>
2656 */
2657
2667
2695U_CAPI UBool U_EXPORT2
2697
2722U_CAPI UBool U_EXPORT2
2723u_stringHasBinaryProperty(const UChar *s, int32_t length, UProperty which);
2724
2740U_CAPI const USet * U_EXPORT2
2742
2755U_CAPI UBool U_EXPORT2
2757
2770U_CAPI UBool U_EXPORT2
2772
2785U_CAPI UBool U_EXPORT2
2787
2806U_CAPI UBool U_EXPORT2
2808
2847U_CAPI int32_t U_EXPORT2
2849
2868U_CAPI int32_t U_EXPORT2
2870
2897U_CAPI int32_t U_EXPORT2
2899
2915U_CAPI const UCPMap * U_EXPORT2
2917
2940U_CAPI double U_EXPORT2
2942
2950#define U_NO_NUMERIC_VALUE ((double)-123456789.)
2951
2975U_CAPI UBool U_EXPORT2
2977
3002U_CAPI UBool U_EXPORT2
3004
3019U_CAPI UBool U_EXPORT2
3021
3040U_CAPI UBool U_EXPORT2
3042
3061U_CAPI UBool U_EXPORT2
3063
3082U_CAPI UBool U_EXPORT2
3084
3105U_CAPI UBool U_EXPORT2
3107
3121U_CAPI UBool U_EXPORT2
3123
3140U_CAPI UBool U_EXPORT2
3142
3168U_CAPI UBool U_EXPORT2
3170
3193U_CAPI UBool U_EXPORT2
3195
3214U_CAPI UBool U_EXPORT2
3216
3235U_CAPI UBool U_EXPORT2
3237
3275U_CAPI UBool U_EXPORT2
3277
3299U_CAPI UBool U_EXPORT2
3301
3314U_CAPI UBool U_EXPORT2
3316
3332U_CAPI UBool U_EXPORT2
3334
3352U_CAPI UBool U_EXPORT2
3354
3371U_CAPI UCharDirection U_EXPORT2
3373
3389U_CAPI UBool U_EXPORT2
3391
3411U_CAPI UChar32 U_EXPORT2
3413
3430U_CAPI UChar32 U_EXPORT2
3432
3444U_CAPI int8_t U_EXPORT2
3446
3460#define U_GET_GC_MASK(c) U_MASK(u_charType(c))
3461
3479typedef UBool U_CALLCONV
3480UCharEnumTypeRange(const void *context, UChar32 start, UChar32 limit, UCharCategory type);
3481
3501U_CAPI void U_EXPORT2
3502u_enumCharTypes(UCharEnumTypeRange *enumRange, const void *context);
3503
3504#if !UCONFIG_NO_NORMALIZATION
3505
3513U_CAPI uint8_t U_EXPORT2
3515
3516#endif
3517
3541U_CAPI int32_t U_EXPORT2
3543
3553U_CAPI UBlockCode U_EXPORT2
3555
3588U_CAPI int32_t U_EXPORT2
3590 char *buffer, int32_t bufferLength,
3591 UErrorCode *pErrorCode);
3592
3593#ifndef U_HIDE_DEPRECATED_API
3612U_DEPRECATED int32_t U_EXPORT2
3614 char *dest, int32_t destCapacity,
3615 UErrorCode *pErrorCode);
3616#endif /* U_HIDE_DEPRECATED_API */
3617
3638U_CAPI UChar32 U_EXPORT2
3640 const char *name,
3641 UErrorCode *pErrorCode);
3642
3660typedef UBool U_CALLCONV UEnumCharNamesFn(void *context,
3661 UChar32 code,
3662 UCharNameChoice nameChoice,
3663 const char *name,
3664 int32_t length);
3665
3687U_CAPI void U_EXPORT2
3689 UEnumCharNamesFn *fn,
3690 void *context,
3691 UCharNameChoice nameChoice,
3692 UErrorCode *pErrorCode);
3693
3725U_CAPI const char* U_EXPORT2
3727 UPropertyNameChoice nameChoice);
3728
3748U_CAPI UProperty U_EXPORT2
3749u_getPropertyEnum(const char* alias);
3750
3798U_CAPI const char* U_EXPORT2
3800 int32_t value,
3801 UPropertyNameChoice nameChoice);
3802
3834U_CAPI int32_t U_EXPORT2
3836 const char* alias);
3837
3855U_CAPI UBool U_EXPORT2
3857
3879U_CAPI UBool U_EXPORT2
3881
3902U_CAPI UBool U_EXPORT2
3904
3921U_CAPI UBool U_EXPORT2
3923
3942U_CAPI UBool U_EXPORT2
3944
3967U_CAPI UChar32 U_EXPORT2
3969
3992U_CAPI UChar32 U_EXPORT2
3994
4017U_CAPI UChar32 U_EXPORT2
4019
4042U_CAPI UChar32 U_EXPORT2
4043u_foldCase(UChar32 c, uint32_t options);
4044
4083U_CAPI int32_t U_EXPORT2
4084u_digit(UChar32 ch, int8_t radix);
4085
4114U_CAPI UChar32 U_EXPORT2
4115u_forDigit(int32_t digit, int8_t radix);
4116
4131U_CAPI void U_EXPORT2
4133
4145U_CAPI void U_EXPORT2
4147
4148#if !UCONFIG_NO_NORMALIZATION
4170U_CAPI int32_t U_EXPORT2
4171u_getFC_NFKC_Closure(UChar32 c, UChar *dest, int32_t destCapacity, UErrorCode *pErrorCode);
4172
4173#endif
4174
4175
4177
4178#endif /*_UCHAR*/
4179/*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:885
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:1069
@ UBLOCK_NANDINAGARI
Definition: uchar.h:1826
@ UBLOCK_MRO
Definition: uchar.h:1697
@ UBLOCK_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED
Definition: uchar.h:1560
@ UBLOCK_COUNT
One more than the highest normal UBlockCode value.
Definition: uchar.h:1910
@ UBLOCK_OPTICAL_CHARACTER_RECOGNITION
Definition: uchar.h:1233
@ UBLOCK_LATIN_EXTENDED_G
Definition: uchar.h:1872
@ UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B
Definition: uchar.h:1379
@ UBLOCK_INSCRIPTIONAL_PAHLAVI
Definition: uchar.h:1594
@ UBLOCK_KHMER
Definition: uchar.h:1188
@ UBLOCK_BHAIKSUKI
Definition: uchar.h:1757
@ UBLOCK_DUPLOYAN
Definition: uchar.h:1673
@ UBLOCK_MEDEFAIDRIN
Definition: uchar.h:1813
@ UBLOCK_BALINESE
Definition: uchar.h:1502
@ UBLOCK_HEBREW
Definition: uchar.h:1113
@ UBLOCK_YIJING_HEXAGRAM_SYMBOLS
Definition: uchar.h:1434
@ UBLOCK_SUPPLEMENTAL_SYMBOLS_AND_PICTOGRAPHS
Definition: uchar.h:1748
@ UBLOCK_CYRILLIC
Definition: uchar.h:1107
@ UBLOCK_ARABIC_EXTENDED_B
Definition: uchar.h:1862
@ UBLOCK_SPECIALS
Definition: uchar.h:1359
@ UBLOCK_HALFWIDTH_AND_FULLWIDTH_FORMS
Definition: uchar.h:1362
@ UBLOCK_NEWA
Definition: uchar.h:1769
@ UBLOCK_ARROWS
Definition: uchar.h:1221
@ UBLOCK_CJK_SYMBOLS_AND_PUNCTUATION
Definition: uchar.h:1266
@ UBLOCK_TAKRI
Definition: uchar.h:1660
@ UBLOCK_BOX_DRAWING
Definition: uchar.h:1239
@ UBLOCK_CURRENCY_SYMBOLS
Definition: uchar.h:1206
@ UBLOCK_MISCELLANEOUS_SYMBOLS
Definition: uchar.h:1248
@ UBLOCK_ANCIENT_GREEK_NUMBERS
Definition: uchar.h:1459
@ UBLOCK_OLD_PERMIC
Definition: uchar.h:1705
@ UBLOCK_CJK_STROKES
Definition: uchar.h:1465
@ UBLOCK_PALMYRENE
Definition: uchar.h:1711
@ UBLOCK_OGHAM
Definition: uchar.h:1182
@ UBLOCK_TANGSA
Definition: uchar.h:1876
@ UBLOCK_SUTTON_SIGNWRITING
Definition: uchar.h:1750
@ UBLOCK_ANATOLIAN_HIEROGLYPHS
Definition: uchar.h:1734
@ UBLOCK_SYMBOLS_FOR_LEGACY_COMPUTING
Definition: uchar.h:1853
@ UBLOCK_SUPPLEMENTAL_PUNCTUATION
Definition: uchar.h:1489
@ UBLOCK_MEROITIC_HIEROGLYPHS
Definition: uchar.h:1650
@ UBLOCK_EMOTICONS
Definition: uchar.h:1629
@ UBLOCK_INDIC_SIYAQ_NUMBERS
Definition: uchar.h:1807
@ UBLOCK_KAKTOVIK_NUMERALS
Definition: uchar.h:1897
@ UBLOCK_REJANG
Definition: uchar.h:1537
@ UBLOCK_TAGALOG
Definition: uchar.h:1395
@ UBLOCK_LISU
Definition: uchar.h:1566
@ UBLOCK_COPTIC_EPACT_NUMBERS
Definition: uchar.h:1669
@ UBLOCK_SUPERSCRIPTS_AND_SUBSCRIPTS
Definition: uchar.h:1203
@ UBLOCK_TAGS
Definition: uchar.h:1383
@ UBLOCK_MIAO
Definition: uchar.h:1652
@ UBLOCK_TAMIL_SUPPLEMENT
Definition: uchar.h:1836
@ UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C
Definition: uchar.h:1608
@ UBLOCK_LIMBU
Definition: uchar.h:1424
@ UBLOCK_LYDIAN
Definition: uchar.h:1549
@ UBLOCK_NYIAKENG_PUACHUE_HMONG
Definition: uchar.h:1828
@ UBLOCK_PHONETIC_EXTENSIONS_SUPPLEMENT
Definition: uchar.h:1487
@ UBLOCK_TAI_THAM
Definition: uchar.h:1562
@ UBLOCK_MAHJONG_TILES
Definition: uchar.h:1551
@ UBLOCK_PLAYING_CARDS
Definition: uchar.h:1625
@ UBLOCK_ETHIOPIC_EXTENDED_B
Definition: uchar.h:1866
@ UBLOCK_TRANSPORT_AND_MAP_SYMBOLS
Definition: uchar.h:1631
@ UBLOCK_IDEOGRAPHIC_DESCRIPTION_CHARACTERS
Definition: uchar.h:1263
@ UBLOCK_BASIC_LATIN
Definition: uchar.h:1080
@ UBLOCK_GURMUKHI
Definition: uchar.h:1131
@ UBLOCK_SYMBOLS_AND_PICTOGRAPHS_EXTENDED_A
Definition: uchar.h:1834
@ UBLOCK_HATRAN
Definition: uchar.h:1742
@ UBLOCK_PRIVATE_USE_AREA
Same as UBLOCK_PRIVATE_USE.
Definition: uchar.h:1325
@ UBLOCK_ARMENIAN
Definition: uchar.h:1110
@ UBLOCK_HANGUL_JAMO
Definition: uchar.h:1170
@ UBLOCK_VERTICAL_FORMS
Definition: uchar.h:1495
@ UBLOCK_SINHALA_ARCHAIC_NUMBERS
Definition: uchar.h:1721
@ UBLOCK_SOGDIAN
Definition: uchar.h:1817
@ UBLOCK_TIRHUTA
Definition: uchar.h:1725
@ UBLOCK_ELBASAN
Definition: uchar.h:1675
@ UBLOCK_MATHEMATICAL_ALPHANUMERIC_SYMBOLS
Definition: uchar.h:1377
@ UBLOCK_KHITAN_SMALL_SCRIPT
Definition: uchar.h:1849
@ UBLOCK_NUMBER_FORMS
Definition: uchar.h:1218
@ UBLOCK_CHAM
Definition: uchar.h:1539
@ UBLOCK_TANGUT
Definition: uchar.h:1773
@ UBLOCK_TAMIL
Definition: uchar.h:1140
@ UBLOCK_BLOCK_ELEMENTS
Definition: uchar.h:1242
@ UBLOCK_ENCLOSED_ALPHANUMERIC_SUPPLEMENT
Definition: uchar.h:1604
@ UBLOCK_CUNEIFORM_NUMBERS_AND_PUNCTUATION
Definition: uchar.h:1514
@ UBLOCK_LEPCHA
Definition: uchar.h:1523
@ UBLOCK_COMBINING_DIACRITICAL_MARKS_SUPPLEMENT
Definition: uchar.h:1467
@ UBLOCK_VARIATION_SELECTORS_SUPPLEMENT
Definition: uchar.h:1452
@ UBLOCK_DOMINO_TILES
Definition: uchar.h:1553
@ UBLOCK_COMBINING_DIACRITICAL_MARKS_EXTENDED
Definition: uchar.h:1671
@ UBLOCK_EGYPTIAN_HIEROGLYPHS
Definition: uchar.h:1602
@ UBLOCK_IPA_EXTENSIONS
Definition: uchar.h:1092
@ UBLOCK_TANGUT_COMPONENTS
Definition: uchar.h:1775
@ UBLOCK_CHEROKEE_SUPPLEMENT
Definition: uchar.h:1736
@ UBLOCK_ELYMAIC
Definition: uchar.h:1824
@ UBLOCK_LATIN_EXTENDED_A
Definition: uchar.h:1086
@ UBLOCK_HANUNOO
Definition: uchar.h:1397
@ UBLOCK_LAO
Definition: uchar.h:1158
@ UBLOCK_SUNDANESE_SUPPLEMENT
Definition: uchar.h:1658
@ UBLOCK_CYRILLIC_EXTENDED_A
Definition: uchar.h:1527
@ UBLOCK_HANGUL_JAMO_EXTENDED_B
Definition: uchar.h:1584
@ UBLOCK_SAMARITAN
Definition: uchar.h:1558
@ UBLOCK_SUPPLEMENTAL_ARROWS_A
Definition: uchar.h:1405
@ UBLOCK_DEVANAGARI_EXTENDED_A
Definition: uchar.h:1895
@ UBLOCK_GLAGOLITIC
Definition: uchar.h:1477
@ UBLOCK_INSCRIPTIONAL_PARTHIAN
Definition: uchar.h:1592
@ UBLOCK_WARANG_CITI
Definition: uchar.h:1727
@ UBLOCK_MONGOLIAN
Definition: uchar.h:1191
@ UBLOCK_NKO
Definition: uchar.h:1500
@ UBLOCK_ARABIC_EXTENDED_A
Definition: uchar.h:1640
@ UBLOCK_LYCIAN
Definition: uchar.h:1545
@ UBLOCK_CYRILLIC_EXTENDED_C
Definition: uchar.h:1759
@ UBLOCK_KANA_EXTENDED_B
Definition: uchar.h:1868
@ UBLOCK_DINGBATS
Definition: uchar.h:1251
@ UBLOCK_OTTOMAN_SIYAQ_NUMBERS
Definition: uchar.h:1830
@ UBLOCK_LINEAR_B_SYLLABARY
Definition: uchar.h:1436
@ UBLOCK_ENCLOSED_CJK_LETTERS_AND_MONTHS
Definition: uchar.h:1287
@ UBLOCK_CHAKMA
Definition: uchar.h:1644
@ UBLOCK_SPACING_MODIFIER_LETTERS
Definition: uchar.h:1095
@ UBLOCK_MEROITIC_CURSIVE
Definition: uchar.h:1648
@ UBLOCK_CYRILLIC_EXTENDED_B
Definition: uchar.h:1531
@ UBLOCK_GENERAL_PUNCTUATION
Definition: uchar.h:1200
@ UBLOCK_MONGOLIAN_SUPPLEMENT
Definition: uchar.h:1767
@ UBLOCK_MISCELLANEOUS_TECHNICAL
Definition: uchar.h:1227
@ UBLOCK_TAI_XUAN_JING_SYMBOLS
Definition: uchar.h:1450
@ UBLOCK_NABATAEAN
Definition: uchar.h:1701
@ UBLOCK_TAGBANWA
Definition: uchar.h:1401
@ UBLOCK_CUNEIFORM
Definition: uchar.h:1512
@ UBLOCK_CONTROL_PICTURES
Definition: uchar.h:1230
@ UBLOCK_GREEK
Unicode 3.2 renames this block to "Greek and Coptic".
Definition: uchar.h:1104
@ UBLOCK_HIGH_SURROGATES
Definition: uchar.h:1308
@ UBLOCK_COUNTING_ROD_NUMERALS
Definition: uchar.h:1516
@ UBLOCK_AEGEAN_NUMBERS
Definition: uchar.h:1440
@ UBLOCK_KAWI
Definition: uchar.h:1899
@ UBLOCK_BENGALI
Definition: uchar.h:1128
@ UBLOCK_LATIN_EXTENDED_E
Definition: uchar.h:1685
@ UBLOCK_NAG_MUNDARI
Definition: uchar.h:1901
@ UBLOCK_LINEAR_B_IDEOGRAMS
Definition: uchar.h:1438
@ UBLOCK_PAU_CIN_HAU
Definition: uchar.h:1713
@ UBLOCK_BUHID
Definition: uchar.h:1399
@ UBLOCK_GUNJALA_GONDI
Definition: uchar.h:1803
@ UBLOCK_RUMI_NUMERAL_SYMBOLS
Definition: uchar.h:1598
@ UBLOCK_HIGH_PRIVATE_USE_SURROGATES
Definition: uchar.h:1311
@ UBLOCK_MEETEI_MAYEK_EXTENSIONS
Definition: uchar.h:1646
@ UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_H
Definition: uchar.h:1891
@ UBLOCK_COMMON_INDIC_NUMBER_FORMS
Definition: uchar.h:1570
@ UBLOCK_ZANABAZAR_SQUARE
Definition: uchar.h:1792
@ UBLOCK_SUNDANESE
Definition: uchar.h:1521
@ UBLOCK_ARABIC_EXTENDED_C
Definition: uchar.h:1889
@ UBLOCK_CHESS_SYMBOLS
Definition: uchar.h:1797
@ UBLOCK_ENCLOSED_ALPHANUMERICS
Definition: uchar.h:1236
@ UBLOCK_COMBINING_HALF_MARKS
Definition: uchar.h:1347
@ UBLOCK_MANDAIC
Definition: uchar.h:1613
@ UBLOCK_OLD_UYGHUR
Definition: uchar.h:1874
@ UBLOCK_GLAGOLITIC_SUPPLEMENT
Definition: uchar.h:1761
@ UBLOCK_OSMANYA
Definition: uchar.h:1446
@ UBLOCK_DOGRA
Definition: uchar.h:1799
@ UBLOCK_IMPERIAL_ARAMAIC
Definition: uchar.h:1586
@ UBLOCK_BRAILLE_PATTERNS
Definition: uchar.h:1254
@ UBLOCK_OLD_HUNGARIAN
Definition: uchar.h:1746
@ UBLOCK_MATHEMATICAL_OPERATORS
Definition: uchar.h:1224
@ UBLOCK_KHOJKI
Definition: uchar.h:1681
@ UBLOCK_DIVES_AKURU
Definition: uchar.h:1847
@ UBLOCK_ORIYA
Definition: uchar.h:1137
@ UBLOCK_NO_BLOCK
New No_Block value in Unicode 4.
Definition: uchar.h:1077
@ UBLOCK_YI_RADICALS
Definition: uchar.h:1302
@ UBLOCK_BUGINESE
Definition: uchar.h:1463
@ UBLOCK_TANGUT_SUPPLEMENT
Definition: uchar.h:1855
@ UBLOCK_SMALL_FORM_VARIANTS
Definition: uchar.h:1353
@ UBLOCK_OLD_SOGDIAN
Definition: uchar.h:1815
@ UBLOCK_GEORGIAN_EXTENDED
Definition: uchar.h:1801
@ UBLOCK_TIFINAGH
Definition: uchar.h:1493
@ UBLOCK_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B
Definition: uchar.h:1409
@ UBLOCK_LATIN_EXTENDED_D
Definition: uchar.h:1506
@ UBLOCK_LATIN_EXTENDED_ADDITIONAL
Definition: uchar.h:1194
@ UBLOCK_MEETEI_MAYEK
Definition: uchar.h:1582
@ UBLOCK_EGYPTIAN_HIEROGLYPH_FORMAT_CONTROLS
Definition: uchar.h:1822
@ UBLOCK_MYANMAR
Definition: uchar.h:1164
@ UBLOCK_OL_CHIKI
Definition: uchar.h:1525
@ UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D
Definition: uchar.h:1635
@ UBLOCK_SHORTHAND_FORMAT_CONTROLS
Definition: uchar.h:1717
@ UBLOCK_COMBINING_MARKS_FOR_SYMBOLS
Unicode 3.2 renames this block to "Combining Diacritical Marks for Symbols".
Definition: uchar.h:1212
@ UBLOCK_MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS
Definition: uchar.h:1627
@ UBLOCK_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS
Definition: uchar.h:1179
@ UBLOCK_BOPOMOFO
Definition: uchar.h:1275
@ UBLOCK_KATAKANA_PHONETIC_EXTENSIONS
Definition: uchar.h:1413
@ UBLOCK_MARCHEN
Definition: uchar.h:1765
@ UBLOCK_MODI
Definition: uchar.h:1695
@ UBLOCK_YEZIDI
Definition: uchar.h:1857
@ UBLOCK_SUPPLEMENTAL_MATHEMATICAL_OPERATORS
Definition: uchar.h:1411
@ UBLOCK_CYPRO_MINOAN
Definition: uchar.h:1864
@ UBLOCK_MULTANI
Definition: uchar.h:1744
@ UBLOCK_ETHIOPIC_EXTENDED
Definition: uchar.h:1471
@ UBLOCK_AVESTAN
Definition: uchar.h:1590
@ UBLOCK_PRIVATE_USE
Same as UBLOCK_PRIVATE_USE_AREA.
Definition: uchar.h:1335
@ UBLOCK_GEORGIAN_SUPPLEMENT
Definition: uchar.h:1475
@ UBLOCK_COPTIC
Definition: uchar.h:1469
@ UBLOCK_HANGUL_COMPATIBILITY_JAMO
Definition: uchar.h:1278
@ UBLOCK_LOW_SURROGATES
Definition: uchar.h:1314
@ UBLOCK_SOYOMBO
Definition: uchar.h:1788
@ UBLOCK_ARABIC_SUPPLEMENT
Definition: uchar.h:1461
@ UBLOCK_HANGUL_SYLLABLES
Definition: uchar.h:1305
@ UBLOCK_MISCELLANEOUS_SYMBOLS_AND_ARROWS
Definition: uchar.h:1432
@ UBLOCK_CJK_COMPATIBILITY
Definition: uchar.h:1290
@ UBLOCK_CARIAN
Definition: uchar.h:1547
@ UBLOCK_HANIFI_ROHINGYA
Definition: uchar.h:1805
@ UBLOCK_TIBETAN
Definition: uchar.h:1161
@ UBLOCK_BASSA_VAH
Definition: uchar.h:1665
@ UBLOCK_OLD_TURKIC
Definition: uchar.h:1596
@ UBLOCK_CJK_RADICALS_SUPPLEMENT
Definition: uchar.h:1257
@ UBLOCK_VITHKUQI
Definition: uchar.h:1882
@ UBLOCK_ADLAM
Definition: uchar.h:1755
@ UBLOCK_MASARAM_GONDI
Definition: uchar.h:1784
@ UBLOCK_ARABIC_PRESENTATION_FORMS_B
Definition: uchar.h:1356
@ UBLOCK_RUNIC
Definition: uchar.h:1185
@ UBLOCK_ARABIC_PRESENTATION_FORMS_A
Definition: uchar.h:1344
@ UBLOCK_ENCLOSED_IDEOGRAPHIC_SUPPLEMENT
Definition: uchar.h:1606
@ UBLOCK_CHORASMIAN
Definition: uchar.h:1843
@ UBLOCK_BOPOMOFO_EXTENDED
Definition: uchar.h:1284
@ UBLOCK_IDEOGRAPHIC_SYMBOLS_AND_PUNCTUATION
Definition: uchar.h:1763
@ UBLOCK_LATIN_EXTENDED_F
Definition: uchar.h:1870
@ UBLOCK_KANGXI_RADICALS
Definition: uchar.h:1260
@ UBLOCK_SORA_SOMPENG
Definition: uchar.h:1656
@ UBLOCK_KANA_SUPPLEMENT
Definition: uchar.h:1623
@ UBLOCK_CHEROKEE
Definition: uchar.h:1176
@ UBLOCK_BRAHMI
Definition: uchar.h:1619
@ UBLOCK_SYLOTI_NAGRI
Definition: uchar.h:1491
@ UBLOCK_CYPRIOT_SYLLABARY
Definition: uchar.h:1448
@ UBLOCK_ETHIOPIC_SUPPLEMENT
Definition: uchar.h:1473
@ UBLOCK_KHAROSHTHI
Definition: uchar.h:1479
@ UBLOCK_OLD_ITALIC
Definition: uchar.h:1367
@ UBLOCK_OLD_SOUTH_ARABIAN
Definition: uchar.h:1588
@ UBLOCK_SUPPLEMENTARY_PRIVATE_USE_AREA_B
Definition: uchar.h:1419
@ UBLOCK_MALAYALAM
Definition: uchar.h:1149
@ UBLOCK_KHMER_SYMBOLS
Definition: uchar.h:1428
@ UBLOCK_JAVANESE
Definition: uchar.h:1576
@ UBLOCK_BAMUM_SUPPLEMENT
Definition: uchar.h:1621
@ UBLOCK_CYRILLIC_SUPPLEMENT
Definition: uchar.h:1388
@ UBLOCK_MYANMAR_EXTENDED_B
Definition: uchar.h:1699
@ UBLOCK_ANCIENT_GREEK_MUSICAL_NOTATION
Definition: uchar.h:1457
@ UBLOCK_BATAK
Definition: uchar.h:1615
@ UBLOCK_SYRIAC_SUPPLEMENT
Definition: uchar.h:1790
@ UBLOCK_PAHAWH_HMONG
Definition: uchar.h:1709
@ UBLOCK_ORNAMENTAL_DINGBATS
Definition: uchar.h:1707
@ UBLOCK_SINHALA
Definition: uchar.h:1152
@ UBLOCK_AHOM
Definition: uchar.h:1732
@ UBLOCK_NEW_TAI_LUE
Definition: uchar.h:1483
@ UBLOCK_SIDDHAM
Definition: uchar.h:1719
@ UBLOCK_OLD_NORTH_ARABIAN
Definition: uchar.h:1703
@ UBLOCK_YI_SYLLABLES
Definition: uchar.h:1299
@ UBLOCK_TELUGU
Definition: uchar.h:1143
@ UBLOCK_DEVANAGARI_EXTENDED
Definition: uchar.h:1572
@ UBLOCK_SHARADA
Definition: uchar.h:1654
@ UBLOCK_SUPPLEMENTARY_PRIVATE_USE_AREA_A
Definition: uchar.h:1417
@ UBLOCK_DESERET
Definition: uchar.h:1371
@ UBLOCK_ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS
Definition: uchar.h:1642
@ UBLOCK_SAURASHTRA
Definition: uchar.h:1533
@ UBLOCK_KANBUN
Definition: uchar.h:1281
@ UBLOCK_HIRAGANA
Definition: uchar.h:1269
@ UBLOCK_KANNADA
Definition: uchar.h:1146
@ UBLOCK_SUPPLEMENTAL_ARROWS_C
Definition: uchar.h:1723
@ UBLOCK_GEORGIAN
Definition: uchar.h:1167
@ UBLOCK_DEVANAGARI
Definition: uchar.h:1125
@ UBLOCK_LISU_SUPPLEMENT
Definition: uchar.h:1851
@ UBLOCK_KATAKANA
Definition: uchar.h:1272
@ UBLOCK_TAI_VIET
Definition: uchar.h:1580
@ UBLOCK_LATIN_EXTENDED_B
Definition: uchar.h:1089
@ UBLOCK_THAANA
Definition: uchar.h:1122
@ UBLOCK_MODIFIER_TONE_LETTERS
Definition: uchar.h:1481
@ UBLOCK_KHUDAWADI
Definition: uchar.h:1683
@ UBLOCK_LINEAR_A
Definition: uchar.h:1687
@ UBLOCK_CJK_UNIFIED_IDEOGRAPHS
Definition: uchar.h:1296
@ UBLOCK_GRANTHA
Definition: uchar.h:1679
@ UBLOCK_ETHIOPIC
Definition: uchar.h:1173
@ UBLOCK_SYRIAC
Definition: uchar.h:1119
@ UBLOCK_GREEK_EXTENDED
Definition: uchar.h:1197
@ UBLOCK_CJK_COMPATIBILITY_FORMS
Definition: uchar.h:1350
@ UBLOCK_CJK_COMPATIBILITY_IDEOGRAPHS
Definition: uchar.h:1338
@ UBLOCK_MAYAN_NUMERALS
Definition: uchar.h:1811
@ UBLOCK_KAYAH_LI
Definition: uchar.h:1535
@ UBLOCK_VEDIC_EXTENSIONS
Definition: uchar.h:1564
@ UBLOCK_CYRILLIC_EXTENDED_D
Definition: uchar.h:1893
@ UBLOCK_PHAISTOS_DISC
Definition: uchar.h:1543
@ UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A
Definition: uchar.h:1293
@ UBLOCK_LATIN_1_SUPPLEMENT
Definition: uchar.h:1083
@ UBLOCK_PHOENICIAN
Definition: uchar.h:1510
@ UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_G
Definition: uchar.h:1845
@ UBLOCK_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A
Definition: uchar.h:1403
@ UBLOCK_CAUCASIAN_ALBANIAN
Definition: uchar.h:1667
@ UBLOCK_ALCHEMICAL_SYMBOLS
Definition: uchar.h:1633
@ UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_F
Definition: uchar.h:1780
@ UBLOCK_MYANMAR_EXTENDED_A
Definition: uchar.h:1578
@ UBLOCK_EARLY_DYNASTIC_CUNEIFORM
Definition: uchar.h:1740
@ UBLOCK_MENDE_KIKAKUI
Definition: uchar.h:1693
@ UBLOCK_VAI
Definition: uchar.h:1529
@ UBLOCK_PHONETIC_EXTENSIONS
Definition: uchar.h:1430
@ UBLOCK_PHAGS_PA
Definition: uchar.h:1508
@ UBLOCK_OLD_PERSIAN
Definition: uchar.h:1485
@ UBLOCK_KAITHI
Definition: uchar.h:1600
@ UBLOCK_GEOMETRIC_SHAPES
Definition: uchar.h:1245
@ UBLOCK_LATIN_EXTENDED_C
Definition: uchar.h:1504
@ UBLOCK_SUPPLEMENTAL_ARROWS_B
Definition: uchar.h:1407
@ UBLOCK_MAHAJANI
Definition: uchar.h:1689
@ UBLOCK_OSAGE
Definition: uchar.h:1771
@ UBLOCK_INVALID_CODE
Definition: uchar.h:1914
@ UBLOCK_TAI_LE
Definition: uchar.h:1426
@ UBLOCK_MAKASAR
Definition: uchar.h:1809
@ UBLOCK_GOTHIC
Definition: uchar.h:1369
@ UBLOCK_ETHIOPIC_EXTENDED_A
Definition: uchar.h:1617
@ UBLOCK_GEOMETRIC_SHAPES_EXTENDED
Definition: uchar.h:1677
@ UBLOCK_MANICHAEAN
Definition: uchar.h:1691
@ UBLOCK_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED_A
Definition: uchar.h:1880
@ UBLOCK_TOTO
Definition: uchar.h:1878
@ UBLOCK_ALPHABETIC_PRESENTATION_FORMS
Definition: uchar.h:1341
@ UBLOCK_MUSICAL_SYMBOLS
Definition: uchar.h:1375
@ UBLOCK_LETTERLIKE_SYMBOLS
Definition: uchar.h:1215
@ UBLOCK_ARABIC
Definition: uchar.h:1116
@ UBLOCK_ZNAMENNY_MUSICAL_NOTATION
Definition: uchar.h:1884
@ UBLOCK_NUSHU
Definition: uchar.h:1786
@ UBLOCK_CYRILLIC_SUPPLEMENTARY
Unicode 4.0.1 renames the "Cyrillic Supplementary" block to "Cyrillic Supplement".
Definition: uchar.h:1393
@ UBLOCK_HANGUL_JAMO_EXTENDED_A
Definition: uchar.h:1574
@ UBLOCK_BYZANTINE_MUSICAL_SYMBOLS
Definition: uchar.h:1373
@ UBLOCK_ANCIENT_SYMBOLS
Definition: uchar.h:1541
@ UBLOCK_UGARITIC
Definition: uchar.h:1442
@ UBLOCK_SMALL_KANA_EXTENSION
Definition: uchar.h:1832
@ UBLOCK_GUJARATI
Definition: uchar.h:1134
@ UBLOCK_CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT
Definition: uchar.h:1381
@ UBLOCK_COMBINING_DIACRITICAL_MARKS
Definition: uchar.h:1098
@ UBLOCK_PSALTER_PAHLAVI
Definition: uchar.h:1715
@ UBLOCK_THAI
Definition: uchar.h:1155
@ UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_E
Definition: uchar.h:1738
@ UBLOCK_KANA_EXTENDED_A
Definition: uchar.h:1782
@ UBLOCK_VARIATION_SELECTORS
Definition: uchar.h:1415
@ UBLOCK_BAMUM
Definition: uchar.h:1568
@ UBLOCK_WANCHO
Definition: uchar.h:1838
@ UBLOCK_SHAVIAN
Definition: uchar.h:1444
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:1962
@ U_CHAR_NAME_CHOICE_COUNT
One more than the highest normal UCharNameChoice value.
Definition: uchar.h:1982
@ U_UNICODE_10_CHAR_NAME
The Unicode_1_Name property value which is of little practical value.
Definition: uchar.h:1971
@ U_CHAR_NAME_ALIAS
Corrected name from NameAliases.txt.
Definition: uchar.h:1976
@ U_EXTENDED_CHAR_NAME
Standard or synthetic character name.
Definition: uchar.h:1974
@ U_UNICODE_CHAR_NAME
Unicode character name (Name property).
Definition: uchar.h:1964
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:2059
@ U_JT_COUNT
One more than the highest normal UJoiningType value.
Definition: uchar.h:2079
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:2517
@ U_INPC_BOTTOM
Definition: uchar.h:2527
@ U_INPC_VISUAL_ORDER_LEFT
Definition: uchar.h:2553
@ U_INPC_TOP_AND_BOTTOM_AND_RIGHT
Definition: uchar.h:2545
@ U_INPC_TOP_AND_BOTTOM_AND_LEFT
Definition: uchar.h:2555
@ U_INPC_TOP_AND_RIGHT
Definition: uchar.h:2551
@ U_INPC_BOTTOM_AND_LEFT
Definition: uchar.h:2529
@ U_INPC_LEFT_AND_RIGHT
Definition: uchar.h:2535
@ U_INPC_RIGHT
Definition: uchar.h:2539
@ U_INPC_TOP_AND_LEFT_AND_RIGHT
Definition: uchar.h:2549
@ U_INPC_LEFT
Definition: uchar.h:2533
@ U_INPC_NA
Definition: uchar.h:2525
@ U_INPC_TOP
Definition: uchar.h:2541
@ U_INPC_TOP_AND_LEFT
Definition: uchar.h:2547
@ U_INPC_OVERSTRUCK
Definition: uchar.h:2537
@ U_INPC_TOP_AND_BOTTOM
Definition: uchar.h:2543
@ U_INPC_BOTTOM_AND_RIGHT
Definition: uchar.h:2531
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:970
@ U_SEGMENT_SEPARATOR
S.
Definition: uchar.h:995
@ U_EUROPEAN_NUMBER_TERMINATOR
ET.
Definition: uchar.h:987
@ U_BOUNDARY_NEUTRAL
BN.
Definition: uchar.h:1015
@ U_RIGHT_TO_LEFT_ARABIC
AL.
Definition: uchar.h:1005
@ U_RIGHT_TO_LEFT
R.
Definition: uchar.h:981
@ U_POP_DIRECTIONAL_ISOLATE
PDI.
Definition: uchar.h:1023
@ U_COMMON_NUMBER_SEPARATOR
CS.
Definition: uchar.h:991
@ U_LEFT_TO_RIGHT
L.
Definition: uchar.h:979
@ U_DIR_NON_SPACING_MARK
NSM.
Definition: uchar.h:1013
@ U_FIRST_STRONG_ISOLATE
FSI.
Definition: uchar.h:1017
@ U_ARABIC_NUMBER
AN.
Definition: uchar.h:989
@ U_POP_DIRECTIONAL_FORMAT
PDF.
Definition: uchar.h:1011
@ U_OTHER_NEUTRAL
ON.
Definition: uchar.h:999
@ U_CHAR_DIRECTION_COUNT
One more than the highest UCharDirection value.
Definition: uchar.h:1031
@ U_WHITE_SPACE_NEUTRAL
WS.
Definition: uchar.h:997
@ U_RIGHT_TO_LEFT_OVERRIDE
RLO.
Definition: uchar.h:1009
@ U_RIGHT_TO_LEFT_EMBEDDING
RLE.
Definition: uchar.h:1007
@ U_EUROPEAN_NUMBER_SEPARATOR
ES.
Definition: uchar.h:985
@ U_LEFT_TO_RIGHT_ISOLATE
LRI.
Definition: uchar.h:1019
@ U_LEFT_TO_RIGHT_OVERRIDE
LRO.
Definition: uchar.h:1003
@ U_EUROPEAN_NUMBER
EN.
Definition: uchar.h:983
@ U_BLOCK_SEPARATOR
B.
Definition: uchar.h:993
@ U_LEFT_TO_RIGHT_EMBEDDING
LRE.
Definition: uchar.h:1001
@ U_RIGHT_TO_LEFT_ISOLATE
RLI.
Definition: uchar.h:1021
UPropertyNameChoice
Selector constants for u_getPropertyName() and u_getPropertyValueName().
Definition: uchar.h:1999
@ U_PROPERTY_NAME_CHOICE_COUNT
One more than the highest normal UPropertyNameChoice value.
Definition: uchar.h:2007
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:3660
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:2376
@ U_LB_E_MODIFIER
Definition: uchar.h:2439
@ U_LB_WORD_JOINER
Definition: uchar.h:2417
@ U_LB_H3
Definition: uchar.h:2421
@ U_LB_H2
Definition: uchar.h:2419
@ U_LB_CONDITIONAL_JAPANESE_STARTER
Definition: uchar.h:2431
@ U_LB_NEXT_LINE
Definition: uchar.h:2415
@ U_LB_INSEPARABLE
Renamed from the misspelled "inseperable" in Unicode 4.0.1/ICU 3.0.
Definition: uchar.h:2399
@ U_LB_E_BASE
Definition: uchar.h:2437
@ U_LB_JV
Definition: uchar.h:2427
@ U_LB_JL
Definition: uchar.h:2423
@ U_LB_CLOSE_PARENTHESIS
Definition: uchar.h:2429
@ U_LB_ZWJ
Definition: uchar.h:2441
@ U_LB_COUNT
One more than the highest normal ULineBreak value.
Definition: uchar.h:2449
@ U_LB_REGIONAL_INDICATOR
Definition: uchar.h:2435
@ U_LB_HEBREW_LETTER
Definition: uchar.h:2433
@ U_LB_JT
Definition: uchar.h:2425
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:774
@ U_FORMAT_CHAR
Cf.
Definition: uchar.h:817
@ U_SPACE_SEPARATOR
Zs.
Definition: uchar.h:809
@ U_MODIFIER_SYMBOL
Sk.
Definition: uchar.h:837
@ U_GENERAL_OTHER_TYPES
Cn "Other, Not Assigned (no characters in [UnicodeData.txt] have this property)" (same as U_UNASSIGNE...
Definition: uchar.h:785
@ U_TITLECASE_LETTER
Lt.
Definition: uchar.h:791
@ U_PRIVATE_USE_CHAR
Co.
Definition: uchar.h:819
@ U_OTHER_SYMBOL
So.
Definition: uchar.h:839
@ U_UPPERCASE_LETTER
Lu.
Definition: uchar.h:787
@ U_MODIFIER_LETTER
Lm.
Definition: uchar.h:793
@ U_PARAGRAPH_SEPARATOR
Zp.
Definition: uchar.h:813
@ U_OTHER_PUNCTUATION
Po.
Definition: uchar.h:831
@ U_ENCLOSING_MARK
Me.
Definition: uchar.h:799
@ U_INITIAL_PUNCTUATION
Pi.
Definition: uchar.h:841
@ U_UNASSIGNED
Non-category for unassigned and non-character code points.
Definition: uchar.h:783
@ U_CURRENCY_SYMBOL
Sc.
Definition: uchar.h:835
@ U_COMBINING_SPACING_MARK
Mc.
Definition: uchar.h:801
@ U_CONTROL_CHAR
Cc.
Definition: uchar.h:815
@ U_OTHER_LETTER
Lo.
Definition: uchar.h:795
@ U_NON_SPACING_MARK
Mn.
Definition: uchar.h:797
@ U_START_PUNCTUATION
Ps.
Definition: uchar.h:825
@ U_CONNECTOR_PUNCTUATION
Pc.
Definition: uchar.h:829
@ U_END_PUNCTUATION
Pe.
Definition: uchar.h:827
@ U_OTHER_NUMBER
No.
Definition: uchar.h:807
@ U_LINE_SEPARATOR
Zl.
Definition: uchar.h:811
@ U_DASH_PUNCTUATION
Pd.
Definition: uchar.h:823
@ U_MATH_SYMBOL
Sm.
Definition: uchar.h:833
@ U_CHAR_CATEGORY_COUNT
One higher than the last enum UCharCategory constant.
Definition: uchar.h:851
@ U_DECIMAL_DIGIT_NUMBER
Nd.
Definition: uchar.h:803
@ U_LOWERCASE_LETTER
Ll.
Definition: uchar.h:789
@ U_FINAL_PUNCTUATION
Pf.
Definition: uchar.h:843
@ U_LETTER_NUMBER
Nl.
Definition: uchar.h:805
@ U_SURROGATE
Cs.
Definition: uchar.h:821
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:2651
@ U_VO_UPRIGHT
Definition: uchar.h:2665
@ U_VO_TRANSFORMED_UPRIGHT
Definition: uchar.h:2663
@ U_VO_ROTATED
Definition: uchar.h:2659
@ U_VO_TRANSFORMED_ROTATED
Definition: uchar.h:2661
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:2089
@ U_JG_FE
Definition: uchar.h:2148
@ U_JG_BURUSHASKI_YEH_BARREE
Definition: uchar.h:2151
@ U_JG_MANICHAEAN_KAPH
Definition: uchar.h:2164
@ U_JG_THIN_YEH
Definition: uchar.h:2202
@ U_JG_MANICHAEAN_SAMEKH
Definition: uchar.h:2173
@ U_JG_MANICHAEAN_ZAYIN
Definition: uchar.h:2181
@ U_JG_MALAYALAM_TTA
Definition: uchar.h:2197
@ U_JG_MANICHAEAN_AYIN
Definition: uchar.h:2156
@ U_JG_MANICHAEAN_ALEPH
Definition: uchar.h:2155
@ U_JG_FARSI_YEH
Definition: uchar.h:2152
@ U_JG_MANICHAEAN_DALETH
Definition: uchar.h:2158
@ U_JG_MANICHAEAN_FIVE
Definition: uchar.h:2160
@ U_JG_MANICHAEAN_SADHE
Definition: uchar.h:2172
@ U_JG_MANICHAEAN_TAW
Definition: uchar.h:2174
@ U_JG_MALAYALAM_LLLA
Definition: uchar.h:2190
@ U_JG_MALAYALAM_NNNA
Definition: uchar.h:2193
@ U_JG_MANICHAEAN_ONE
Definition: uchar.h:2168
@ U_JG_MALAYALAM_LLA
Definition: uchar.h:2189
@ U_JG_VERTICAL_TAIL
Definition: uchar.h:2203
@ U_JG_AFRICAN_FEH
Definition: uchar.h:2183
@ U_JG_HANIFI_ROHINGYA_PA
Definition: uchar.h:2200
@ U_JG_MALAYALAM_BHA
Definition: uchar.h:2187
@ U_JG_MANICHAEAN_TWENTY
Definition: uchar.h:2178
@ U_JG_MANICHAEAN_THAMEDH
Definition: uchar.h:2177
@ U_JG_MANICHAEAN_PE
Definition: uchar.h:2169
@ U_JG_ZHAIN
Definition: uchar.h:2150
@ U_JG_MANICHAEAN_TETH
Definition: uchar.h:2176
@ U_JG_MANICHAEAN_BETH
Definition: uchar.h:2157
@ U_JG_COUNT
One more than the highest normal UJoiningGroup value.
Definition: uchar.h:2212
@ U_JG_MANICHAEAN_TEN
Definition: uchar.h:2175
@ U_JG_MANICHAEAN_GIMEL
Definition: uchar.h:2161
@ U_JG_TEH_MARBUTA_GOAL
Definition: uchar.h:2110
@ U_JG_AFRICAN_NOON
Definition: uchar.h:2184
@ U_JG_MALAYALAM_NGA
Definition: uchar.h:2191
@ U_JG_MANICHAEAN_MEM
Definition: uchar.h:2166
@ U_JG_KHAPH
Definition: uchar.h:2149
@ U_JG_MALAYALAM_RA
Definition: uchar.h:2195
@ U_JG_MALAYALAM_NNA
Definition: uchar.h:2192
@ U_JG_MALAYALAM_JA
Definition: uchar.h:2188
@ U_JG_MALAYALAM_NYA
Definition: uchar.h:2194
@ U_JG_MALAYALAM_SSA
Definition: uchar.h:2196
@ U_JG_MANICHAEAN_WAW
Definition: uchar.h:2179
@ U_JG_AFRICAN_QAF
Definition: uchar.h:2185
@ U_JG_MANICHAEAN_DHAMEDH
Definition: uchar.h:2159
@ U_JG_STRAIGHT_WAW
Definition: uchar.h:2182
@ U_JG_ROHINGYA_YEH
Definition: uchar.h:2154
@ U_JG_MANICHAEAN_HETH
Definition: uchar.h:2162
@ U_JG_MANICHAEAN_LAMEDH
Definition: uchar.h:2165
@ U_JG_MANICHAEAN_HUNDRED
Definition: uchar.h:2163
@ U_JG_HANIFI_ROHINGYA_KINNA_YA
Definition: uchar.h:2199
@ U_JG_MANICHAEAN_NUN
Definition: uchar.h:2167
@ U_JG_NYA
Definition: uchar.h:2153
@ U_JG_MANICHAEAN_YODH
Definition: uchar.h:2180
@ U_JG_MANICHAEAN_RESH
Definition: uchar.h:2171
@ U_JG_MANICHAEAN_QOPH
Definition: uchar.h:2170
UHangulSyllableType
Hangul Syllable Type constants.
Definition: uchar.h:2487
@ U_HST_COUNT
One more than the highest normal UHangulSyllableType value.
Definition: uchar.h:2507
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:2337
@ U_SB_COUNT
One more than the highest normal USentenceBreak value.
Definition: uchar.h:2366
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:3480
UEastAsianWidth
East Asian Width constants.
Definition: uchar.h:1927
@ U_EA_COUNT
One more than the highest normal UEastAsianWidth value.
Definition: uchar.h:1947
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:2222
@ U_GCB_SPACING_MARK
Definition: uchar.h:2240
@ U_GCB_E_BASE
Definition: uchar.h:2246
@ U_GCB_REGIONAL_INDICATOR
Definition: uchar.h:2244
@ U_GCB_GLUE_AFTER_ZWJ
Definition: uchar.h:2252
@ U_GCB_ZWJ
Definition: uchar.h:2254
@ U_GCB_PREPEND
Definition: uchar.h:2242
@ U_GCB_COUNT
One more than the highest normal UGraphemeClusterBreak value.
Definition: uchar.h:2263
@ U_GCB_E_MODIFIER
Definition: uchar.h:2250
@ U_GCB_E_BASE_GAZ
Definition: uchar.h:2248
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:2459
@ U_NT_COUNT
One more than the highest normal UNumericType value.
Definition: uchar.h:2477
UDecompositionType
Decomposition Type constants.
Definition: uchar.h:2017
@ U_DT_COUNT
One more than the highest normal UDecompositionType value.
Definition: uchar.h:2049
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:612
@ UCHAR_BIDI_PAIRED_BRACKET
String property Bidi_Paired_Bracket (new in Unicode 6.3).
Definition: uchar.h:739
@ 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:520
@ UCHAR_RGI_EMOJI
Binary property of strings RGI_Emoji.
Definition: uchar.h:534
@ UCHAR_BLOCK
Enumerated property Block.
Definition: uchar.h:550
@ UCHAR_INVALID_CODE
Represents a nonexistent or invalid property or property value.
Definition: uchar.h:765
@ 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:755
@ 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:553
@ 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:527
@ UCHAR_VERTICAL_ORIENTATION
Enumerated property Vertical_Orientation.
Definition: uchar.h:649
@ 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:655
@ UCHAR_RGI_EMOJI_FLAG_SEQUENCE
Binary property of strings RGI_Emoji_Flag_Sequence.
Definition: uchar.h:513
@ UCHAR_OTHER_PROPERTY_LIMIT
One more than the last constant for Unicode properties with unusual value types.
Definition: uchar.h:761
@ 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:679
@ UCHAR_DOUBLE_START
First constant for double Unicode properties.
Definition: uchar.h:681
@ UCHAR_HEX_DIGIT
Binary property Hex_Digit.
Definition: uchar.h:256
@ UCHAR_SIMPLE_TITLECASE_MAPPING
String property Simple_Titlecase_Mapping.
Definition: uchar.h:720
@ UCHAR_TRAIL_CANONICAL_COMBINING_CLASS
Enumerated property Trail_Canonical_Combining_Class.
Definition: uchar.h:607
@ 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:593
@ 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:627
@ 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:697
@ UCHAR_LEAD_CANONICAL_COMBINING_CLASS
Enumerated property Lead_Canonical_Combining_Class.
Definition: uchar.h:600
@ UCHAR_UNICODE_1_NAME
String property Unicode_1_Name.
Definition: uchar.h:732
@ 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:560
@ UCHAR_STRING_LIMIT
One more than the last constant for string Unicode properties.
Definition: uchar.h:745
@ 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:587
@ UCHAR_NAME
String property Name.
Definition: uchar.h:711
@ UCHAR_UPPERCASE
Binary property Uppercase.
Definition: uchar.h:317
@ UCHAR_CASE_FOLDING
String property Case_Folding.
Definition: uchar.h:700
@ UCHAR_INDIC_SYLLABIC_CATEGORY
Enumerated property Indic_Syllabic_Category.
Definition: uchar.h:642
@ UCHAR_MATH
Binary property Math.
Definition: uchar.h:291
@ UCHAR_NUMERIC_TYPE
Enumerated property Numeric_Type.
Definition: uchar.h:575
@ UCHAR_RGI_EMOJI_MODIFIER_SEQUENCE
Binary property of strings RGI_Emoji_Modifier_Sequence.
Definition: uchar.h:506
@ UCHAR_ISO_COMMENT
Deprecated string property ISO_Comment.
Definition: uchar.h:704
@ UCHAR_SCRIPT
Enumerated property Script.
Definition: uchar.h:578
@ 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:635
@ 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:563
@ UCHAR_INT_START
First constant for enumerated/integer Unicode properties.
Definition: uchar.h:547
@ UCHAR_EMOJI_MODIFIER
Binary property Emoji_Modifier.
Definition: uchar.h:454
@ UCHAR_NFD_QUICK_CHECK
Enumerated property NFD_Quick_Check.
Definition: uchar.h:584
@ 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:666
@ UCHAR_MASK_START
First constant for bit-mask Unicode properties.
Definition: uchar.h:668
@ UCHAR_DECOMPOSITION_TYPE
Enumerated property Decomposition_Type.
Definition: uchar.h:556
@ UCHAR_TITLECASE_MAPPING
String property Titlecase_Mapping.
Definition: uchar.h:726
@ UCHAR_HANGUL_SYLLABLE_TYPE
Enumerated property Hangul_Syllable_Type, new in Unicode 4.
Definition: uchar.h:581
@ UCHAR_LINE_BREAK
Enumerated property Line_Break.
Definition: uchar.h:572
@ UCHAR_SIMPLE_UPPERCASE_MAPPING
String property Simple_Uppercase_Mapping.
Definition: uchar.h:723
@ 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:569
@ UCHAR_EMOJI_KEYCAP_SEQUENCE
Binary property of strings Emoji_Keycap_Sequence.
Definition: uchar.h:499
@ 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:708
@ UCHAR_SIMPLE_CASE_FOLDING
String property Simple_Case_Folding.
Definition: uchar.h:714
@ 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:540
@ 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:692
@ UCHAR_WORD_BREAK
Enumerated property Word_Break (new in Unicode 4.1).
Definition: uchar.h:622
@ UCHAR_DOUBLE_LIMIT
One more than the last constant for double Unicode properties.
Definition: uchar.h:687
@ 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:717
@ 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:617
@ 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:590
@ UCHAR_CASE_SENSITIVE
Binary property Case_Sensitive.
Definition: uchar.h:332
@ UCHAR_UPPERCASE_MAPPING
String property Uppercase_Mapping.
Definition: uchar.h:736
@ UCHAR_BIDI_CLASS
Enumerated property Bidi_Class.
Definition: uchar.h:545
@ UCHAR_BASIC_EMOJI
Binary property of strings Basic_Emoji.
Definition: uchar.h:492
@ UCHAR_MASK_LIMIT
One more than the last constant for bit-mask Unicode properties.
Definition: uchar.h:674
@ UCHAR_JOINING_GROUP
Enumerated property Joining_Group.
Definition: uchar.h:566
@ 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:694
@ UCHAR_SCRIPT_EXTENSIONS
Miscellaneous property Script_Extensions (new in Unicode 6.0).
Definition: uchar.h:753
@ 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:2564
@ U_INSC_VISARGA
Definition: uchar.h:2636
@ U_INSC_BINDU
Definition: uchar.h:2576
@ U_INSC_INVISIBLE_STACKER
Definition: uchar.h:2610
@ U_INSC_SYLLABLE_MODIFIER
Definition: uchar.h:2628
@ U_INSC_VIRAMA
Definition: uchar.h:2634
@ U_INSC_MODIFYING_LETTER
Definition: uchar.h:2614
@ U_INSC_REGISTER_SHIFTER
Definition: uchar.h:2626
@ U_INSC_NUKTA
Definition: uchar.h:2618
@ U_INSC_NON_JOINER
Definition: uchar.h:2616
@ U_INSC_TONE_MARK
Definition: uchar.h:2632
@ U_INSC_GEMINATION_MARK
Definition: uchar.h:2608
@ U_INSC_CONSONANT_KILLER
Definition: uchar.h:2592
@ U_INSC_CONSONANT_HEAD_LETTER
Definition: uchar.h:2588
@ U_INSC_BRAHMI_JOINING_NUMBER
Definition: uchar.h:2578
@ U_INSC_CONSONANT_DEAD
Definition: uchar.h:2584
@ U_INSC_OTHER
Definition: uchar.h:2572
@ U_INSC_NUMBER
Definition: uchar.h:2620
@ U_INSC_TONE_LETTER
Definition: uchar.h:2630
@ U_INSC_JOINER
Definition: uchar.h:2612
@ U_INSC_CANTILLATION_MARK
Definition: uchar.h:2580
@ U_INSC_PURE_KILLER
Definition: uchar.h:2624
@ U_INSC_VOWEL_INDEPENDENT
Definition: uchar.h:2642
@ U_INSC_CONSONANT_MEDIAL
Definition: uchar.h:2594
@ U_INSC_CONSONANT_WITH_STACKER
Definition: uchar.h:2606
@ U_INSC_CONSONANT_PREFIXED
Definition: uchar.h:2600
@ U_INSC_CONSONANT
Definition: uchar.h:2582
@ U_INSC_CONSONANT_SUCCEEDING_REPHA
Definition: uchar.h:2604
@ U_INSC_CONSONANT_PLACEHOLDER
Definition: uchar.h:2596
@ U_INSC_VOWEL
Definition: uchar.h:2638
@ U_INSC_NUMBER_JOINER
Definition: uchar.h:2622
@ U_INSC_CONSONANT_PRECEDING_REPHA
Definition: uchar.h:2598
@ U_INSC_CONSONANT_SUBJOINED
Definition: uchar.h:2602
@ U_INSC_VOWEL_DEPENDENT
Definition: uchar.h:2640
@ U_INSC_CONSONANT_INITIAL_POSTFIXED
Definition: uchar.h:2590
@ U_INSC_AVAGRAHA
Definition: uchar.h:2574
@ U_INSC_CONSONANT_FINAL
Definition: uchar.h:2586
UWordBreakValues
Word Break constants.
Definition: uchar.h:2274
@ U_WB_E_MODIFIER
Definition: uchar.h:2312
@ U_WB_E_BASE_GAZ
Definition: uchar.h:2310
@ U_WB_REGIONAL_INDICATOR
Definition: uchar.h:2300
@ U_WB_DOUBLE_QUOTE
Definition: uchar.h:2306
@ U_WB_LF
Definition: uchar.h:2294
@ U_WB_HEBREW_LETTER
Definition: uchar.h:2302
@ U_WB_WSEGSPACE
Definition: uchar.h:2318
@ U_WB_COUNT
One more than the highest normal UWordBreakValues value.
Definition: uchar.h:2327
@ U_WB_GLUE_AFTER_ZWJ
Definition: uchar.h:2314
@ U_WB_NEWLINE
Definition: uchar.h:2298
@ U_WB_SINGLE_QUOTE
Definition: uchar.h:2304
@ U_WB_CR
Definition: uchar.h:2290
@ U_WB_E_BASE
Definition: uchar.h:2308
@ U_WB_ZWJ
Definition: uchar.h:2316
@ U_WB_EXTEND
Definition: uchar.h:2292
@ U_WB_MIDNUMLET
Definition: uchar.h:2296
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:1041
@ U_BPT_CLOSE
Close paired bracket.
Definition: uchar.h:1053
@ U_BPT_COUNT
One more than the highest normal UBidiPairedBracketType value.
Definition: uchar.h:1061
@ U_BPT_NONE
Not a paired bracket.
Definition: uchar.h:1049
@ U_BPT_OPEN
Open paired bracket.
Definition: uchar.h:1051
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:461
#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:412
#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