18e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* 28e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project********************************************************************** 38e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* Copyright (C) 1997-2004, International Business Machines 48e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* Corporation and others. All Rights Reserved. 58e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project********************************************************************** 68e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* 78e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* File UCHAR.H 88e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* 98e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* Modification History: 108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* 118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* Date Name Description 128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* 04/02/97 aliu Creation. 138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* 03/29/99 helena Updated for C APIs. 148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* 4/15/99 Madhu Updated for C Implementation and Javadoc 158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* 5/20/99 Madhu Added the function u_getVersion() 168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* 8/19/1999 srl Upgraded scripts to Unicode 3.0 178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* 8/27/1999 schererm UCharDirection constants: U_... 188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* 11/11/1999 weiv added u_isalnum(), cleaned comments 198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* 01/11/2000 helena Renamed u_getVersion to u_getUnicodeVersion(). 208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project****************************************************************************** 218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project*/ 228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#ifndef UCHAR_H 248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define UCHAR_H 258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "unicode/utypes.h" 278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectU_CDECL_BEGIN 298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*==========================================================================*/ 318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* Unicode version number */ 328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*==========================================================================*/ 338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Unicode version number, default for the current ICU version. 358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * The actual Unicode Character Database (UCD) data is stored in uprops.dat 368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * and may be generated from UCD files from a different Unicode version. 378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Call u_getUnicodeVersion to get the actual Unicode version of the data. 388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_getUnicodeVersion 408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.0 418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_UNICODE_VERSION "4.0.1" 438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * \file 468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * \brief C API: Unicode Properties 478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * This C API provides low-level access to the Unicode Character Database. 498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * In addition to raw property values, some convenience functions calculate 508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * derived properties, for example for Java-style programming. 518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Unicode assigns each code point (not just assigned character) values for 538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * many properties. 548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Most of them are simple boolean flags, or constants from a small enumerated list. 558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * For some properties, values are strings or other relatively more complex types. 568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * For more information see 588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * "About the Unicode Character Database" (http://www.unicode.org/ucd/) 598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * and the ICU User Guide chapter on Properties (http://oss.software.ibm.com/icu/userguide/properties.html). 608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Many functions are designed to match java.lang.Character functions. 628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * See the individual function documentation, 638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * and see the JDK 1.4.1 java.lang.Character documentation 648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * at http://java.sun.com/j2se/1.4.1/docs/api/java/lang/Character.html 658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * There are also functions that provide easy migration from C/POSIX functions 678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * like isblank(). Their use is generally discouraged because the C/POSIX 688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * standards do not define their semantics beyond the ASCII range, which means 698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * that different implementations exhibit very different behavior. 708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Instead, Unicode properties should be used directly. 718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * There are also only a few, broad C/POSIX character classes, and they tend 738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * to be used for conflicting purposes. For example, the "isalpha()" class 748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * is sometimes used to determine word boundaries, while a more sophisticated 758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * approach would at least distinguish initial letters from continuation 768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * characters (the latter including combining marks). 778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * (In ICU, BreakIterator is the most sophisticated API for word boundaries.) 788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Another example: There is no "istitle()" class for titlecase characters. 798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * A summary of the behavior of some C/POSIX character classification implementations 818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * for Unicode is available at http://oss.software.ibm.com/cvs/icu/~checkout~/icuhtml/design/posix_classes.html 828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * <strong>Important</strong>: 848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * The behavior of the ICU C/POSIX-style character classification 858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * functions is subject to change according to discussion of the above summary. 868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Note: There are several ICU whitespace functions. 888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Comparison: 898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * - u_isUWhiteSpace=UCHAR_WHITE_SPACE: Unicode White_Space property; 908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * most of general categories "Z" (separators) + most whitespace ISO controls 918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * (including no-break spaces, but excluding IS1..IS4 and ZWSP) 928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * - u_isWhitespace: Java isWhitespace; Z + whitespace ISO controls but excluding no-break spaces 938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * - u_isJavaSpaceChar: Java isSpaceChar; just Z (including no-break spaces) 948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * - u_isspace: Z + whitespace ISO controls (including no-break spaces) 958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * - u_isblank: "horizontal spaces" = TAB + Zs - ZWSP 968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Constants. 1008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 1018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** The lowest Unicode code point value. Code points are non-negative. @stable ICU 2.0 */ 1038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define UCHAR_MIN_VALUE 0 1048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 1068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * The highest Unicode code point value (scalar value) according to 1078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * The Unicode Standard. This is a 21-bit value (20.1 bits, rounded up). 1088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * For a single character, UChar32 is a simple type that can hold any code point value. 1098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 1108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see UChar32 1118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.0 1128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 1138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define UCHAR_MAX_VALUE 0x10ffff 1148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 1168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Get a single-bit bit set (a flag) from a bit number 0..31. 1178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.1 1188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 1198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_MASK(x) ((uint32_t)1<<(x)) 1208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* 1228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * !! Note: Several comments in this file are machine-read by the 1238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * genpname tool. These comments describe the correspondence between 1248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * icu enum constants and UCD entities. Do not delete them. Update 1258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * these comments as needed. 1268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 1278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Any comment of the form "/ *[name]* /" (spaces added) is such 1288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * a comment. 1298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 1308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * The U_JG_* and U_GC_*_MASK constants are matched by their symbolic 1318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * name, which must match PropertyValueAliases.txt. 1328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 1338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 1358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Selection constants for Unicode properties. 1368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * These constants are used in functions like u_hasBinaryProperty to select 1378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * one of the Unicode properties. 1388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 1398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * The properties APIs are intended to reflect Unicode properties as defined 1408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * in the Unicode Character Database (UCD) and Unicode Technical Reports (UTR). 1418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * For details about the properties see http://www.unicode.org/ucd/ . 1428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * For names of Unicode properties see the UCD file PropertyAliases.txt. 1438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 1448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Important: If ICU is built with UCD files from Unicode versions below, e.g., 3.2, 1458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * then properties marked with "new in Unicode 3.2" are not or not fully available. 1468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Check u_getUnicodeVersion to be sure. 1478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 1488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_hasBinaryProperty 1498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_getIntPropertyValue 1508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_getUnicodeVersion 1518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.1 1528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 1538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef enum UProperty { 1548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /* See note !!. Comments of the form "Binary property Dash", 1558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project "Enumerated property Script", "Double property Numeric_Value", 1568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project and "String property Age" are read by genpname. */ 1578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /* Note: Place UCHAR_ALPHABETIC before UCHAR_BINARY_START so that 1598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project debuggers display UCHAR_ALPHABETIC as the symbolic name for 0, 1608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project rather than UCHAR_BINARY_START. Likewise for other *_START 1618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project identifiers. */ 1628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Binary property Alphabetic. Same as u_isUAlphabetic, different from u_isalpha. 1648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Lu+Ll+Lt+Lm+Lo+Nl+Other_Alphabetic @stable ICU 2.1 */ 1658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_ALPHABETIC=0, 1668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** First constant for binary Unicode properties. @stable ICU 2.1 */ 1678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_BINARY_START=UCHAR_ALPHABETIC, 1688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Binary property ASCII_Hex_Digit. 0-9 A-F a-f @stable ICU 2.1 */ 1698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_ASCII_HEX_DIGIT, 1708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Binary property Bidi_Control. 1718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Format controls which have specific functions 1728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project in the Bidi Algorithm. @stable ICU 2.1 */ 1738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_BIDI_CONTROL, 1748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Binary property Bidi_Mirrored. 1758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Characters that may change display in RTL text. 1768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Same as u_isMirrored. 1778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project See Bidi Algorithm, UTR 9. @stable ICU 2.1 */ 1788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_BIDI_MIRRORED, 1798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Binary property Dash. Variations of dashes. @stable ICU 2.1 */ 1808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_DASH, 1818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Binary property Default_Ignorable_Code_Point (new in Unicode 3.2). 1828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Ignorable in most processing. 1838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project <2060..206F, FFF0..FFFB, E0000..E0FFF>+Other_Default_Ignorable_Code_Point+(Cf+Cc+Cs-White_Space) @stable ICU 2.1 */ 1848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_DEFAULT_IGNORABLE_CODE_POINT, 1858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Binary property Deprecated (new in Unicode 3.2). 1868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project The usage of deprecated characters is strongly discouraged. @stable ICU 2.1 */ 1878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_DEPRECATED, 1888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Binary property Diacritic. Characters that linguistically modify 1898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project the meaning of another character to which they apply. @stable ICU 2.1 */ 1908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_DIACRITIC, 1918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Binary property Extender. 1928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Extend the value or shape of a preceding alphabetic character, 1938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project e.g., length and iteration marks. @stable ICU 2.1 */ 1948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_EXTENDER, 1958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Binary property Full_Composition_Exclusion. 1968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project CompositionExclusions.txt+Singleton Decompositions+ 1978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Non-Starter Decompositions. @stable ICU 2.1 */ 1988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_FULL_COMPOSITION_EXCLUSION, 1998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Binary property Grapheme_Base (new in Unicode 3.2). 2008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project For programmatic determination of grapheme cluster boundaries. 2018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project [0..10FFFF]-Cc-Cf-Cs-Co-Cn-Zl-Zp-Grapheme_Link-Grapheme_Extend-CGJ @stable ICU 2.1 */ 2028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_GRAPHEME_BASE, 2038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Binary property Grapheme_Extend (new in Unicode 3.2). 2048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project For programmatic determination of grapheme cluster boundaries. 2058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Me+Mn+Mc+Other_Grapheme_Extend-Grapheme_Link-CGJ @stable ICU 2.1 */ 2068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_GRAPHEME_EXTEND, 2078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Binary property Grapheme_Link (new in Unicode 3.2). 2088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project For programmatic determination of grapheme cluster boundaries. @stable ICU 2.1 */ 2098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_GRAPHEME_LINK, 2108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Binary property Hex_Digit. 2118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Characters commonly used for hexadecimal numbers. @stable ICU 2.1 */ 2128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_HEX_DIGIT, 2138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Binary property Hyphen. Dashes used to mark connections 2148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project between pieces of words, plus the Katakana middle dot. @stable ICU 2.1 */ 2158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_HYPHEN, 2168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Binary property ID_Continue. 2178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Characters that can continue an identifier. 2188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project DerivedCoreProperties.txt also says "NOTE: Cf characters should be filtered out." 2198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project ID_Start+Mn+Mc+Nd+Pc @stable ICU 2.1 */ 2208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_ID_CONTINUE, 2218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Binary property ID_Start. 2228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Characters that can start an identifier. 2238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Lu+Ll+Lt+Lm+Lo+Nl @stable ICU 2.1 */ 2248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_ID_START, 2258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Binary property Ideographic. 2268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project CJKV ideographs. @stable ICU 2.1 */ 2278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_IDEOGRAPHIC, 2288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Binary property IDS_Binary_Operator (new in Unicode 3.2). 2298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project For programmatic determination of 2308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Ideographic Description Sequences. @stable ICU 2.1 */ 2318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_IDS_BINARY_OPERATOR, 2328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Binary property IDS_Trinary_Operator (new in Unicode 3.2). 2338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project For programmatic determination of 2348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Ideographic Description Sequences. @stable ICU 2.1 */ 2358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_IDS_TRINARY_OPERATOR, 2368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Binary property Join_Control. 2378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Format controls for cursive joining and ligation. @stable ICU 2.1 */ 2388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_JOIN_CONTROL, 2398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Binary property Logical_Order_Exception (new in Unicode 3.2). 2408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Characters that do not use logical order and 2418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project require special handling in most processing. @stable ICU 2.1 */ 2428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_LOGICAL_ORDER_EXCEPTION, 2438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Binary property Lowercase. Same as u_isULowercase, different from u_islower. 2448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Ll+Other_Lowercase @stable ICU 2.1 */ 2458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_LOWERCASE, 2468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Binary property Math. Sm+Other_Math @stable ICU 2.1 */ 2478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_MATH, 2488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Binary property Noncharacter_Code_Point. 2498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Code points that are explicitly defined as illegal 2508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project for the encoding of characters. @stable ICU 2.1 */ 2518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_NONCHARACTER_CODE_POINT, 2528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Binary property Quotation_Mark. @stable ICU 2.1 */ 2538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_QUOTATION_MARK, 2548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Binary property Radical (new in Unicode 3.2). 2558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project For programmatic determination of 2568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Ideographic Description Sequences. @stable ICU 2.1 */ 2578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_RADICAL, 2588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Binary property Soft_Dotted (new in Unicode 3.2). 2598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Characters with a "soft dot", like i or j. 2608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project An accent placed on these characters causes 2618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project the dot to disappear. @stable ICU 2.1 */ 2628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_SOFT_DOTTED, 2638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Binary property Terminal_Punctuation. 2648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Punctuation characters that generally mark 2658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project the end of textual units. @stable ICU 2.1 */ 2668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_TERMINAL_PUNCTUATION, 2678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Binary property Unified_Ideograph (new in Unicode 3.2). 2688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project For programmatic determination of 2698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Ideographic Description Sequences. @stable ICU 2.1 */ 2708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_UNIFIED_IDEOGRAPH, 2718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Binary property Uppercase. Same as u_isUUppercase, different from u_isupper. 2728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Lu+Other_Uppercase @stable ICU 2.1 */ 2738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_UPPERCASE, 2748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Binary property White_Space. 2758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Same as u_isUWhiteSpace, different from u_isspace and u_isWhitespace. 2768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Space characters+TAB+CR+LF-ZWSP-ZWNBSP @stable ICU 2.1 */ 2778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_WHITE_SPACE, 2788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Binary property XID_Continue. 2798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project ID_Continue modified to allow closure under 2808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project normalization forms NFKC and NFKD. @stable ICU 2.1 */ 2818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_XID_CONTINUE, 2828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Binary property XID_Start. ID_Start modified to allow 2838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project closure under normalization forms NFKC and NFKD. @stable ICU 2.1 */ 2848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_XID_START, 2858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Binary property Case_Sensitive. Either the source of a case 2868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project mapping or _in_ the target of a case mapping. Not the same as 2878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project the general category Cased_Letter. @stable ICU 2.6 */ 2888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_CASE_SENSITIVE, 2898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Binary property STerm (new in Unicode 4.0.1). 2908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Sentence Terminal. Used in UAX #29: Text Boundaries 2918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project (http://www.unicode.org/reports/tr29/) 2928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @draft ICU 3.0 */ 2938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_S_TERM, 2948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Binary property Variation_Selector (new in Unicode 4.0.1). 2958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Indicates all those characters that qualify as Variation Selectors. 2968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project For details on the behavior of these characters, 2978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project see StandardizedVariants.html and 15.6 Variation Selectors. 2988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @draft ICU 3.0 */ 2998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_VARIATION_SELECTOR, 3008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Binary property NFD_Inert. 3018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project ICU-specific property for characters that are inert under NFD, 3028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project i.e., they do not interact with adjacent characters. 3038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Used for example in normalizing transforms in incremental mode 3048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project to find the boundary of safely normalizable text despite possible 3058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project text additions. 3068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 3078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project There is one such property per normalization form. 3088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project These properties are computed as follows - an inert character is: 3098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project a) unassigned, or ALL of the following: 3108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project b) of combining class 0. 3118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project c) not decomposed by this normalization form. 3128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project AND if NFC or NFKC, 3138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project d) can never compose with a previous character. 3148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project e) can never compose with a following character. 3158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project f) can never change if another character is added. 3168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Example: a-breve might satisfy all but f, but if you 3178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project add an ogonek it changes to a-ogonek + breve 3188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 3198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project See also com.ibm.text.UCD.NFSkippable in the ICU4J repository, 3208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project and icu/source/common/unormimp.h . 3218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @draft ICU 3.0 */ 3228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_NFD_INERT, 3238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Binary property NFKD_Inert. 3248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project ICU-specific property for characters that are inert under NFKD, 3258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project i.e., they do not interact with adjacent characters. 3268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Used for example in normalizing transforms in incremental mode 3278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project to find the boundary of safely normalizable text despite possible 3288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project text additions. 3298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @see UCHAR_NFD_INERT 3308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @draft ICU 3.0 */ 3318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_NFKD_INERT, 3328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Binary property NFC_Inert. 3338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project ICU-specific property for characters that are inert under NFC, 3348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project i.e., they do not interact with adjacent characters. 3358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Used for example in normalizing transforms in incremental mode 3368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project to find the boundary of safely normalizable text despite possible 3378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project text additions. 3388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @see UCHAR_NFD_INERT 3398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @draft ICU 3.0 */ 3408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_NFC_INERT, 3418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Binary property NFKC_Inert. 3428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project ICU-specific property for characters that are inert under NFKC, 3438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project i.e., they do not interact with adjacent characters. 3448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Used for example in normalizing transforms in incremental mode 3458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project to find the boundary of safely normalizable text despite possible 3468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project text additions. 3478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @see UCHAR_NFD_INERT 3488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @draft ICU 3.0 */ 3498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_NFKC_INERT, 3508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Binary Property Segment_Starter. 3518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project ICU-specific property for characters that are starters in terms of 3528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Unicode normalization and combining character sequences. 3538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project They have ccc=0 and do not occur in non-initial position of the 3548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project canonical decomposition of any character 3558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project (like " in NFD(a-umlaut) and a Jamo T in an NFD(Hangul LVT)). 3568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project ICU uses this property for segmenting a string for generating a set of 3578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project canonically equivalent strings, e.g. for canonical closure while 3588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project processing collation tailoring rules. 3598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @draft ICU 3.0 */ 3608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_SEGMENT_STARTER, 3618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** One more than the last constant for binary Unicode properties. @stable ICU 2.1 */ 3628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_BINARY_LIMIT, 3638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 3648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Enumerated property Bidi_Class. 3658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Same as u_charDirection, returns UCharDirection values. @stable ICU 2.2 */ 3668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_BIDI_CLASS=0x1000, 3678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** First constant for enumerated/integer Unicode properties. @stable ICU 2.2 */ 3688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_INT_START=UCHAR_BIDI_CLASS, 3698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Enumerated property Block. 3708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Same as ublock_getCode, returns UBlockCode values. @stable ICU 2.2 */ 3718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_BLOCK, 3728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Enumerated property Canonical_Combining_Class. 3738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Same as u_getCombiningClass, returns 8-bit numeric values. @stable ICU 2.2 */ 3748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_CANONICAL_COMBINING_CLASS, 3758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Enumerated property Decomposition_Type. 3768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Returns UDecompositionType values. @stable ICU 2.2 */ 3778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_DECOMPOSITION_TYPE, 3788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Enumerated property East_Asian_Width. 3798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project See http://www.unicode.org/reports/tr11/ 3808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Returns UEastAsianWidth values. @stable ICU 2.2 */ 3818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_EAST_ASIAN_WIDTH, 3828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Enumerated property General_Category. 3838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Same as u_charType, returns UCharCategory values. @stable ICU 2.2 */ 3848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_GENERAL_CATEGORY, 3858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Enumerated property Joining_Group. 3868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Returns UJoiningGroup values. @stable ICU 2.2 */ 3878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_JOINING_GROUP, 3888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Enumerated property Joining_Type. 3898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Returns UJoiningType values. @stable ICU 2.2 */ 3908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_JOINING_TYPE, 3918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Enumerated property Line_Break. 3928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Returns ULineBreak values. @stable ICU 2.2 */ 3938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_LINE_BREAK, 3948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Enumerated property Numeric_Type. 3958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Returns UNumericType values. @stable ICU 2.2 */ 3968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_NUMERIC_TYPE, 3978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Enumerated property Script. 3988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Same as uscript_getScript, returns UScriptCode values. @stable ICU 2.2 */ 3998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_SCRIPT, 4008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Enumerated property Hangul_Syllable_Type, new in Unicode 4. 4018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Returns UHangulSyllableType values. @stable ICU 2.6 */ 4028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_HANGUL_SYLLABLE_TYPE, 4038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Enumerated property NFD_Quick_Check. 4048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Returns UNormalizationCheckResult values. @draft ICU 3.0 */ 4058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_NFD_QUICK_CHECK, 4068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Enumerated property NFKD_Quick_Check. 4078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Returns UNormalizationCheckResult values. @draft ICU 3.0 */ 4088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_NFKD_QUICK_CHECK, 4098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Enumerated property NFC_Quick_Check. 4108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Returns UNormalizationCheckResult values. @draft ICU 3.0 */ 4118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_NFC_QUICK_CHECK, 4128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Enumerated property NFKC_Quick_Check. 4138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Returns UNormalizationCheckResult values. @draft ICU 3.0 */ 4148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_NFKC_QUICK_CHECK, 4158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Enumerated property Lead_Canonical_Combining_Class. 4168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project ICU-specific property for the ccc of the first code point 4178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project of the decomposition, or lccc(c)=ccc(NFD(c)[0]). 4188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Useful for checking for canonically ordered text; 4198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project see UNORM_FCD and http://www.unicode.org/notes/tn5/#FCD . 4208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Returns 8-bit numeric values like UCHAR_CANONICAL_COMBINING_CLASS. @draft ICU 3.0 */ 4218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_LEAD_CANONICAL_COMBINING_CLASS, 4228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Enumerated property Trail_Canonical_Combining_Class. 4238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project ICU-specific property for the ccc of the last code point 4248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project of the decomposition, or tccc(c)=ccc(NFD(c)[last]). 4258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Useful for checking for canonically ordered text; 4268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project see UNORM_FCD and http://www.unicode.org/notes/tn5/#FCD . 4278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Returns 8-bit numeric values like UCHAR_CANONICAL_COMBINING_CLASS. @draft ICU 3.0 */ 4288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_TRAIL_CANONICAL_COMBINING_CLASS, 4298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** One more than the last constant for enumerated/integer Unicode properties. @stable ICU 2.2 */ 4308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_INT_LIMIT, 4318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 4328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Bitmask property General_Category_Mask. 4338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project This is the General_Category property returned as a bit mask. 4348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project When used in u_getIntPropertyValue(c), same as U_MASK(u_charType(c)), 4358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project returns bit masks for UCharCategory values where exactly one bit is set. 4368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project When used with u_getPropertyValueName() and u_getPropertyValueEnum(), 4378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project a multi-bit mask is used for sets of categories like "Letters". 4388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Mask values should be cast to uint32_t. 4398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @stable ICU 2.4 */ 4408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_GENERAL_CATEGORY_MASK=0x2000, 4418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** First constant for bit-mask Unicode properties. @stable ICU 2.4 */ 4428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_MASK_START=UCHAR_GENERAL_CATEGORY_MASK, 4438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** One more than the last constant for bit-mask Unicode properties. @stable ICU 2.4 */ 4448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_MASK_LIMIT, 4458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 4468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Double property Numeric_Value. 4478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Corresponds to u_getNumericValue. @stable ICU 2.4 */ 4488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_NUMERIC_VALUE=0x3000, 4498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** First constant for double Unicode properties. @stable ICU 2.4 */ 4508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_DOUBLE_START=UCHAR_NUMERIC_VALUE, 4518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** One more than the last constant for double Unicode properties. @stable ICU 2.4 */ 4528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_DOUBLE_LIMIT, 4538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 4548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** String property Age. 4558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Corresponds to u_charAge. @stable ICU 2.4 */ 4568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_AGE=0x4000, 4578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** First constant for string Unicode properties. @stable ICU 2.4 */ 4588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_STRING_START=UCHAR_AGE, 4598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** String property Bidi_Mirroring_Glyph. 4608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Corresponds to u_charMirror. @stable ICU 2.4 */ 4618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_BIDI_MIRRORING_GLYPH, 4628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** String property Case_Folding. 4638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Corresponds to u_strFoldCase in ustring.h. @stable ICU 2.4 */ 4648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_CASE_FOLDING, 4658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** String property ISO_Comment. 4668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Corresponds to u_getISOComment. @stable ICU 2.4 */ 4678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_ISO_COMMENT, 4688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** String property Lowercase_Mapping. 4698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Corresponds to u_strToLower in ustring.h. @stable ICU 2.4 */ 4708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_LOWERCASE_MAPPING, 4718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** String property Name. 4728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Corresponds to u_charName. @stable ICU 2.4 */ 4738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_NAME, 4748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** String property Simple_Case_Folding. 4758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Corresponds to u_foldCase. @stable ICU 2.4 */ 4768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_SIMPLE_CASE_FOLDING, 4778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** String property Simple_Lowercase_Mapping. 4788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Corresponds to u_tolower. @stable ICU 2.4 */ 4798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_SIMPLE_LOWERCASE_MAPPING, 4808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** String property Simple_Titlecase_Mapping. 4818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Corresponds to u_totitle. @stable ICU 2.4 */ 4828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_SIMPLE_TITLECASE_MAPPING, 4838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** String property Simple_Uppercase_Mapping. 4848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Corresponds to u_toupper. @stable ICU 2.4 */ 4858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_SIMPLE_UPPERCASE_MAPPING, 4868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** String property Titlecase_Mapping. 4878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Corresponds to u_strToTitle in ustring.h. @stable ICU 2.4 */ 4888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_TITLECASE_MAPPING, 4898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** String property Unicode_1_Name. 4908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Corresponds to u_charName. @stable ICU 2.4 */ 4918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_UNICODE_1_NAME, 4928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** String property Uppercase_Mapping. 4938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Corresponds to u_strToUpper in ustring.h. @stable ICU 2.4 */ 4948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_UPPERCASE_MAPPING, 4958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** One more than the last constant for string Unicode properties. @stable ICU 2.4 */ 4968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_STRING_LIMIT, 4978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 4988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Represents a nonexistent or invalid property or property value. @stable ICU 2.4 */ 4998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCHAR_INVALID_CODE = -1 5008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project} UProperty; 5018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 5028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 5038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Data for enumerated Unicode general category types. 5048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * See http://www.unicode.org/Public/UNIDATA/UnicodeData.html . 5058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.0 5068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 5078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef enum UCharCategory 5088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ 5098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** See note !!. Comments of the form "Cn" are read by genpname. */ 5108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 5118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Non-category for unassigned and non-character code points. @stable ICU 2.0 */ 5128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_UNASSIGNED = 0, 5138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Cn "Other, Not Assigned (no characters in [UnicodeData.txt] have this property)" (same as U_UNASSIGNED!) @stable ICU 2.0 */ 5148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_GENERAL_OTHER_TYPES = 0, 5158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Lu @stable ICU 2.0 */ 5168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_UPPERCASE_LETTER = 1, 5178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Ll @stable ICU 2.0 */ 5188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_LOWERCASE_LETTER = 2, 5198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Lt @stable ICU 2.0 */ 5208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_TITLECASE_LETTER = 3, 5218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Lm @stable ICU 2.0 */ 5228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_MODIFIER_LETTER = 4, 5238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Lo @stable ICU 2.0 */ 5248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_OTHER_LETTER = 5, 5258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Mn @stable ICU 2.0 */ 5268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_NON_SPACING_MARK = 6, 5278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Me @stable ICU 2.0 */ 5288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_ENCLOSING_MARK = 7, 5298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Mc @stable ICU 2.0 */ 5308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_COMBINING_SPACING_MARK = 8, 5318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Nd @stable ICU 2.0 */ 5328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_DECIMAL_DIGIT_NUMBER = 9, 5338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Nl @stable ICU 2.0 */ 5348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_LETTER_NUMBER = 10, 5358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** No @stable ICU 2.0 */ 5368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_OTHER_NUMBER = 11, 5378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Zs @stable ICU 2.0 */ 5388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_SPACE_SEPARATOR = 12, 5398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Zl @stable ICU 2.0 */ 5408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_LINE_SEPARATOR = 13, 5418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Zp @stable ICU 2.0 */ 5428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_PARAGRAPH_SEPARATOR = 14, 5438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Cc @stable ICU 2.0 */ 5448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_CONTROL_CHAR = 15, 5458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Cf @stable ICU 2.0 */ 5468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_FORMAT_CHAR = 16, 5478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Co @stable ICU 2.0 */ 5488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_PRIVATE_USE_CHAR = 17, 5498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Cs @stable ICU 2.0 */ 5508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_SURROGATE = 18, 5518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Pd @stable ICU 2.0 */ 5528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_DASH_PUNCTUATION = 19, 5538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Ps @stable ICU 2.0 */ 5548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_START_PUNCTUATION = 20, 5558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Pe @stable ICU 2.0 */ 5568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_END_PUNCTUATION = 21, 5578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Pc @stable ICU 2.0 */ 5588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_CONNECTOR_PUNCTUATION = 22, 5598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Po @stable ICU 2.0 */ 5608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_OTHER_PUNCTUATION = 23, 5618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Sm @stable ICU 2.0 */ 5628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_MATH_SYMBOL = 24, 5638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Sc @stable ICU 2.0 */ 5648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_CURRENCY_SYMBOL = 25, 5658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Sk @stable ICU 2.0 */ 5668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_MODIFIER_SYMBOL = 26, 5678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** So @stable ICU 2.0 */ 5688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_OTHER_SYMBOL = 27, 5698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Pi @stable ICU 2.0 */ 5708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_INITIAL_PUNCTUATION = 28, 5718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Pf @stable ICU 2.0 */ 5728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_FINAL_PUNCTUATION = 29, 5738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** One higher than the last enum UCharCategory constant. @stable ICU 2.0 */ 5748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_CHAR_CATEGORY_COUNT 5758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project} UCharCategory; 5768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 5778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 5788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * U_GC_XX_MASK constants are bit flags corresponding to Unicode 5798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * general category values. 5808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * For each category, the nth bit is set if the numeric value of the 5818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * corresponding UCharCategory constant is n. 5828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 5838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * There are also some U_GC_Y_MASK constants for groups of general categories 5848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * like L for all letter categories. 5858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 5868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_charType 5878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see U_GET_GC_MASK 5888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see UCharCategory 5898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.1 5908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 5918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_GC_CN_MASK U_MASK(U_GENERAL_OTHER_TYPES) 5928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 5938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** Mask constant for a UCharCategory. @stable ICU 2.1 */ 5948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_GC_LU_MASK U_MASK(U_UPPERCASE_LETTER) 5958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** Mask constant for a UCharCategory. @stable ICU 2.1 */ 5968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_GC_LL_MASK U_MASK(U_LOWERCASE_LETTER) 5978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** Mask constant for a UCharCategory. @stable ICU 2.1 */ 5988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_GC_LT_MASK U_MASK(U_TITLECASE_LETTER) 5998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** Mask constant for a UCharCategory. @stable ICU 2.1 */ 6008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_GC_LM_MASK U_MASK(U_MODIFIER_LETTER) 6018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** Mask constant for a UCharCategory. @stable ICU 2.1 */ 6028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_GC_LO_MASK U_MASK(U_OTHER_LETTER) 6038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 6048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** Mask constant for a UCharCategory. @stable ICU 2.1 */ 6058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_GC_MN_MASK U_MASK(U_NON_SPACING_MARK) 6068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** Mask constant for a UCharCategory. @stable ICU 2.1 */ 6078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_GC_ME_MASK U_MASK(U_ENCLOSING_MARK) 6088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** Mask constant for a UCharCategory. @stable ICU 2.1 */ 6098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_GC_MC_MASK U_MASK(U_COMBINING_SPACING_MARK) 6108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 6118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** Mask constant for a UCharCategory. @stable ICU 2.1 */ 6128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_GC_ND_MASK U_MASK(U_DECIMAL_DIGIT_NUMBER) 6138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** Mask constant for a UCharCategory. @stable ICU 2.1 */ 6148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_GC_NL_MASK U_MASK(U_LETTER_NUMBER) 6158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** Mask constant for a UCharCategory. @stable ICU 2.1 */ 6168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_GC_NO_MASK U_MASK(U_OTHER_NUMBER) 6178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 6188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** Mask constant for a UCharCategory. @stable ICU 2.1 */ 6198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_GC_ZS_MASK U_MASK(U_SPACE_SEPARATOR) 6208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** Mask constant for a UCharCategory. @stable ICU 2.1 */ 6218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_GC_ZL_MASK U_MASK(U_LINE_SEPARATOR) 6228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** Mask constant for a UCharCategory. @stable ICU 2.1 */ 6238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_GC_ZP_MASK U_MASK(U_PARAGRAPH_SEPARATOR) 6248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 6258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** Mask constant for a UCharCategory. @stable ICU 2.1 */ 6268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_GC_CC_MASK U_MASK(U_CONTROL_CHAR) 6278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** Mask constant for a UCharCategory. @stable ICU 2.1 */ 6288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_GC_CF_MASK U_MASK(U_FORMAT_CHAR) 6298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** Mask constant for a UCharCategory. @stable ICU 2.1 */ 6308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_GC_CO_MASK U_MASK(U_PRIVATE_USE_CHAR) 6318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** Mask constant for a UCharCategory. @stable ICU 2.1 */ 6328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_GC_CS_MASK U_MASK(U_SURROGATE) 6338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 6348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** Mask constant for a UCharCategory. @stable ICU 2.1 */ 6358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_GC_PD_MASK U_MASK(U_DASH_PUNCTUATION) 6368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** Mask constant for a UCharCategory. @stable ICU 2.1 */ 6378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_GC_PS_MASK U_MASK(U_START_PUNCTUATION) 6388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** Mask constant for a UCharCategory. @stable ICU 2.1 */ 6398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_GC_PE_MASK U_MASK(U_END_PUNCTUATION) 6408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** Mask constant for a UCharCategory. @stable ICU 2.1 */ 6418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_GC_PC_MASK U_MASK(U_CONNECTOR_PUNCTUATION) 6428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** Mask constant for a UCharCategory. @stable ICU 2.1 */ 6438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_GC_PO_MASK U_MASK(U_OTHER_PUNCTUATION) 6448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 6458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** Mask constant for a UCharCategory. @stable ICU 2.1 */ 6468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_GC_SM_MASK U_MASK(U_MATH_SYMBOL) 6478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** Mask constant for a UCharCategory. @stable ICU 2.1 */ 6488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_GC_SC_MASK U_MASK(U_CURRENCY_SYMBOL) 6498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** Mask constant for a UCharCategory. @stable ICU 2.1 */ 6508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_GC_SK_MASK U_MASK(U_MODIFIER_SYMBOL) 6518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** Mask constant for a UCharCategory. @stable ICU 2.1 */ 6528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_GC_SO_MASK U_MASK(U_OTHER_SYMBOL) 6538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 6548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** Mask constant for a UCharCategory. @stable ICU 2.1 */ 6558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_GC_PI_MASK U_MASK(U_INITIAL_PUNCTUATION) 6568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** Mask constant for a UCharCategory. @stable ICU 2.1 */ 6578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_GC_PF_MASK U_MASK(U_FINAL_PUNCTUATION) 6588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 6598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 6608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** Mask constant for multiple UCharCategory bits (L Letters). @stable ICU 2.1 */ 6618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_GC_L_MASK \ 6628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project (U_GC_LU_MASK|U_GC_LL_MASK|U_GC_LT_MASK|U_GC_LM_MASK|U_GC_LO_MASK) 6638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 6648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** Mask constant for multiple UCharCategory bits (LC Cased Letters). @stable ICU 2.1 */ 6658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_GC_LC_MASK \ 6668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project (U_GC_LU_MASK|U_GC_LL_MASK|U_GC_LT_MASK) 6678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 6688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** Mask constant for multiple UCharCategory bits (M Marks). @stable ICU 2.1 */ 6698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_GC_M_MASK (U_GC_MN_MASK|U_GC_ME_MASK|U_GC_MC_MASK) 6708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 6718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** Mask constant for multiple UCharCategory bits (N Numbers). @stable ICU 2.1 */ 6728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_GC_N_MASK (U_GC_ND_MASK|U_GC_NL_MASK|U_GC_NO_MASK) 6738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 6748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** Mask constant for multiple UCharCategory bits (Z Separators). @stable ICU 2.1 */ 6758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_GC_Z_MASK (U_GC_ZS_MASK|U_GC_ZL_MASK|U_GC_ZP_MASK) 6768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 6778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** Mask constant for multiple UCharCategory bits (C Others). @stable ICU 2.1 */ 6788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_GC_C_MASK \ 6798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project (U_GC_CN_MASK|U_GC_CC_MASK|U_GC_CF_MASK|U_GC_CO_MASK|U_GC_CS_MASK) 6808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 6818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** Mask constant for multiple UCharCategory bits (P Punctuation). @stable ICU 2.1 */ 6828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_GC_P_MASK \ 6838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project (U_GC_PD_MASK|U_GC_PS_MASK|U_GC_PE_MASK|U_GC_PC_MASK|U_GC_PO_MASK| \ 6848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_GC_PI_MASK|U_GC_PF_MASK) 6858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 6868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** Mask constant for multiple UCharCategory bits (S Symbols). @stable ICU 2.1 */ 6878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_GC_S_MASK (U_GC_SM_MASK|U_GC_SC_MASK|U_GC_SK_MASK|U_GC_SO_MASK) 6888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 6898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 6908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * This specifies the language directional property of a character set. 6918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.0 6928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 6938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef enum UCharDirection { 6948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** See note !!. Comments of the form "EN" are read by genpname. */ 6958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 6968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** L @stable ICU 2.0 */ 6978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_LEFT_TO_RIGHT = 0, 6988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** R @stable ICU 2.0 */ 6998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_RIGHT_TO_LEFT = 1, 7008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** EN @stable ICU 2.0 */ 7018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_EUROPEAN_NUMBER = 2, 7028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** ES @stable ICU 2.0 */ 7038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_EUROPEAN_NUMBER_SEPARATOR = 3, 7048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** ET @stable ICU 2.0 */ 7058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_EUROPEAN_NUMBER_TERMINATOR = 4, 7068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** AN @stable ICU 2.0 */ 7078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_ARABIC_NUMBER = 5, 7088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** CS @stable ICU 2.0 */ 7098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_COMMON_NUMBER_SEPARATOR = 6, 7108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** B @stable ICU 2.0 */ 7118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_BLOCK_SEPARATOR = 7, 7128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** S @stable ICU 2.0 */ 7138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_SEGMENT_SEPARATOR = 8, 7148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** WS @stable ICU 2.0 */ 7158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_WHITE_SPACE_NEUTRAL = 9, 7168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** ON @stable ICU 2.0 */ 7178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_OTHER_NEUTRAL = 10, 7188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** LRE @stable ICU 2.0 */ 7198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_LEFT_TO_RIGHT_EMBEDDING = 11, 7208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** LRO @stable ICU 2.0 */ 7218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_LEFT_TO_RIGHT_OVERRIDE = 12, 7228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** AL @stable ICU 2.0 */ 7238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_RIGHT_TO_LEFT_ARABIC = 13, 7248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** RLE @stable ICU 2.0 */ 7258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_RIGHT_TO_LEFT_EMBEDDING = 14, 7268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** RLO @stable ICU 2.0 */ 7278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_RIGHT_TO_LEFT_OVERRIDE = 15, 7288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** PDF @stable ICU 2.0 */ 7298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_POP_DIRECTIONAL_FORMAT = 16, 7308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** NSM @stable ICU 2.0 */ 7318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_DIR_NON_SPACING_MARK = 17, 7328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** BN @stable ICU 2.0 */ 7338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_BOUNDARY_NEUTRAL = 18, 7348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 7358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_CHAR_DIRECTION_COUNT 7368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project} UCharDirection; 7378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 7388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 7398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Constants for Unicode blocks, see the Unicode Data file Blocks.txt 7408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.0 7418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 7428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectenum UBlockCode { 7438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 7448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** New No_Block value in Unicode 4. @stable ICU 2.6 */ 7458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_NO_BLOCK = 0, /*[none]*/ /* Special range indicating No_Block */ 7468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 7478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 7488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_BASIC_LATIN = 1, /*[0000]*/ /*See note !!*/ 7498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 7508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 7518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_LATIN_1_SUPPLEMENT=2, /*[0080]*/ 7528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 7538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 7548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_LATIN_EXTENDED_A =3, /*[0100]*/ 7558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 7568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 7578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_LATIN_EXTENDED_B =4, /*[0180]*/ 7588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 7598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 7608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_IPA_EXTENSIONS =5, /*[0250]*/ 7618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 7628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 7638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_SPACING_MODIFIER_LETTERS =6, /*[02B0]*/ 7648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 7658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 7668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_COMBINING_DIACRITICAL_MARKS =7, /*[0300]*/ 7678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 7688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** 7698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Unicode 3.2 renames this block to "Greek and Coptic". 7708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.0 7718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 7728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_GREEK =8, /*[0370]*/ 7738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 7748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 7758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_CYRILLIC =9, /*[0400]*/ 7768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 7778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 7788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_ARMENIAN =10, /*[0530]*/ 7798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 7808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 7818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_HEBREW =11, /*[0590]*/ 7828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 7838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 7848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_ARABIC =12, /*[0600]*/ 7858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 7868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 7878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_SYRIAC =13, /*[0700]*/ 7888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 7898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 7908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_THAANA =14, /*[0780]*/ 7918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 7928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 7938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_DEVANAGARI =15, /*[0900]*/ 7948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 7958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 7968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_BENGALI =16, /*[0980]*/ 7978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 7988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 7998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_GURMUKHI =17, /*[0A00]*/ 8008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 8018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 8028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_GUJARATI =18, /*[0A80]*/ 8038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 8048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 8058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_ORIYA =19, /*[0B00]*/ 8068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 8078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 8088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_TAMIL =20, /*[0B80]*/ 8098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 8108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 8118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_TELUGU =21, /*[0C00]*/ 8128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 8138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 8148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_KANNADA =22, /*[0C80]*/ 8158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 8168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 8178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_MALAYALAM =23, /*[0D00]*/ 8188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 8198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 8208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_SINHALA =24, /*[0D80]*/ 8218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 8228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 8238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_THAI =25, /*[0E00]*/ 8248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 8258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 8268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_LAO =26, /*[0E80]*/ 8278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 8288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 8298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_TIBETAN =27, /*[0F00]*/ 8308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 8318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 8328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_MYANMAR =28, /*[1000]*/ 8338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 8348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 8358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_GEORGIAN =29, /*[10A0]*/ 8368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 8378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 8388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_HANGUL_JAMO =30, /*[1100]*/ 8398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 8408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 8418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_ETHIOPIC =31, /*[1200]*/ 8428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 8438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 8448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_CHEROKEE =32, /*[13A0]*/ 8458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 8468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 8478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS =33, /*[1400]*/ 8488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 8498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 8508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_OGHAM =34, /*[1680]*/ 8518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 8528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 8538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_RUNIC =35, /*[16A0]*/ 8548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 8558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 8568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_KHMER =36, /*[1780]*/ 8578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 8588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 8598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_MONGOLIAN =37, /*[1800]*/ 8608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 8618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 8628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_LATIN_EXTENDED_ADDITIONAL =38, /*[1E00]*/ 8638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 8648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 8658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_GREEK_EXTENDED =39, /*[1F00]*/ 8668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 8678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 8688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_GENERAL_PUNCTUATION =40, /*[2000]*/ 8698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 8708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 8718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_SUPERSCRIPTS_AND_SUBSCRIPTS =41, /*[2070]*/ 8728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 8738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 8748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_CURRENCY_SYMBOLS =42, /*[20A0]*/ 8758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 8768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** 8778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Unicode 3.2 renames this block to "Combining Diacritical Marks for Symbols". 8788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.0 8798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 8808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_COMBINING_MARKS_FOR_SYMBOLS =43, /*[20D0]*/ 8818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 8828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 8838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_LETTERLIKE_SYMBOLS =44, /*[2100]*/ 8848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 8858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 8868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_NUMBER_FORMS =45, /*[2150]*/ 8878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 8888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 8898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_ARROWS =46, /*[2190]*/ 8908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 8918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 8928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_MATHEMATICAL_OPERATORS =47, /*[2200]*/ 8938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 8948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 8958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_MISCELLANEOUS_TECHNICAL =48, /*[2300]*/ 8968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 8978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 8988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_CONTROL_PICTURES =49, /*[2400]*/ 8998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 9008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 9018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_OPTICAL_CHARACTER_RECOGNITION =50, /*[2440]*/ 9028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 9038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 9048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_ENCLOSED_ALPHANUMERICS =51, /*[2460]*/ 9058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 9068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 9078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_BOX_DRAWING =52, /*[2500]*/ 9088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 9098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 9108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_BLOCK_ELEMENTS =53, /*[2580]*/ 9118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 9128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 9138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_GEOMETRIC_SHAPES =54, /*[25A0]*/ 9148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 9158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 9168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_MISCELLANEOUS_SYMBOLS =55, /*[2600]*/ 9178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 9188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 9198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_DINGBATS =56, /*[2700]*/ 9208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 9218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 9228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_BRAILLE_PATTERNS =57, /*[2800]*/ 9238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 9248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 9258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_CJK_RADICALS_SUPPLEMENT =58, /*[2E80]*/ 9268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 9278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 9288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_KANGXI_RADICALS =59, /*[2F00]*/ 9298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 9308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 9318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_IDEOGRAPHIC_DESCRIPTION_CHARACTERS =60, /*[2FF0]*/ 9328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 9338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 9348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_CJK_SYMBOLS_AND_PUNCTUATION =61, /*[3000]*/ 9358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 9368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 9378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_HIRAGANA =62, /*[3040]*/ 9388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 9398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 9408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_KATAKANA =63, /*[30A0]*/ 9418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 9428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 9438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_BOPOMOFO =64, /*[3100]*/ 9448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 9458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 9468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_HANGUL_COMPATIBILITY_JAMO =65, /*[3130]*/ 9478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 9488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 9498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_KANBUN =66, /*[3190]*/ 9508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 9518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 9528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_BOPOMOFO_EXTENDED =67, /*[31A0]*/ 9538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 9548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 9558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_ENCLOSED_CJK_LETTERS_AND_MONTHS =68, /*[3200]*/ 9568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 9578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 9588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_CJK_COMPATIBILITY =69, /*[3300]*/ 9598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 9608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 9618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A =70, /*[3400]*/ 9628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 9638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 9648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_CJK_UNIFIED_IDEOGRAPHS =71, /*[4E00]*/ 9658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 9668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 9678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_YI_SYLLABLES =72, /*[A000]*/ 9688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 9698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 9708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_YI_RADICALS =73, /*[A490]*/ 9718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 9728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 9738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_HANGUL_SYLLABLES =74, /*[AC00]*/ 9748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 9758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 9768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_HIGH_SURROGATES =75, /*[D800]*/ 9778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 9788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 9798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_HIGH_PRIVATE_USE_SURROGATES =76, /*[DB80]*/ 9808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 9818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 9828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_LOW_SURROGATES =77, /*[DC00]*/ 9838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 9848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** 9858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Same as UBLOCK_PRIVATE_USE_AREA. 9868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Until Unicode 3.1.1, the corresponding block name was "Private Use", 9878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * and multiple code point ranges had this block. 9888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Unicode 3.2 renames the block for the BMP PUA to "Private Use Area" and 9898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * adds separate blocks for the supplementary PUAs. 9908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 9918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.0 9928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 9938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_PRIVATE_USE = 78, 9948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** 9958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Same as UBLOCK_PRIVATE_USE. 9968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Until Unicode 3.1.1, the corresponding block name was "Private Use", 9978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * and multiple code point ranges had this block. 9988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Unicode 3.2 renames the block for the BMP PUA to "Private Use Area" and 9998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * adds separate blocks for the supplementary PUAs. 10008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 10018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.0 10028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 10038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_PRIVATE_USE_AREA =UBLOCK_PRIVATE_USE, /*[E000]*/ 10048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 10058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 10068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_CJK_COMPATIBILITY_IDEOGRAPHS =79, /*[F900]*/ 10078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 10088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 10098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_ALPHABETIC_PRESENTATION_FORMS =80, /*[FB00]*/ 10108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 10118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 10128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_ARABIC_PRESENTATION_FORMS_A =81, /*[FB50]*/ 10138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 10148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 10158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_COMBINING_HALF_MARKS =82, /*[FE20]*/ 10168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 10178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 10188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_CJK_COMPATIBILITY_FORMS =83, /*[FE30]*/ 10198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 10208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 10218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_SMALL_FORM_VARIANTS =84, /*[FE50]*/ 10228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 10238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 10248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_ARABIC_PRESENTATION_FORMS_B =85, /*[FE70]*/ 10258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 10268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 10278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_SPECIALS =86, /*[FFF0]*/ 10288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 10298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 10308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_HALFWIDTH_AND_FULLWIDTH_FORMS =87, /*[FF00]*/ 10318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 10328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /* New blocks in Unicode 3.1 */ 10338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 10348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 10358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_OLD_ITALIC = 88 , /*[10300]*/ 10368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 10378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_GOTHIC = 89 , /*[10330]*/ 10388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 10398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_DESERET = 90 , /*[10400]*/ 10408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 10418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_BYZANTINE_MUSICAL_SYMBOLS = 91 , /*[1D000]*/ 10428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 10438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_MUSICAL_SYMBOLS = 92 , /*[1D100]*/ 10448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 10458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_MATHEMATICAL_ALPHANUMERIC_SYMBOLS = 93 , /*[1D400]*/ 10468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 10478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B = 94 , /*[20000]*/ 10488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 10498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT = 95 , /*[2F800]*/ 10508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 10518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_TAGS = 96, /*[E0000]*/ 10528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 10538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /* New blocks in Unicode 3.2 */ 10548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 10558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** 10568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Unicode 4.0.1 renames the "Cyrillic Supplementary" block to "Cyrillic Supplement". 10578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.2 10588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 10598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_CYRILLIC_SUPPLEMENTARY = 97, 10608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @draft ICU 3.0 */ 10618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_CYRILLIC_SUPPLEMENT = UBLOCK_CYRILLIC_SUPPLEMENTARY, /*[0500]*/ 10628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.2 */ 10638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_TAGALOG = 98, /*[1700]*/ 10648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.2 */ 10658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_HANUNOO = 99, /*[1720]*/ 10668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.2 */ 10678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_BUHID = 100, /*[1740]*/ 10688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.2 */ 10698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_TAGBANWA = 101, /*[1760]*/ 10708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.2 */ 10718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A = 102, /*[27C0]*/ 10728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.2 */ 10738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_SUPPLEMENTAL_ARROWS_A = 103, /*[27F0]*/ 10748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.2 */ 10758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_SUPPLEMENTAL_ARROWS_B = 104, /*[2900]*/ 10768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.2 */ 10778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B = 105, /*[2980]*/ 10788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.2 */ 10798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_SUPPLEMENTAL_MATHEMATICAL_OPERATORS = 106, /*[2A00]*/ 10808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.2 */ 10818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_KATAKANA_PHONETIC_EXTENSIONS = 107, /*[31F0]*/ 10828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.2 */ 10838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_VARIATION_SELECTORS = 108, /*[FE00]*/ 10848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.2 */ 10858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_SUPPLEMENTARY_PRIVATE_USE_AREA_A = 109, /*[F0000]*/ 10868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.2 */ 10878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_SUPPLEMENTARY_PRIVATE_USE_AREA_B = 110, /*[100000]*/ 10888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 10898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /* New blocks in Unicode 4 */ 10908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 10918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.6 */ 10928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_LIMBU = 111, /*[1900]*/ 10938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.6 */ 10948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_TAI_LE = 112, /*[1950]*/ 10958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.6 */ 10968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_KHMER_SYMBOLS = 113, /*[19E0]*/ 10978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.6 */ 10988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_PHONETIC_EXTENSIONS = 114, /*[1D00]*/ 10998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.6 */ 11008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_MISCELLANEOUS_SYMBOLS_AND_ARROWS = 115, /*[2B00]*/ 11018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.6 */ 11028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_YIJING_HEXAGRAM_SYMBOLS = 116, /*[4DC0]*/ 11038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.6 */ 11048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_LINEAR_B_SYLLABARY = 117, /*[10000]*/ 11058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.6 */ 11068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_LINEAR_B_IDEOGRAMS = 118, /*[10080]*/ 11078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.6 */ 11088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_AEGEAN_NUMBERS = 119, /*[10100]*/ 11098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.6 */ 11108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_UGARITIC = 120, /*[10380]*/ 11118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.6 */ 11128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_SHAVIAN = 121, /*[10450]*/ 11138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.6 */ 11148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_OSMANYA = 122, /*[10480]*/ 11158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.6 */ 11168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_CYPRIOT_SYLLABARY = 123, /*[10800]*/ 11178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.6 */ 11188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_TAI_XUAN_JING_SYMBOLS = 124, /*[1D300]*/ 11198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.6 */ 11208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_VARIATION_SELECTORS_SUPPLEMENT = 125, /*[E0100]*/ 11218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 11228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 11238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_COUNT, 11248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 11258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** @stable ICU 2.0 */ 11268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBLOCK_INVALID_CODE=-1 11278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}; 11288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 11298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** @stable ICU 2.0 */ 11308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef enum UBlockCode UBlockCode; 11318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 11328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 11338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * East Asian Width constants. 11348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 11358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see UCHAR_EAST_ASIAN_WIDTH 11368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_getIntPropertyValue 11378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.2 11388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 11398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef enum UEastAsianWidth { 11408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_EA_NEUTRAL, /*[N]*/ /*See note !!*/ 11418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_EA_AMBIGUOUS, /*[A]*/ 11428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_EA_HALFWIDTH, /*[H]*/ 11438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_EA_FULLWIDTH, /*[F]*/ 11448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_EA_NARROW, /*[Na]*/ 11458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_EA_WIDE, /*[W]*/ 11468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_EA_COUNT 11478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project} UEastAsianWidth; 11488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* 11498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Implementation note: 11508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Keep UEastAsianWidth constant values in sync with names list in genprops/props2.c. 11518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 11528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 11538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 11548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Selector constants for u_charName(). 11558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * u_charName() returns the "modern" name of a 11568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Unicode character; or the name that was defined in 11578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Unicode version 1.0, before the Unicode standard merged 11588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * with ISO-10646; or an "extended" name that gives each 11598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Unicode code point a unique name. 11608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 11618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_charName 11628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.0 11638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 11648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef enum UCharNameChoice { 11658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_UNICODE_CHAR_NAME, 11668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_UNICODE_10_CHAR_NAME, 11678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_EXTENDED_CHAR_NAME, 11688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_CHAR_NAME_CHOICE_COUNT 11698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project} UCharNameChoice; 11708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 11718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 11728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Selector constants for u_getPropertyName() and 11738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * u_getPropertyValueName(). These selectors are used to choose which 11748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * name is returned for a given property or value. All properties and 11758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * values have a long name. Most have a short name, but some do not. 11768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Unicode allows for additional names, beyond the long and short 11778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * name, which would be indicated by U_LONG_PROPERTY_NAME + i, where 11788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * i=1, 2,... 11798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 11808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_getPropertyName() 11818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_getPropertyValueName() 11828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.4 11838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 11848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef enum UPropertyNameChoice { 11858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_SHORT_PROPERTY_NAME, 11868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_LONG_PROPERTY_NAME, 11878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_PROPERTY_NAME_CHOICE_COUNT 11888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project} UPropertyNameChoice; 11898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 11908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 11918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Decomposition Type constants. 11928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 11938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see UCHAR_DECOMPOSITION_TYPE 11948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.2 11958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 11968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef enum UDecompositionType { 11978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_DT_NONE, /*[none]*/ /*See note !!*/ 11988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_DT_CANONICAL, /*[can]*/ 11998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_DT_COMPAT, /*[com]*/ 12008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_DT_CIRCLE, /*[enc]*/ 12018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_DT_FINAL, /*[fin]*/ 12028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_DT_FONT, /*[font]*/ 12038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_DT_FRACTION, /*[fra]*/ 12048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_DT_INITIAL, /*[init]*/ 12058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_DT_ISOLATED, /*[iso]*/ 12068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_DT_MEDIAL, /*[med]*/ 12078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_DT_NARROW, /*[nar]*/ 12088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_DT_NOBREAK, /*[nb]*/ 12098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_DT_SMALL, /*[sml]*/ 12108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_DT_SQUARE, /*[sqr]*/ 12118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_DT_SUB, /*[sub]*/ 12128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_DT_SUPER, /*[sup]*/ 12138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_DT_VERTICAL, /*[vert]*/ 12148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_DT_WIDE, /*[wide]*/ 12158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_DT_COUNT /* 18 */ 12168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project} UDecompositionType; 12178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 12188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 12198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Joining Type constants. 12208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 12218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see UCHAR_JOINING_TYPE 12228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.2 12238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 12248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef enum UJoiningType { 12258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_JT_NON_JOINING, /*[U]*/ /*See note !!*/ 12268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_JT_JOIN_CAUSING, /*[C]*/ 12278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_JT_DUAL_JOINING, /*[D]*/ 12288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_JT_LEFT_JOINING, /*[L]*/ 12298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_JT_RIGHT_JOINING, /*[R]*/ 12308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_JT_TRANSPARENT, /*[T]*/ 12318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_JT_COUNT /* 6 */ 12328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project} UJoiningType; 12338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 12348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 12358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Joining Group constants. 12368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 12378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see UCHAR_JOINING_GROUP 12388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.2 12398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 12408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef enum UJoiningGroup { 12418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_JG_NO_JOINING_GROUP, 12428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_JG_AIN, 12438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_JG_ALAPH, 12448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_JG_ALEF, 12458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_JG_BEH, 12468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_JG_BETH, 12478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_JG_DAL, 12488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_JG_DALATH_RISH, 12498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_JG_E, 12508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_JG_FEH, 12518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_JG_FINAL_SEMKATH, 12528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_JG_GAF, 12538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_JG_GAMAL, 12548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_JG_HAH, 12558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_JG_HAMZA_ON_HEH_GOAL, 12568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_JG_HE, 12578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_JG_HEH, 12588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_JG_HEH_GOAL, 12598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_JG_HETH, 12608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_JG_KAF, 12618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_JG_KAPH, 12628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_JG_KNOTTED_HEH, 12638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_JG_LAM, 12648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_JG_LAMADH, 12658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_JG_MEEM, 12668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_JG_MIM, 12678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_JG_NOON, 12688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_JG_NUN, 12698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_JG_PE, 12708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_JG_QAF, 12718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_JG_QAPH, 12728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_JG_REH, 12738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_JG_REVERSED_PE, 12748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_JG_SAD, 12758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_JG_SADHE, 12768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_JG_SEEN, 12778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_JG_SEMKATH, 12788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_JG_SHIN, 12798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_JG_SWASH_KAF, 12808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_JG_SYRIAC_WAW, 12818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_JG_TAH, 12828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_JG_TAW, 12838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_JG_TEH_MARBUTA, 12848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_JG_TETH, 12858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_JG_WAW, 12868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_JG_YEH, 12878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_JG_YEH_BARREE, 12888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_JG_YEH_WITH_TAIL, 12898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_JG_YUDH, 12908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_JG_YUDH_HE, 12918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_JG_ZAIN, 12928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_JG_FE, /**< @stable ICU 2.6 */ 12938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_JG_KHAPH, /**< @stable ICU 2.6 */ 12948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_JG_ZHAIN, /**< @stable ICU 2.6 */ 12958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_JG_COUNT 12968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project} UJoiningGroup; 12978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 12988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 12998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Line Break constants. 13008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 13018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see UCHAR_LINE_BREAK 13028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.2 13038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 13048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef enum ULineBreak { 13058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_LB_UNKNOWN, /*[XX]*/ /*See note !!*/ 13068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_LB_AMBIGUOUS, /*[AI]*/ 13078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_LB_ALPHABETIC, /*[AL]*/ 13088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_LB_BREAK_BOTH, /*[B2]*/ 13098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_LB_BREAK_AFTER, /*[BA]*/ 13108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_LB_BREAK_BEFORE, /*[BB]*/ 13118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_LB_MANDATORY_BREAK, /*[BK]*/ 13128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_LB_CONTINGENT_BREAK, /*[CB]*/ 13138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_LB_CLOSE_PUNCTUATION, /*[CL]*/ 13148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_LB_COMBINING_MARK, /*[CM]*/ 13158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_LB_CARRIAGE_RETURN, /*[CR]*/ 13168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_LB_EXCLAMATION, /*[EX]*/ 13178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_LB_GLUE, /*[GL]*/ 13188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_LB_HYPHEN, /*[HY]*/ 13198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_LB_IDEOGRAPHIC, /*[ID]*/ 13208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_LB_INSEPERABLE, 13218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /** Renamed from the misspelled "inseperable" in Unicode 4.0.1/ICU 3.0 @draft ICU 3.0 */ 13228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_LB_INSEPARABLE=U_LB_INSEPERABLE,/*[IN]*/ 13238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_LB_INFIX_NUMERIC, /*[IS]*/ 13248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_LB_LINE_FEED, /*[LF]*/ 13258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_LB_NONSTARTER, /*[NS]*/ 13268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_LB_NUMERIC, /*[NU]*/ 13278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_LB_OPEN_PUNCTUATION, /*[OP]*/ 13288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_LB_POSTFIX_NUMERIC, /*[PO]*/ 13298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_LB_PREFIX_NUMERIC, /*[PR]*/ 13308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_LB_QUOTATION, /*[QU]*/ 13318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_LB_COMPLEX_CONTEXT, /*[SA]*/ 13328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_LB_SURROGATE, /*[SG]*/ 13338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_LB_SPACE, /*[SP]*/ 13348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_LB_BREAK_SYMBOLS, /*[SY]*/ 13358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_LB_ZWSPACE, /*[ZW]*/ 13368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_LB_NEXT_LINE, /*[NL]*/ /* from here on: new in Unicode 4/ICU 2.6 */ 13378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_LB_WORD_JOINER, /*[WJ]*/ 13388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_LB_COUNT 13398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project} ULineBreak; 13408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 13418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 13428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Numeric Type constants. 13438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 13448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see UCHAR_NUMERIC_TYPE 13458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.2 13468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 13478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef enum UNumericType { 13488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_NT_NONE, /*[None]*/ /*See note !!*/ 13498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_NT_DECIMAL, /*[de]*/ 13508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_NT_DIGIT, /*[di]*/ 13518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_NT_NUMERIC, /*[nu]*/ 13528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_NT_COUNT 13538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project} UNumericType; 13548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 13558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 13568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Hangul Syllable Type constants. 13578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 13588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see UCHAR_HANGUL_SYLLABLE_TYPE 13598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.6 13608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 13618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef enum UHangulSyllableType { 13628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_HST_NOT_APPLICABLE, /*[NA]*/ /*See note !!*/ 13638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_HST_LEADING_JAMO, /*[L]*/ 13648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_HST_VOWEL_JAMO, /*[V]*/ 13658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_HST_TRAILING_JAMO, /*[T]*/ 13668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_HST_LV_SYLLABLE, /*[LV]*/ 13678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_HST_LVT_SYLLABLE, /*[LVT]*/ 13688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project U_HST_COUNT 13698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project} UHangulSyllableType; 13708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 13718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 13728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Check a binary Unicode property for a code point. 13738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 13748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Unicode, especially in version 3.2, defines many more properties than the 13758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * original set in UnicodeData.txt. 13768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 13778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * The properties APIs are intended to reflect Unicode properties as defined 13788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * in the Unicode Character Database (UCD) and Unicode Technical Reports (UTR). 13798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * For details about the properties see http://www.unicode.org/ucd/ . 13808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * For names of Unicode properties see the UCD file PropertyAliases.txt. 13818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 13828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Important: If ICU is built with UCD files from Unicode versions below 3.2, 13838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * then properties marked with "new in Unicode 3.2" are not or not fully available. 13848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 13858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param c Code point to test. 13868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param which UProperty selector constant, identifies which binary property to check. 13878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Must be UCHAR_BINARY_START<=which<UCHAR_BINARY_LIMIT. 13888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @return TRUE or FALSE according to the binary Unicode property value for c. 13898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Also FALSE if 'which' is out of bounds or if the Unicode version 13908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * does not have data for the property at all, or not for this code point. 13918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 13928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see UProperty 13938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_getIntPropertyValue 13948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_getUnicodeVersion 13958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.1 13968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 13978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectU_STABLE UBool U_EXPORT2 13988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectu_hasBinaryProperty(UChar32 c, UProperty which); 13998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 14008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 14018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Check if a code point has the Alphabetic Unicode property. 14028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Same as u_hasBinaryProperty(c, UCHAR_ALPHABETIC). 14038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * This is different from u_isalpha! 14048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param c Code point to test 14058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @return true if the code point has the Alphabetic Unicode property, false otherwise 14068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 14078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see UCHAR_ALPHABETIC 14088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_isalpha 14098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_hasBinaryProperty 14108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.1 14118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 14128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectU_STABLE UBool U_EXPORT2 14138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectu_isUAlphabetic(UChar32 c); 14148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 14158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 14168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Check if a code point has the Lowercase Unicode property. 14178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Same as u_hasBinaryProperty(c, UCHAR_LOWERCASE). 14188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * This is different from u_islower! 14198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param c Code point to test 14208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @return true if the code point has the Lowercase Unicode property, false otherwise 14218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 14228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see UCHAR_LOWERCASE 14238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_islower 14248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_hasBinaryProperty 14258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.1 14268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 14278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectU_STABLE UBool U_EXPORT2 14288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectu_isULowercase(UChar32 c); 14298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 14308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 14318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Check if a code point has the Uppercase Unicode property. 14328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Same as u_hasBinaryProperty(c, UCHAR_UPPERCASE). 14338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * This is different from u_isupper! 14348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param c Code point to test 14358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @return true if the code point has the Uppercase Unicode property, false otherwise 14368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 14378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see UCHAR_UPPERCASE 14388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_isupper 14398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_hasBinaryProperty 14408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.1 14418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 14428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectU_STABLE UBool U_EXPORT2 14438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectu_isUUppercase(UChar32 c); 14448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 14458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 14468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Check if a code point has the White_Space Unicode property. 14478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Same as u_hasBinaryProperty(c, UCHAR_WHITE_SPACE). 14488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * This is different from both u_isspace and u_isWhitespace! 14498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 14508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Note: There are several ICU whitespace functions; please see the uchar.h 14518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * file documentation for a detailed comparison. 14528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 14538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param c Code point to test 14548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @return true if the code point has the White_Space Unicode property, false otherwise. 14558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 14568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see UCHAR_WHITE_SPACE 14578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_isWhitespace 14588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_isspace 14598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_isJavaSpaceChar 14608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_hasBinaryProperty 14618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.1 14628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 14638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectU_STABLE UBool U_EXPORT2 14648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectu_isUWhiteSpace(UChar32 c); 14658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 14668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 14678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Get the property value for an enumerated or integer Unicode property for a code point. 14688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Also returns binary and mask property values. 14698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 14708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Unicode, especially in version 3.2, defines many more properties than the 14718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * original set in UnicodeData.txt. 14728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 14738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * The properties APIs are intended to reflect Unicode properties as defined 14748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * in the Unicode Character Database (UCD) and Unicode Technical Reports (UTR). 14758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * For details about the properties see http://www.unicode.org/ . 14768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * For names of Unicode properties see the UCD file PropertyAliases.txt. 14778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 14788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Sample usage: 14798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * UEastAsianWidth ea=(UEastAsianWidth)u_getIntPropertyValue(c, UCHAR_EAST_ASIAN_WIDTH); 14808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * UBool b=(UBool)u_getIntPropertyValue(c, UCHAR_IDEOGRAPHIC); 14818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 14828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param c Code point to test. 14838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param which UProperty selector constant, identifies which property to check. 14848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Must be UCHAR_BINARY_START<=which<UCHAR_BINARY_LIMIT 14858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * or UCHAR_INT_START<=which<UCHAR_INT_LIMIT 14868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * or UCHAR_MASK_START<=which<UCHAR_MASK_LIMIT. 14878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @return Numeric value that is directly the property value or, 14888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * for enumerated properties, corresponds to the numeric value of the enumerated 14898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * constant of the respective property value enumeration type 14908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * (cast to enum type if necessary). 14918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Returns 0 or 1 (for FALSE/TRUE) for binary Unicode properties. 14928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Returns a bit-mask for mask properties. 14938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Returns 0 if 'which' is out of bounds or if the Unicode version 14948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * does not have data for the property at all, or not for this code point. 14958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 14968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see UProperty 14978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_hasBinaryProperty 14988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_getIntPropertyMinValue 14998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_getIntPropertyMaxValue 15008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_getUnicodeVersion 15018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.2 15028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 15038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectU_STABLE int32_t U_EXPORT2 15048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectu_getIntPropertyValue(UChar32 c, UProperty which); 15058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 15068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 15078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Get the minimum value for an enumerated/integer/binary Unicode property. 15088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Can be used together with u_getIntPropertyMaxValue 15098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * to allocate arrays of UnicodeSet or similar. 15108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 15118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param which UProperty selector constant, identifies which binary property to check. 15128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Must be UCHAR_BINARY_START<=which<UCHAR_BINARY_LIMIT 15138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * or UCHAR_INT_START<=which<UCHAR_INT_LIMIT. 15148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @return Minimum value returned by u_getIntPropertyValue for a Unicode property. 15158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 0 if the property selector is out of range. 15168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 15178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see UProperty 15188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_hasBinaryProperty 15198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_getUnicodeVersion 15208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_getIntPropertyMaxValue 15218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_getIntPropertyValue 15228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.2 15238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 15248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectU_STABLE int32_t U_EXPORT2 15258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectu_getIntPropertyMinValue(UProperty which); 15268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 15278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 15288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Get the maximum value for an enumerated/integer/binary Unicode property. 15298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Can be used together with u_getIntPropertyMinValue 15308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * to allocate arrays of UnicodeSet or similar. 15318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 15328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Examples for min/max values (for Unicode 3.2): 15338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 15348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * - UCHAR_BIDI_CLASS: 0/18 (U_LEFT_TO_RIGHT/U_BOUNDARY_NEUTRAL) 15358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * - UCHAR_SCRIPT: 0/45 (USCRIPT_COMMON/USCRIPT_TAGBANWA) 15368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * - UCHAR_IDEOGRAPHIC: 0/1 (FALSE/TRUE) 15378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 15388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * For undefined UProperty constant values, min/max values will be 0/-1. 15398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 15408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param which UProperty selector constant, identifies which binary property to check. 15418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Must be UCHAR_BINARY_START<=which<UCHAR_BINARY_LIMIT 15428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * or UCHAR_INT_START<=which<UCHAR_INT_LIMIT. 15438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @return Maximum value returned by u_getIntPropertyValue for a Unicode property. 15448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * <=0 if the property selector is out of range. 15458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 15468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see UProperty 15478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_hasBinaryProperty 15488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_getUnicodeVersion 15498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_getIntPropertyMaxValue 15508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_getIntPropertyValue 15518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.2 15528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 15538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectU_STABLE int32_t U_EXPORT2 15548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectu_getIntPropertyMaxValue(UProperty which); 15558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 15568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 15578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Get the numeric value for a Unicode code point as defined in the 15588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Unicode Character Database. 15598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 15608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * A "double" return type is necessary because 15618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * some numeric values are fractions, negative, or too large for int32_t. 15628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 15638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * For characters without any numeric values in the Unicode Character Database, 15648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * this function will return U_NO_NUMERIC_VALUE. 15658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 15668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Similar to java.lang.Character.getNumericValue(), but u_getNumericValue() 15678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * also supports negative values, large values, and fractions, 15688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * while Java's getNumericValue() returns values 10..35 for ASCII letters. 15698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 15708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param c Code point to get the numeric value for. 15718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @return Numeric value of c, or U_NO_NUMERIC_VALUE if none is defined. 15728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 15738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see U_NO_NUMERIC_VALUE 15748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.2 15758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 15768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectU_STABLE double U_EXPORT2 15778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectu_getNumericValue(UChar32 c); 15788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 15798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 15808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Special value that is returned by u_getNumericValue when 15818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * no numeric value is defined for a code point. 15828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 15838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_getNumericValue 15848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.2 15858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 15868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_NO_NUMERIC_VALUE ((double)-123456789.) 15878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 15888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 15898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Determines whether the specified code point has the general category "Ll" 15908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * (lowercase letter). 15918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 15928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Same as java.lang.Character.isLowerCase(). 15938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 15948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * This misses some characters that are also lowercase but 15958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * have a different general category value. 15968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * In order to include those, use UCHAR_LOWERCASE. 15978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 15988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * In addition to being equivalent to a Java function, this also serves 15998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * as a C/POSIX migration function. 16008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * See the comments about C/POSIX character classification functions in the 16018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * documentation at the top of this header file. 16028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 16038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param c the code point to be tested 16048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @return TRUE if the code point is an Ll lowercase letter 16058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 16068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see UCHAR_LOWERCASE 16078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_isupper 16088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_istitle 16098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_islower 16108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.0 16118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 16128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectU_STABLE UBool U_EXPORT2 16138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectu_islower(UChar32 c); 16148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 16158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 16168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Determines whether the specified code point has the general category "Lu" 16178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * (uppercase letter). 16188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 16198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Same as java.lang.Character.isUpperCase(). 16208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 16218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * This misses some characters that are also uppercase but 16228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * have a different general category value. 16238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * In order to include those, use UCHAR_UPPERCASE. 16248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 16258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * In addition to being equivalent to a Java function, this also serves 16268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * as a C/POSIX migration function. 16278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * See the comments about C/POSIX character classification functions in the 16288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * documentation at the top of this header file. 16298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 16308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param c the code point to be tested 16318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @return TRUE if the code point is an Lu uppercase letter 16328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 16338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see UCHAR_UPPERCASE 16348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_islower 16358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_istitle 16368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_tolower 16378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.0 16388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 16398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectU_STABLE UBool U_EXPORT2 16408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectu_isupper(UChar32 c); 16418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 16428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 16438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Determines whether the specified code point is a titlecase letter. 16448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * True for general category "Lt" (titlecase letter). 16458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 16468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Same as java.lang.Character.isTitleCase(). 16478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 16488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param c the code point to be tested 16498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @return TRUE if the code point is an Lt titlecase letter 16508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 16518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_isupper 16528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_islower 16538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_totitle 16548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.0 16558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 16568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectU_STABLE UBool U_EXPORT2 16578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectu_istitle(UChar32 c); 16588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 16598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 16608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Determines whether the specified code point is a digit character according to Java. 16618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * True for characters with general category "Nd" (decimal digit numbers). 16628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Beginning with Unicode 4, this is the same as 16638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * testing for the Numeric_Type of Decimal. 16648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 16658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Same as java.lang.Character.isDigit(). 16668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 16678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * In addition to being equivalent to a Java function, this also serves 16688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * as a C/POSIX migration function. 16698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * See the comments about C/POSIX character classification functions in the 16708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * documentation at the top of this header file. 16718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 16728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param c the code point to be tested 16738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @return TRUE if the code point is a digit character according to Character.isDigit() 16748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 16758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.0 16768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 16778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectU_STABLE UBool U_EXPORT2 16788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectu_isdigit(UChar32 c); 16798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 16808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 16818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Determines whether the specified code point is a letter character. 16828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * True for general categories "L" (letters). 16838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 16848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Same as java.lang.Character.isLetter(). 16858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 16868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * In addition to being equivalent to a Java function, this also serves 16878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * as a C/POSIX migration function. 16888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * See the comments about C/POSIX character classification functions in the 16898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * documentation at the top of this header file. 16908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 16918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param c the code point to be tested 16928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @return TRUE if the code point is a letter character 16938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 16948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_isdigit 16958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_isalnum 16968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.0 16978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 16988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectU_STABLE UBool U_EXPORT2 16998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectu_isalpha(UChar32 c); 17008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 17018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 17028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Determines whether the specified code point is an alphanumeric character 17038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * (letter or digit) according to Java. 17048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * True for characters with general categories 17058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * "L" (letters) and "Nd" (decimal digit numbers). 17068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 17078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Same as java.lang.Character.isLetterOrDigit(). 17088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 17098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * In addition to being equivalent to a Java function, this also serves 17108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * as a C/POSIX migration function. 17118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * See the comments about C/POSIX character classification functions in the 17128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * documentation at the top of this header file. 17138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 17148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param c the code point to be tested 17158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @return TRUE if the code point is an alphanumeric character according to Character.isLetterOrDigit() 17168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 17178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.0 17188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 17198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectU_STABLE UBool U_EXPORT2 17208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectu_isalnum(UChar32 c); 17218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 17228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 17238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Determines whether the specified code point is a hexadecimal digit. 17248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * This is equivalent to u_digit(c, 16)>=0. 17258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * True for characters with general category "Nd" (decimal digit numbers) 17268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * as well as Latin letters a-f and A-F in both ASCII and Fullwidth ASCII. 17278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * (That is, for letters with code points 17288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 0041..0046, 0061..0066, FF21..FF26, FF41..FF46.) 17298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 17308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * In order to narrow the definition of hexadecimal digits to only ASCII 17318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * characters, use (c<=0x7f && u_isxdigit(c)). 17328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 17338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * This is a C/POSIX migration function. 17348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * See the comments about C/POSIX character classification functions in the 17358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * documentation at the top of this header file. 17368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 17378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param c the code point to be tested 17388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @return TRUE if the code point is a hexadecimal digit 17398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 17408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.6 17418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 17428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectU_STABLE UBool U_EXPORT2 17438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectu_isxdigit(UChar32 c); 17448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 17458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 17468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Determines whether the specified code point is a punctuation character. 17478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * True for characters with general categories "P" (punctuation). 17488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 17498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * This is a C/POSIX migration function. 17508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * See the comments about C/POSIX character classification functions in the 17518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * documentation at the top of this header file. 17528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 17538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param c the code point to be tested 17548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @return TRUE if the code point is a punctuation character 17558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 17568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.6 17578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 17588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectU_STABLE UBool U_EXPORT2 17598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectu_ispunct(UChar32 c); 17608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 17618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 17628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Determines whether the specified code point is a "graphic" character 17638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * (printable, excluding spaces). 17648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * TRUE for all characters except those with general categories 17658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * "Cc" (control codes), "Cf" (format controls), "Cs" (surrogates), 17668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * "Cn" (unassigned), and "Z" (separators). 17678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 17688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * This is a C/POSIX migration function. 17698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * See the comments about C/POSIX character classification functions in the 17708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * documentation at the top of this header file. 17718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 17728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param c the code point to be tested 17738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @return TRUE if the code point is a "graphic" character 17748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 17758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.6 17768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 17778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectU_STABLE UBool U_EXPORT2 17788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectu_isgraph(UChar32 c); 17798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 17808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 17818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Determines whether the specified code point is a "blank" or "horizontal space", 17828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * a character that visibly separates words on a line. 17838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * The following are equivalent definitions: 17848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 17858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * TRUE for Unicode White_Space characters except for "vertical space controls" 17868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * where "vertical space controls" are the following characters: 17878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * U+000A (LF) U+000B (VT) U+000C (FF) U+000D (CR) U+0085 (NEL) U+2028 (LS) U+2029 (PS) 17888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 17898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * same as 17908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 17918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * TRUE for U+0009 (TAB) and characters with general category "Zs" (space separators) 17928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * except Zero Width Space (ZWSP, U+200B). 17938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 17948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Note: There are several ICU whitespace functions; please see the uchar.h 17958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * file documentation for a detailed comparison. 17968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 17978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * This is a C/POSIX migration function. 17988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * See the comments about C/POSIX character classification functions in the 17998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * documentation at the top of this header file. 18008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 18018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param c the code point to be tested 18028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @return TRUE if the code point is a "blank" 18038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 18048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.6 18058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 18068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectU_STABLE UBool U_EXPORT2 18078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectu_isblank(UChar32 c); 18088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 18098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 18108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Determines whether the specified code point is "defined", 18118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * which usually means that it is assigned a character. 18128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * True for general categories other than "Cn" (other, not assigned), 18138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * i.e., true for all code points mentioned in UnicodeData.txt. 18148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 18158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Note that non-character code points (e.g., U+FDD0) are not "defined" 18168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * (they are Cn), but surrogate code points are "defined" (Cs). 18178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 18188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Same as java.lang.Character.isDefined(). 18198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 18208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param c the code point to be tested 18218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @return TRUE if the code point is assigned a character 18228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 18238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_isdigit 18248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_isalpha 18258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_isalnum 18268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_isupper 18278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_islower 18288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_istitle 18298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.0 18308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 18318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectU_STABLE UBool U_EXPORT2 18328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectu_isdefined(UChar32 c); 18338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 18348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 18358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Determines if the specified character is a space character or not. 18368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 18378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Note: There are several ICU whitespace functions; please see the uchar.h 18388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * file documentation for a detailed comparison. 18398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 18408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * This is a C/POSIX migration function. 18418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * See the comments about C/POSIX character classification functions in the 18428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * documentation at the top of this header file. 18438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 18448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param c the character to be tested 18458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @return true if the character is a space character; false otherwise. 18468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 18478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_isJavaSpaceChar 18488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_isWhitespace 18498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_isUWhiteSpace 18508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.0 18518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 18528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectU_STABLE UBool U_EXPORT2 18538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectu_isspace(UChar32 c); 18548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 18558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 18568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Determine if the specified code point is a space character according to Java. 18578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * True for characters with general categories "Z" (separators), 18588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * which does not include control codes (e.g., TAB or Line Feed). 18598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 18608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Same as java.lang.Character.isSpaceChar(). 18618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 18628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Note: There are several ICU whitespace functions; please see the uchar.h 18638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * file documentation for a detailed comparison. 18648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 18658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param c the code point to be tested 18668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @return TRUE if the code point is a space character according to Character.isSpaceChar() 18678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 18688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_isspace 18698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_isWhitespace 18708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_isUWhiteSpace 18718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.6 18728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 18738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectU_STABLE UBool U_EXPORT2 18748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectu_isJavaSpaceChar(UChar32 c); 18758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 18768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 18778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Determines if the specified code point is a whitespace character according to Java/ICU. 18788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * A character is considered to be a Java whitespace character if and only 18798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * if it satisfies one of the following criteria: 18808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 18818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * - It is a Unicode separator (categories "Z"), but is not 18828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * a no-break space (U+00A0 NBSP or U+2007 Figure Space or U+202F Narrow NBSP). 18838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * - It is U+0009 HORIZONTAL TABULATION. 18848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * - It is U+000A LINE FEED. 18858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * - It is U+000B VERTICAL TABULATION. 18868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * - It is U+000C FORM FEED. 18878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * - It is U+000D CARRIAGE RETURN. 18888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * - It is U+001C FILE SEPARATOR. 18898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * - It is U+001D GROUP SEPARATOR. 18908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * - It is U+001E RECORD SEPARATOR. 18918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * - It is U+001F UNIT SEPARATOR. 18928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * - It is U+0085 NEXT LINE. 18938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 18948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Same as java.lang.Character.isWhitespace() except that Java omits U+0085. 18958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 18968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Note: There are several ICU whitespace functions; please see the uchar.h 18978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * file documentation for a detailed comparison. 18988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 18998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param c the code point to be tested 19008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @return TRUE if the code point is a whitespace character according to Java/ICU 19018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 19028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_isspace 19038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_isJavaSpaceChar 19048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_isUWhiteSpace 19058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.0 19068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 19078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectU_STABLE UBool U_EXPORT2 19088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectu_isWhitespace(UChar32 c); 19098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 19108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 19118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Determines whether the specified code point is a control character 19128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * (as defined by this function). 19138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * A control character is one of the following: 19148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * - ISO 8-bit control character (U+0000..U+001f and U+007f..U+009f) 19158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * - U_CONTROL_CHAR (Cc) 19168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * - U_FORMAT_CHAR (Cf) 19178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * - U_LINE_SEPARATOR (Zl) 19188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * - U_PARAGRAPH_SEPARATOR (Zp) 19198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 19208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * This is a C/POSIX migration function. 19218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * See the comments about C/POSIX character classification functions in the 19228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * documentation at the top of this header file. 19238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 19248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param c the code point to be tested 19258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @return TRUE if the code point is a control character 19268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 19278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see UCHAR_DEFAULT_IGNORABLE_CODE_POINT 19288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_isprint 19298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.0 19308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 19318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectU_STABLE UBool U_EXPORT2 19328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectu_iscntrl(UChar32 c); 19338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 19348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 19358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Determines whether the specified code point is an ISO control code. 19368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * True for U+0000..U+001f and U+007f..U+009f (general category "Cc"). 19378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 19388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Same as java.lang.Character.isISOControl(). 19398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 19408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param c the code point to be tested 19418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @return TRUE if the code point is an ISO control code 19428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 19438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_iscntrl 19448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.6 19458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 19468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectU_STABLE UBool U_EXPORT2 19478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectu_isISOControl(UChar32 c); 19488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 19498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 19508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Determines whether the specified code point is a printable character. 19518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * True for general categories <em>other</em> than "C" (controls). 19528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 19538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * This is a C/POSIX migration function. 19548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * See the comments about C/POSIX character classification functions in the 19558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * documentation at the top of this header file. 19568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 19578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param c the code point to be tested 19588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @return TRUE if the code point is a printable character 19598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 19608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see UCHAR_DEFAULT_IGNORABLE_CODE_POINT 19618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_iscntrl 19628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.0 19638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 19648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectU_STABLE UBool U_EXPORT2 19658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectu_isprint(UChar32 c); 19668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 19678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 19688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Determines whether the specified code point is a base character. 19698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * True for general categories "L" (letters), "N" (numbers), 19708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * "Mc" (spacing combining marks), and "Me" (enclosing marks). 19718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 19728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Note that this is different from the Unicode definition in 19738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * chapter 3.5, conformance clause D13, 19748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * which defines base characters to be all characters (not Cn) 19758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * that do not graphically combine with preceding characters (M) 19768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * and that are neither control (Cc) or format (Cf) characters. 19778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 19788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param c the code point to be tested 19798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @return TRUE if the code point is a base character according to this function 19808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 19818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_isalpha 19828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_isdigit 19838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.0 19848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 19858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectU_STABLE UBool U_EXPORT2 19868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectu_isbase(UChar32 c); 19878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 19888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 19898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Returns the bidirectional category value for the code point, 19908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * which is used in the Unicode bidirectional algorithm 19918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * (UAX #9 http://www.unicode.org/reports/tr9/). 19928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Note that some <em>unassigned</em> code points have bidi values 19938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * of R or AL because they are in blocks that are reserved 19948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * for Right-To-Left scripts. 19958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 19968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Same as java.lang.Character.getDirectionality() 19978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 19988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param c the code point to be tested 19998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @return the bidirectional category (UCharDirection) value 20008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 20018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see UCharDirection 20028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.0 20038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 20048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectU_STABLE UCharDirection U_EXPORT2 20058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectu_charDirection(UChar32 c); 20068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 20078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 20088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Determines whether the code point has the Bidi_Mirrored property. 20098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * This property is set for characters that are commonly used in 20108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Right-To-Left contexts and need to be displayed with a "mirrored" 20118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * glyph. 20128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 20138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Same as java.lang.Character.isMirrored(). 20148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Same as UCHAR_BIDI_MIRRORED 20158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 20168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param c the code point to be tested 20178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @return TRUE if the character has the Bidi_Mirrored property 20188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 20198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see UCHAR_BIDI_MIRRORED 20208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.0 20218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 20228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectU_STABLE UBool U_EXPORT2 20238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectu_isMirrored(UChar32 c); 20248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 20258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 20268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Maps the specified character to a "mirror-image" character. 20278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * For characters with the Bidi_Mirrored property, implementations 20288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * sometimes need a "poor man's" mapping to another Unicode 20298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * character (code point) such that the default glyph may serve 20308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * as the mirror-image of the default glyph of the specified 20318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * character. This is useful for text conversion to and from 20328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * codepages with visual order, and for displays without glyph 20338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * selecetion capabilities. 20348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 20358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param c the code point to be mapped 20368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @return another Unicode code point that may serve as a mirror-image 20378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * substitute, or c itself if there is no such mapping or c 20388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * does not have the Bidi_Mirrored property 20398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 20408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see UCHAR_BIDI_MIRRORED 20418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_isMirrored 20428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.0 20438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 20448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectU_STABLE UChar32 U_EXPORT2 20458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectu_charMirror(UChar32 c); 20468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 20478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 20488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Returns the general category value for the code point. 20498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 20508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Same as java.lang.Character.getType(). 20518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 20528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param c the code point to be tested 20538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @return the general category (UCharCategory) value 20548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 20558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see UCharCategory 20568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.0 20578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 20588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectU_STABLE int8_t U_EXPORT2 20598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectu_charType(UChar32 c); 20608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 20618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 20628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Get a single-bit bit set for the general category of a character. 20638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * This bit set can be compared bitwise with U_GC_SM_MASK, U_GC_L_MASK, etc. 20648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Same as U_MASK(u_charType(c)). 20658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 20668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param c the code point to be tested 20678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @return a single-bit mask corresponding to the general category (UCharCategory) value 20688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 20698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_charType 20708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see UCharCategory 20718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see U_GC_CN_MASK 20728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.1 20738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 20748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_GET_GC_MASK(c) U_MASK(u_charType(c)) 20758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 20768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 20778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Callback from u_enumCharTypes(), is called for each contiguous range 20788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * of code points c (where start<=c<limit) 20798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * with the same Unicode general category ("character type"). 20808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 20818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * The callback function can stop the enumeration by returning FALSE. 20828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 20838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param context an opaque pointer, as passed into utrie_enum() 20848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param start the first code point in a contiguous range with value 20858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param limit one past the last code point in a contiguous range with value 20868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param type the general category for all code points in [start..limit[ 20878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @return FALSE to stop the enumeration 20888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 20898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.1 20908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see UCharCategory 20918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_enumCharTypes 20928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 20938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef UBool U_CALLCONV 20948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectUCharEnumTypeRange(const void *context, UChar32 start, UChar32 limit, UCharCategory type); 20958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 20968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 20978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Enumerate efficiently all code points with their Unicode general categories. 20988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 20998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * This is useful for building data structures (e.g., UnicodeSet's), 21008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * for enumerating all assigned code points (type!=U_UNASSIGNED), etc. 21018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 21028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * For each contiguous range of code points with a given general category ("character type"), 21038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * the UCharEnumTypeRange function is called. 21048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Adjacent ranges have different types. 21058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * The Unicode Standard guarantees that the numeric value of the type is 0..31. 21068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 21078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param enumRange a pointer to a function that is called for each contiguous range 21088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * of code points with the same general category 21098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param context an opaque pointer that is passed on to the callback function 21108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 21118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.1 21128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see UCharCategory 21138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see UCharEnumTypeRange 21148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 21158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectU_STABLE void U_EXPORT2 21168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectu_enumCharTypes(UCharEnumTypeRange *enumRange, const void *context); 21178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 21188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#if !UCONFIG_NO_NORMALIZATION 21198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 21208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 21218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Returns the combining class of the code point as specified in UnicodeData.txt. 21228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 21238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param c the code point of the character 21248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @return the combining class of the character 21258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.0 21268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 21278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectU_STABLE uint8_t U_EXPORT2 21288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectu_getCombiningClass(UChar32 c); 21298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 21308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 21318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 21328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 21338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Returns the decimal digit value of a decimal digit character. 21348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Such characters have the general category "Nd" (decimal digit numbers) 21358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * and a Numeric_Type of Decimal. 21368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 21378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Unlike ICU releases before 2.6, no digit values are returned for any 21388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Han characters because Han number characters are often used with a special 21398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Chinese-style number format (with characters for powers of 10 in between) 21408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * instead of in decimal-positional notation. 21418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Unicode 4 explicitly assigns Han number characters the Numeric_Type 21428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Numeric instead of Decimal. 21438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * See Jitterbug 1483 for more details. 21448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 21458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Use u_getIntPropertyValue(c, UCHAR_NUMERIC_TYPE) and u_getNumericValue() 21468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * for complete numeric Unicode properties. 21478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 21488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param c the code point for which to get the decimal digit value 21498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @return the decimal digit value of c, 21508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * or -1 if c is not a decimal digit character 21518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 21528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_getNumericValue 21538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.0 21548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 21558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectU_STABLE int32_t U_EXPORT2 21568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectu_charDigitValue(UChar32 c); 21578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 21588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 21598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Returns the Unicode allocation block that contains the character. 21608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 21618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param c the code point to be tested 21628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @return the block value (UBlockCode) for c 21638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 21648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see UBlockCode 21658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.0 21668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 21678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectU_STABLE UBlockCode U_EXPORT2 21688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectublock_getCode(UChar32 c); 21698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 21708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 21718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Retrieve the name of a Unicode character. 21728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Depending on <code>nameChoice</code>, the character name written 21738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * into the buffer is the "modern" name or the name that was defined 21748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * in Unicode version 1.0. 21758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * The name contains only "invariant" characters 21768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * like A-Z, 0-9, space, and '-'. 21778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Unicode 1.0 names are only retrieved if they are different from the modern 21788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * names and if the data file contains the data for them. gennames may or may 21798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * not be called with a command line option to include 1.0 names in unames.dat. 21808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 21818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param code The character (code point) for which to get the name. 21828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * It must be <code>0<=code<=0x10ffff</code>. 21838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param nameChoice Selector for which name to get. 21848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param buffer Destination address for copying the name. 21858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * The name will always be zero-terminated. 21868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * If there is no name, then the buffer will be set to the empty string. 21878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param bufferLength <code>==sizeof(buffer)</code> 21888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param pErrorCode Pointer to a UErrorCode variable; 21898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * check for <code>U_SUCCESS()</code> after <code>u_charName()</code> 21908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * returns. 21918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @return The length of the name, or 0 if there is no name for this character. 21928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * If the bufferLength is less than or equal to the length, then the buffer 21938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * contains the truncated name and the returned length indicates the full 21948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * length of the name. 21958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * The length does not include the zero-termination. 21968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 21978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see UCharNameChoice 21988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_charFromName 21998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_enumCharNames 22008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.0 22018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 22028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectU_STABLE int32_t U_EXPORT2 22038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectu_charName(UChar32 code, UCharNameChoice nameChoice, 22048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project char *buffer, int32_t bufferLength, 22058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UErrorCode *pErrorCode); 22068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 22078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 22088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Get the ISO 10646 comment for a character. 22098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * The ISO 10646 comment is an informative field in the Unicode Character 22108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Database (UnicodeData.txt field 11) and is from the ISO 10646 names list. 22118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 22128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param c The character (code point) for which to get the ISO comment. 22138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * It must be <code>0<=c<=0x10ffff</code>. 22148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param dest Destination address for copying the comment. 22158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * The comment will be zero-terminated if possible. 22168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * If there is no comment, then the buffer will be set to the empty string. 22178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param destCapacity <code>==sizeof(dest)</code> 22188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param pErrorCode Pointer to a UErrorCode variable; 22198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * check for <code>U_SUCCESS()</code> after <code>u_getISOComment()</code> 22208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * returns. 22218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @return The length of the comment, or 0 if there is no comment for this character. 22228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * If the destCapacity is less than or equal to the length, then the buffer 22238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * contains the truncated name and the returned length indicates the full 22248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * length of the name. 22258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * The length does not include the zero-termination. 22268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 22278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.2 22288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 22298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectU_STABLE int32_t U_EXPORT2 22308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectu_getISOComment(UChar32 c, 22318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project char *dest, int32_t destCapacity, 22328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UErrorCode *pErrorCode); 22338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 22348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 22358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Find a Unicode character by its name and return its code point value. 22368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * The name is matched exactly and completely. 22378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * If the name does not correspond to a code point, <i>pErrorCode</i> 22388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * is set to <code>U_INVALID_CHAR_FOUND</code>. 22398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * A Unicode 1.0 name is matched only if it differs from the modern name. 22408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Unicode names are all uppercase. Extended names are lowercase followed 22418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * by an uppercase hexadecimal number, and within angle brackets. 22428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 22438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param nameChoice Selector for which name to match. 22448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param name The name to match. 22458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param pErrorCode Pointer to a UErrorCode variable 22468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @return The Unicode value of the code point with the given name, 22478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * or an undefined value if there is no such code point. 22488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 22498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see UCharNameChoice 22508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_charName 22518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_enumCharNames 22528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 1.7 22538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 22548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectU_STABLE UChar32 U_EXPORT2 22558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectu_charFromName(UCharNameChoice nameChoice, 22568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project const char *name, 22578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UErrorCode *pErrorCode); 22588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 22598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 22608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Type of a callback function for u_enumCharNames() that gets called 22618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * for each Unicode character with the code point value and 22628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * the character name. 22638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * If such a function returns FALSE, then the enumeration is stopped. 22648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 22658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param context The context pointer that was passed to u_enumCharNames(). 22668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param code The Unicode code point for the character with this name. 22678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param nameChoice Selector for which kind of names is enumerated. 22688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param name The character's name, zero-terminated. 22698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param length The length of the name. 22708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @return TRUE if the enumeration should continue, FALSE to stop it. 22718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 22728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see UCharNameChoice 22738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_enumCharNames 22748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 1.7 22758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 22768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef UBool UEnumCharNamesFn(void *context, 22778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UChar32 code, 22788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCharNameChoice nameChoice, 22798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project const char *name, 22808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project int32_t length); 22818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 22828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 22838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Enumerate all assigned Unicode characters between the start and limit 22848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * code points (start inclusive, limit exclusive) and call a function 22858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * for each, passing the code point value and the character name. 22868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * For Unicode 1.0 names, only those are enumerated that differ from the 22878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * modern names. 22888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 22898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param start The first code point in the enumeration range. 22908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param limit One more than the last code point in the enumeration range 22918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * (the first one after the range). 22928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param fn The function that is to be called for each character name. 22938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param context An arbitrary pointer that is passed to the function. 22948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param nameChoice Selector for which kind of names to enumerate. 22958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param pErrorCode Pointer to a UErrorCode variable 22968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 22978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see UCharNameChoice 22988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see UEnumCharNamesFn 22998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_charName 23008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_charFromName 23018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 1.7 23028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 23038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectU_STABLE void U_EXPORT2 23048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectu_enumCharNames(UChar32 start, UChar32 limit, 23058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UEnumCharNamesFn *fn, 23068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project void *context, 23078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UCharNameChoice nameChoice, 23088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UErrorCode *pErrorCode); 23098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 23108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 23118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Return the Unicode name for a given property, as given in the 23128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Unicode database file PropertyAliases.txt. 23138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 23148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * In addition, this function maps the property 23158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * UCHAR_GENERAL_CATEGORY_MASK to the synthetic names "gcm" / 23168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * "General_Category_Mask". These names are not in 23178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * PropertyAliases.txt. 23188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 23198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param property UProperty selector other than UCHAR_INVALID_CODE. 23208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * If out of range, NULL is returned. 23218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 23228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param nameChoice selector for which name to get. If out of range, 23238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * NULL is returned. All properties have a long name. Most 23248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * have a short name, but some do not. Unicode allows for 23258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * additional names; if present these will be returned by 23268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * U_LONG_PROPERTY_NAME + i, where i=1, 2,... 23278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 23288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @return a pointer to the name, or NULL if either the 23298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * property or the nameChoice is out of range. If a given 23308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * nameChoice returns NULL, then all larger values of 23318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * nameChoice will return NULL, with one exception: if NULL is 23328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * returned for U_SHORT_PROPERTY_NAME, then 23338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * U_LONG_PROPERTY_NAME (and higher) may still return a 23348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * non-NULL value. The returned pointer is valid until 23358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * u_cleanup() is called. 23368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 23378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see UProperty 23388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see UPropertyNameChoice 23398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.4 23408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 23418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectU_STABLE const char* U_EXPORT2 23428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectu_getPropertyName(UProperty property, 23438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UPropertyNameChoice nameChoice); 23448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 23458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 23468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Return the UProperty enum for a given property name, as specified 23478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * in the Unicode database file PropertyAliases.txt. Short, long, and 23488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * any other variants are recognized. 23498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 23508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * In addition, this function maps the synthetic names "gcm" / 23518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * "General_Category_Mask" to the property 23528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * UCHAR_GENERAL_CATEGORY_MASK. These names are not in 23538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * PropertyAliases.txt. 23548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 23558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param alias the property name to be matched. The name is compared 23568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * using "loose matching" as described in PropertyAliases.txt. 23578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 23588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @return a UProperty enum, or UCHAR_INVALID_CODE if the given name 23598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * does not match any property. 23608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 23618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see UProperty 23628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.4 23638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 23648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectU_STABLE UProperty U_EXPORT2 23658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectu_getPropertyEnum(const char* alias); 23668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 23678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 23688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Return the Unicode name for a given property value, as given in the 23698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Unicode database file PropertyValueAliases.txt. 23708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 23718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Note: Some of the names in PropertyValueAliases.txt can only be 23728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * retrieved using UCHAR_GENERAL_CATEGORY_MASK, not 23738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * UCHAR_GENERAL_CATEGORY. These include: "C" / "Other", "L" / 23748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * "Letter", "LC" / "Cased_Letter", "M" / "Mark", "N" / "Number", "P" 23758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * / "Punctuation", "S" / "Symbol", and "Z" / "Separator". 23768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 23778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param property UProperty selector constant. 23788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Must be UCHAR_BINARY_START<=which<UCHAR_BINARY_LIMIT 23798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * or UCHAR_INT_START<=which<UCHAR_INT_LIMIT 23808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * or UCHAR_MASK_START<=which<UCHAR_MASK_LIMIT. 23818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * If out of range, NULL is returned. 23828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 23838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param value selector for a value for the given property. If out 23848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * of range, NULL is returned. In general, valid values range 23858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * from 0 up to some maximum. There are a few exceptions: 23868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * (1.) UCHAR_BLOCK values begin at the non-zero value 23878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * UBLOCK_BASIC_LATIN. (2.) UCHAR_CANONICAL_COMBINING_CLASS 23888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * values are not contiguous and range from 0..240. (3.) 23898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * UCHAR_GENERAL_CATEGORY_MASK values are not values of 23908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * UCharCategory, but rather mask values produced by 23918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * U_GET_GC_MASK(). This allows grouped categories such as 23928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * [:L:] to be represented. Mask values range 23938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * non-contiguously from 1..U_GC_P_MASK. 23948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 23958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param nameChoice selector for which name to get. If out of range, 23968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * NULL is returned. All values have a long name. Most have 23978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * a short name, but some do not. Unicode allows for 23988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * additional names; if present these will be returned by 23998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * U_LONG_PROPERTY_NAME + i, where i=1, 2,... 24008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 24018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @return a pointer to the name, or NULL if either the 24028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * property or the nameChoice is out of range. If a given 24038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * nameChoice returns NULL, then all larger values of 24048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * nameChoice will return NULL, with one exception: if NULL is 24058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * returned for U_SHORT_PROPERTY_NAME, then 24068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * U_LONG_PROPERTY_NAME (and higher) may still return a 24078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * non-NULL value. The returned pointer is valid until 24088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * u_cleanup() is called. 24098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 24108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see UProperty 24118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see UPropertyNameChoice 24128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.4 24138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 24148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectU_STABLE const char* U_EXPORT2 24158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectu_getPropertyValueName(UProperty property, 24168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project int32_t value, 24178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UPropertyNameChoice nameChoice); 24188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 24198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 24208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Return the property value integer for a given value name, as 24218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * specified in the Unicode database file PropertyValueAliases.txt. 24228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Short, long, and any other variants are recognized. 24238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 24248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Note: Some of the names in PropertyValueAliases.txt will only be 24258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * recognized with UCHAR_GENERAL_CATEGORY_MASK, not 24268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * UCHAR_GENERAL_CATEGORY. These include: "C" / "Other", "L" / 24278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * "Letter", "LC" / "Cased_Letter", "M" / "Mark", "N" / "Number", "P" 24288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * / "Punctuation", "S" / "Symbol", and "Z" / "Separator". 24298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 24308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param property UProperty selector constant. 24318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Must be UCHAR_BINARY_START<=which<UCHAR_BINARY_LIMIT 24328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * or UCHAR_INT_START<=which<UCHAR_INT_LIMIT 24338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * or UCHAR_MASK_START<=which<UCHAR_MASK_LIMIT. 24348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * If out of range, UCHAR_INVALID_CODE is returned. 24358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 24368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param alias the value name to be matched. The name is compared 24378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * using "loose matching" as described in 24388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * PropertyValueAliases.txt. 24398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 24408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @return a value integer or UCHAR_INVALID_CODE if the given name 24418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * does not match any value of the given property, or if the 24428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * property is invalid. Note: U CHAR_GENERAL_CATEGORY values 24438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * are not values of UCharCategory, but rather mask values 24448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * produced by U_GET_GC_MASK(). This allows grouped 24458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * categories such as [:L:] to be represented. 24468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 24478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see UProperty 24488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.4 24498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 24508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectU_STABLE int32_t U_EXPORT2 24518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectu_getPropertyValueEnum(UProperty property, 24528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project const char* alias); 24538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 24548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 24558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Determines if the specified character is permissible as the 24568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * first character in an identifier according to Unicode 24578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * (The Unicode Standard, Version 3.0, chapter 5.16 Identifiers). 24588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * True for characters with general categories "L" (letters) and "Nl" (letter numbers). 24598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 24608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Same as java.lang.Character.isUnicodeIdentifierStart(). 24618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Same as UCHAR_ID_START 24628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 24638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param c the code point to be tested 24648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @return TRUE if the code point may start an identifier 24658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 24668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see UCHAR_ID_START 24678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_isalpha 24688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_isIDPart 24698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.0 24708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 24718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectU_STABLE UBool U_EXPORT2 24728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectu_isIDStart(UChar32 c); 24738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 24748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 24758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Determines if the specified character is permissible 24768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * in an identifier according to Java. 24778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * True for characters with general categories "L" (letters), 24788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * "Nl" (letter numbers), "Nd" (decimal digits), 24798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * "Mc" and "Mn" (combining marks), "Pc" (connecting punctuation), and 24808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * u_isIDIgnorable(c). 24818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 24828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Same as java.lang.Character.isUnicodeIdentifierPart(). 24838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Almost the same as Unicode's ID_Continue (UCHAR_ID_CONTINUE) 24848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * except that Unicode recommends to ignore Cf which is less than 24858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * u_isIDIgnorable(c). 24868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 24878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param c the code point to be tested 24888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @return TRUE if the code point may occur in an identifier according to Java 24898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 24908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see UCHAR_ID_CONTINUE 24918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_isIDStart 24928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_isIDIgnorable 24938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.0 24948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 24958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectU_STABLE UBool U_EXPORT2 24968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectu_isIDPart(UChar32 c); 24978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 24988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 24998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Determines if the specified character should be regarded 25008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * as an ignorable character in an identifier, 25018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * according to Java. 25028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * True for characters with general category "Cf" (format controls) as well as 25038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * non-whitespace ISO controls 25048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * (U+0000..U+0008, U+000E..U+001B, U+007F..U+0084, U+0086..U+009F). 25058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 25068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Same as java.lang.Character.isIdentifierIgnorable() 25078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * except that Java also returns TRUE for U+0085 Next Line 25088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * (it omits U+0085 from whitespace ISO controls). 25098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 25108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Note that Unicode just recommends to ignore Cf (format controls). 25118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 25128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param c the code point to be tested 25138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @return TRUE if the code point is ignorable in identifiers according to Java 25148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 25158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see UCHAR_DEFAULT_IGNORABLE_CODE_POINT 25168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_isIDStart 25178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_isIDPart 25188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.0 25198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 25208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectU_STABLE UBool U_EXPORT2 25218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectu_isIDIgnorable(UChar32 c); 25228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 25238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 25248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Determines if the specified character is permissible as the 25258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * first character in a Java identifier. 25268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * In addition to u_isIDStart(c), true for characters with 25278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * general categories "Sc" (currency symbols) and "Pc" (connecting punctuation). 25288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 25298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Same as java.lang.Character.isJavaIdentifierStart(). 25308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 25318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param c the code point to be tested 25328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @return TRUE if the code point may start a Java identifier 25338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 25348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_isJavaIDPart 25358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_isalpha 25368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_isIDStart 25378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.0 25388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 25398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectU_STABLE UBool U_EXPORT2 25408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectu_isJavaIDStart(UChar32 c); 25418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 25428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 25438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Determines if the specified character is permissible 25448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * in a Java identifier. 25458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * In addition to u_isIDPart(c), true for characters with 25468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * general category "Sc" (currency symbols). 25478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 25488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Same as java.lang.Character.isJavaIdentifierPart(). 25498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 25508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param c the code point to be tested 25518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @return TRUE if the code point may occur in a Java identifier 25528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 25538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_isIDIgnorable 25548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_isJavaIDStart 25558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_isalpha 25568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_isdigit 25578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_isIDPart 25588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.0 25598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 25608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectU_STABLE UBool U_EXPORT2 25618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectu_isJavaIDPart(UChar32 c); 25628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 25638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 25648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * The given character is mapped to its lowercase equivalent according to 25658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * UnicodeData.txt; if the character has no lowercase equivalent, the character 25668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * itself is returned. 25678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 25688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Same as java.lang.Character.toLowerCase(). 25698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 25708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * This function only returns the simple, single-code point case mapping. 25718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Full case mappings may result in zero, one or more code points and depend 25728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * on context or language etc. 25738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Full case mappings are applied by the string case mapping functions, 25748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * see ustring.h and the UnicodeString class. 25758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 25768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param c the code point to be mapped 25778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @return the Simple_Lowercase_Mapping of the code point, if any; 25788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * otherwise the code point itself. 25798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.0 25808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 25818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectU_STABLE UChar32 U_EXPORT2 25828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectu_tolower(UChar32 c); 25838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 25848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 25858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * The given character is mapped to its uppercase equivalent according to UnicodeData.txt; 25868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * if the character has no uppercase equivalent, the character itself is 25878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * returned. 25888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 25898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Same as java.lang.Character.toUpperCase(). 25908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 25918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * This function only returns the simple, single-code point case mapping. 25928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Full case mappings may result in zero, one or more code points and depend 25938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * on context or language etc. 25948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Full case mappings are applied by the string case mapping functions, 25958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * see ustring.h and the UnicodeString class. 25968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 25978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param c the code point to be mapped 25988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @return the Simple_Uppercase_Mapping of the code point, if any; 25998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * otherwise the code point itself. 26008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.0 26018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 26028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectU_STABLE UChar32 U_EXPORT2 26038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectu_toupper(UChar32 c); 26048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 26058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 26068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * The given character is mapped to its titlecase equivalent 26078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * according to UnicodeData.txt; 26088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * if none is defined, the character itself is returned. 26098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 26108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Same as java.lang.Character.toTitleCase(). 26118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 26128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * This function only returns the simple, single-code point case mapping. 26138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Full case mappings may result in zero, one or more code points and depend 26148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * on context or language etc. 26158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Full case mappings are applied by the string case mapping functions, 26168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * see ustring.h and the UnicodeString class. 26178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 26188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param c the code point to be mapped 26198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @return the Simple_Titlecase_Mapping of the code point, if any; 26208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * otherwise the code point itself. 26218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.0 26228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 26238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectU_STABLE UChar32 U_EXPORT2 26248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectu_totitle(UChar32 c); 26258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 26268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** Option value for case folding: use default mappings defined in CaseFolding.txt. @stable ICU 2.0 */ 26278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_FOLD_CASE_DEFAULT 0 26288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 26298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 26308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Option value for case folding: 26318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 26328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Use the modified set of mappings provided in CaseFolding.txt to handle dotted I 26338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * and dotless i appropriately for Turkic languages (tr, az). 26348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 26358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Before Unicode 3.2, CaseFolding.txt contains mappings marked with 'I' that 26368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * are to be included for default mappings and 26378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * excluded for the Turkic-specific mappings. 26388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 26398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Unicode 3.2 CaseFolding.txt instead contains mappings marked with 'T' that 26408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * are to be excluded for default mappings and 26418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * included for the Turkic-specific mappings. 26428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 26438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.0 26448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 26458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_FOLD_CASE_EXCLUDE_SPECIAL_I 1 26468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 26478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 26488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * The given character is mapped to its case folding equivalent according to 26498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * UnicodeData.txt and CaseFolding.txt; 26508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * if the character has no case folding equivalent, the character 26518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * itself is returned. 26528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 26538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * This function only returns the simple, single-code point case mapping. 26548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Full case mappings may result in zero, one or more code points and depend 26558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * on context or language etc. 26568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Full case mappings are applied by the string case mapping functions, 26578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * see ustring.h and the UnicodeString class. 26588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 26598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param c the code point to be mapped 26608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param options Either U_FOLD_CASE_DEFAULT or U_FOLD_CASE_EXCLUDE_SPECIAL_I 26618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @return the Simple_Case_Folding of the code point, if any; 26628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * otherwise the code point itself. 26638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.0 26648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 26658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectU_STABLE UChar32 U_EXPORT2 26668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectu_foldCase(UChar32 c, uint32_t options); 26678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 26688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 26698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Returns the decimal digit value of the code point in the 26708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * specified radix. 26718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 26728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * If the radix is not in the range <code>2<=radix<=36</code> or if the 26738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * value of <code>c</code> is not a valid digit in the specified 26748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * radix, <code>-1</code> is returned. A character is a valid digit 26758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * if at least one of the following is true: 26768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * <ul> 26778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * <li>The character has a decimal digit value. 26788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Such characters have the general category "Nd" (decimal digit numbers) 26798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * and a Numeric_Type of Decimal. 26808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * In this case the value is the character's decimal digit value.</li> 26818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * <li>The character is one of the uppercase Latin letters 26828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * <code>'A'</code> through <code>'Z'</code>. 26838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * In this case the value is <code>c-'A'+10</code>.</li> 26848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * <li>The character is one of the lowercase Latin letters 26858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * <code>'a'</code> through <code>'z'</code>. 26868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * In this case the value is <code>ch-'a'+10</code>.</li> 26878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * <li>Latin letters from both the ASCII range (0061..007A, 0041..005A) 26888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * as well as from the Fullwidth ASCII range (FF41..FF5A, FF21..FF3A) 26898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * are recognized.</li> 26908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * </ul> 26918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 26928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Same as java.lang.Character.digit(). 26938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 26948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param ch the code point to be tested. 26958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param radix the radix. 26968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @return the numeric value represented by the character in the 26978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * specified radix, 26988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * or -1 if there is no value or if the value exceeds the radix. 26998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 27008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see UCHAR_NUMERIC_TYPE 27018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_forDigit 27028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_charDigitValue 27038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_isdigit 27048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.0 27058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 27068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectU_STABLE int32_t U_EXPORT2 27078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectu_digit(UChar32 ch, int8_t radix); 27088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 27098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 27108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Determines the character representation for a specific digit in 27118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * the specified radix. If the value of <code>radix</code> is not a 27128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * valid radix, or the value of <code>digit</code> is not a valid 27138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * digit in the specified radix, the null character 27148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * (<code>U+0000</code>) is returned. 27158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * <p> 27168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * The <code>radix</code> argument is valid if it is greater than or 27178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * equal to 2 and less than or equal to 36. 27188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * The <code>digit</code> argument is valid if 27198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * <code>0 <= digit < radix</code>. 27208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * <p> 27218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * If the digit is less than 10, then 27228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * <code>'0' + digit</code> is returned. Otherwise, the value 27238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * <code>'a' + digit - 10</code> is returned. 27248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 27258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Same as java.lang.Character.forDigit(). 27268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 27278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param digit the number to convert to a character. 27288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param radix the radix. 27298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @return the <code>char</code> representation of the specified digit 27308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * in the specified radix. 27318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 27328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_digit 27338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_charDigitValue 27348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @see u_isdigit 27358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.0 27368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 27378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectU_STABLE UChar32 U_EXPORT2 27388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectu_forDigit(int32_t digit, int8_t radix); 27398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 27408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 27418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Get the "age" of the code point. 27428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * The "age" is the Unicode version when the code point was first 27438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * designated (as a non-character or for Private Use) 27448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * or assigned a character. 27458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * This can be useful to avoid emitting code points to receiving 27468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * processes that do not accept newer characters. 27478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * The data is from the UCD file DerivedAge.txt. 27488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 27498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param c The code point. 27508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param versionArray The Unicode version number array, to be filled in. 27518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 27528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.1 27538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 27548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectU_STABLE void U_EXPORT2 27558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectu_charAge(UChar32 c, UVersionInfo versionArray); 27568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 27578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 27588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Gets the Unicode version information. 27598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * The version array is filled in with the version information 27608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * for the Unicode standard that is currently used by ICU. 27618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * For example, Unicode version 3.1.1 is represented as an array with 27628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * the values { 3, 1, 1, 0 }. 27638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 27648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param versionArray an output array that will be filled in with 27658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * the Unicode version number 27668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.0 27678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 27688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectU_STABLE void U_EXPORT2 27698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectu_getUnicodeVersion(UVersionInfo versionArray); 27708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 27718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 27728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Get the FC_NFKC_Closure property string for a character. 27738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * See Unicode Standard Annex #15 for details, search for "FC_NFKC_Closure" 27748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * or for "FNC": http://www.unicode.org/reports/tr15/ 27758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 27768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param c The character (code point) for which to get the FC_NFKC_Closure string. 27778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * It must be <code>0<=c<=0x10ffff</code>. 27788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param dest Destination address for copying the string. 27798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * The string will be zero-terminated if possible. 27808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * If there is no FC_NFKC_Closure string, 27818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * then the buffer will be set to the empty string. 27828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param destCapacity <code>==sizeof(dest)</code> 27838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @param pErrorCode Pointer to a UErrorCode variable. 27848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @return The length of the string, or 0 if there is no FC_NFKC_Closure string for this character. 27858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * If the destCapacity is less than or equal to the length, then the buffer 27868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * contains the truncated name and the returned length indicates the full 27878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * length of the name. 27888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * The length does not include the zero-termination. 27898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 27908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.2 27918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 27928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectU_STABLE int32_t U_EXPORT2 27938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectu_getFC_NFKC_Closure(UChar32 c, UChar *dest, int32_t destCapacity, UErrorCode *pErrorCode); 27948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 27958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectU_CDECL_END 27968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 27978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif /*_UCHAR*/ 27988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*eof*/ 2799