The Unicode class allows you to query the properties associated with individual Unicode character values
The Unicode class allows you to query the properties associated with individual Unicode character values.The Unicode character information, provided implicitly by the Unicode character encoding standard, includes information about the sript (for example, symbols or control characters) to which the character belongs, as well as semantic information such as whether a character is a digit or uppercase, lowercase, or uncased.
@subclassing Do not subclass.
A character may start a Java identifier if and only if
it is one of the following:
A character may be part of a Java identifier if and only if
it is one of the following:
A character may be part of a Unicode identifier if and only if
it is one of the following:
The following Unicode characters are ignorable in a Java identifier
or a Unicode identifier:
A character has a lowercase equivalent if and only if a lowercase mapping
is specified for the character in the Unicode 2.0 attribute table.
Unicode::toLowerCase() only deals with the general letter case conversion.
For language specific case conversion behavior, use UnicodeString::toLower().
For example, the case conversion for dot-less i and dotted I in Turkish,
or for final sigma in Greek.
Unicode::toUpperCase() only deals with the general letter case conversion.
For language specific case conversion behavior, use UnicodeString::toUpper().
For example, the case conversion for dot-less i and dotted I in Turkish,
or ess-zed (i.e., "sharp S") in German.
A character has a titlecase equivalent if and only if a titlecase mapping
is specified for the character in the Unicode 2.1.2 data.
Returns the linguistic direction property of a character.
For example, 0x0041 (letter A) has the LEFT_TO_RIGHT directional
property.
ZERO_WIDTH: Characters which are considered to take up no display-cell space:
control characters
format characters
line and paragraph separators
non-spacing marks
combining Hangul jungseong
combining Hangul jongseong
unassigned Unicode values
HALF_WIDTH: Characters which take up half a cell in standard Asian text:
all characters in the General Scripts Area except combining Hangul choseong
and the characters called out specifically above as ZERO_WIDTH
alphabetic and Arabic presentation forms
halfwidth CJK punctuation
halfwidth Katakana
halfwidth Hangul Jamo
halfwidth forms, arrows, and shapes
FULL_WIDTH: Characters which take up a full cell in standard Asian text:
combining Hangul choseong
all characters in the CJK Phonetics and Symbols Area
all characters in the CJK Ideographs Area
all characters in the Hangul Syllables Area
CJK compatibility ideographs
CJK compatibility forms
small form variants
fullwidth ASCII
fullwidth punctuation and currency signs
NEUTRAL: Characters whose cell width is context-dependent:
all characters in the Symbols Area, except those specifically called out above
all characters in the Surrogates Area
all charcaters in the Private Use Area
For Korean text, this algorithm should work properly with properly normalized Korean
text. Precomposed Hangul syllables and non-combining jamo are all considered full-
width characters. For combining jamo, we treat we treat choseong (initial consonants)
as double-width characters and junseong (vowels) and jongseong (final consonants)
as non-spacing marks. This will work right in text that uses the precomposed
choseong characters instead of teo choseong characters in a row, and which uses the
choseong filler character at the beginning of syllables that don't have an initial
consonant. The results may be slightly off with Korean text following different
conventions.
static const UChar MAX_VALUE
enum EUnicodeGeneralTypes
enum EDirectionProperty
enum ECellWidths
static bool_t isLowerCase(UChar ch)
isTitleCase
toLowerCase static bool_t isUpperCase(UChar ch)
isTitleCase
toUpperCase static bool_t isTitleCase(UChar ch)
isLowerCase
toTitleCase static bool_t isDigit(UChar ch)
static bool_t isDefined(UChar ch)
isLetter
isLetterOrDigit
isUpperCase
isLowerCase
isTitleCase static bool_t isControl(UChar ch)
static bool_t isPrintable(UChar ch)
static bool_t isBaseForm(UChar ch)
isDigit static bool_t isLetter(UChar ch)
isLetterOrDigit
isUpperCase
isLowerCase
isTitleCase static bool_t isJavaIdentifierStart(UChar ch)
isLetter
isUnicodeIdentifierStart static bool_t isJavaIdentifierPart(UChar ch)
isJavaIdentifierStart
isLetter
isDigit
isUnicodeIdentifierPart static bool_t isUnicodeIdentifierStart(UChar ch)
isLetter
isUnicodeIdentifierPart static bool_t isUnicodeIdentifierPart(UChar ch)
isJavaIdentifierPart
isLetterOrDigit
isUnicodeIdentifierStart static bool_t isIdentifierIgnorable(UChar ch)
0x0000 through 0x0008,
ISO control characters that 0x000E through 0x001B, are not whitespace and 0x007F through 0x009F 0x200C through 0x200F join controls 0x200A through 0x200E bidirectional controls 0x206A through 0x206F format controls 0xFEFF zero-width no-break space
isUnicodeIdentifierPart static UChar toLowerCase(UChar ch)
isLowerCase
isUpperCase
toUpperCase
toTitleCase static UChar toUpperCase(UChar ch)
isUpperCase
isLowerCase
toLowerCase
toTitleCase static UChar toTitleCase(UChar ch)
toUpperCase
toLowerCase static bool_t isSpaceChar(UChar ch)
static int8_t getType(UChar ch)
UPPERCASE_LETTER
LOWERCASE_LETTER
TITLECASE_LETTER
MODIFIER_LETTER
OTHER_LETTER
NON_SPACING_MARK
ENCLOSING_MARK
COMBINING_SPACING_MARK
DECIMAL_DIGIT_NUMBER
OTHER_NUMBER
SPACE_SEPARATOR
LINE_SEPARATOR
PARAGRAPH_SEPARATOR
CONTROL
PRIVATE_USE
SURROGATE
DASH_PUNCTUATION
OPEN_PUNCTUATION
CLOSE_PUNCTUATION
CONNECTOR_PUNCTUATION
OTHER_PUNCTUATION
LETTER_NUMBER
MATH_SYMBOL
CURRENCY_SYMBOL
MODIFIER_SYMBOL
OTHER_SYMBOL static EDirectionProperty characterDirection(UChar ch)
static EUnicodeScript getScript(UChar ch)
static uint16_t getCellWidth(UChar ch)
static int32_t digitValue(UChar ch)
static const char* getVersion(void)
alphabetic index hierarchy of classes
this page has been generated automatically by doc++
(c)opyright by Malte Zöckler, Roland Wunderling
contact: doc++@zib.de