Top Description Inners Fields Constructors Methods
com.ibm.icu.impl

public final Class UCharacterProperty

extends Object
Class Inheritance
Imports
java.io.IOException, java.nio.ByteBuffer, java.util.Iterator, .MissingResourceException, com.ibm.icu.lang.UCharacter, .UCharacter.HangulSyllableType, .UCharacter.NumericType, .UCharacterCategory, .UProperty, .UScript, com.ibm.icu.text.Normalizer2, .UTF16, .UnicodeSet, com.ibm.icu.util.CodePointMap, .CodePointTrie, .ICUException, .ICUUncheckedIOException, .VersionInfo

Internal class used for Unicode character property database.

This classes store binary data read from uprops.icu. It does not have the capability to parse the data into more high-level information. It only returns bytes of information when required.

Due to the form most commonly used for retrieval, array of char is used to store the binary data.

UCharacterPropertyDB also contains information on accessing indexes to significant points in the binary data.

Responsibility for molding the binary data into more meaning form lies on UCharacter.

Author
Syn Wee Quek
Since
release 2.1, february 1st 2002

Nested and Inner Type Summary

Modifier and TypeClass and Description
private class
private class
private class
private class
private class
private class
private static class
private static class
private class
private class
private class

Field Summary

Modifier and TypeField and Description
private static final int
AGE_SHIFT_

Age value shift

private static final int
private static final int
pack-priv UCharacterProperty.BinaryProperty[]
private static final int
BLOCK_MASK_

Integer properties mask and shift values for blocks.

private static final int
BLOCK_SHIFT_

Integer properties mask and shift values for blocks.

private static final int
private static final int
private static final int
private static final String
DATA_FILE_NAME_

Default name of the datafile

private static final int
private static final int
DECOMPOSITION_TYPE_MASK_

Integer properties mask for decomposition type.

private static final int
private static final int
private static final int
private static final int
private static final int
EAST_ASIAN_MASK_

Integer properties mask and shift values for East Asian cell width.

private static final int
EAST_ASIAN_SHIFT_

Integer properties mask and shift values for East Asian cell width.

private static final int
private static final int
private static final int
FIRST_NIBBLE_SHIFT_

First nibble shift

private static final int
private static final int
private static final int
private static final int
GC_Z_MASK

Mask constant for multiple UCharCategory bits (Z Separators).

private static final int
private static final int
private static final int
private static final int
private static final int
private static final int[]
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int[]
ID_COMPAT_MATH_CONTINUE

Ranges (start/limit pairs) of ID_Compat_Math_Continue (only), from UCD PropList.txt.

private static final int[]
ID_COMPAT_MATH_START

ID_Compat_Math_Start characters, from UCD PropList.txt.

private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
public static final UCharacterProperty
pack-priv UCharacterProperty.IntProperty[]
private static final int
LAST_NIBBLE_MASK_

Second nibble mask

public static final char
LATIN_CAPITAL_LETTER_I_WITH_DOT_ABOVE_

Latin capital letter i with dot above

public static final char
LATIN_SMALL_LETTER_DOTLESS_I_

Latin small letter i with dot above

public static final char
LATIN_SMALL_LETTER_I_

Latin lowercase i

private static final int
private static final int
private static final int
pack-priv int
m_additionalColumnsCount_

Number of additional columns

pack-priv Trie2_16
m_additionalTrie_

Extra property trie

pack-priv int[]
m_additionalVectors_

Extra property vectors, 1st column for age and second for binary properties.

pack-priv int
m_maxBlockScriptValue_

Maximum values for block, bits used as in vector word 0

pack-priv int
m_maxJTGValue_

Maximum values for script, bits used as in vector word 0

public char[]
m_scriptExtensions_

Script_Extensions data

public Trie2_16
m_trie_

Trie data

public VersionInfo
m_unicodeVersion_

Unicode version

private static final int
public static final int
pack-priv static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
NTV_BASE60_START_

Sexagesimal numbers: ((ntv>>2)-0xbf) * 60^((ntv&3)+1) = (1..9)*(60^1..60^4)

private static final int
NTV_DECIMAL_START_

Decimal digits: nv=0..9

private static final int
NTV_DIGIT_START_

Other digits: nv=0..9

private static final int
NTV_FRACTION20_START_

Fraction-20 values: frac20 = ntv-0x324 = 0..0x17 -> 1|3|5|7 / 20|40|80|160|320|640 numerator: num = 2*(frac20&3)+1 denominator: den = 20<<(frac20>>2)

private static final int
NTV_FRACTION32_START_

Fraction-32 values: frac32 = ntv-0x34c = 0..15 -> 1|3|5|7 / 32|64|128|256 numerator: num = 2*(frac32&3)+1 denominator: den = 32<<(frac32>>2)

private static final int
NTV_FRACTION_START_

Fractions: ((ntv>>4)-12) / ((ntv&0xf)+1) = -1..17 / 1..16

private static final int
NTV_LARGE_START_

Large integers: ((ntv>>5)-14) * 10^((ntv&0x1f)+2) = (1..9)*(10^2..10^33) (only one significant decimal digit)

private static final int
NTV_NONE_

No numeric value.

private static final int
NTV_NUMERIC_START_

Small integers: nv=0..154

private static final int
NTV_RESERVED_START_

No numeric value (yet).

private static final int
NUMERIC_TYPE_VALUE_SHIFT_

Numeric types and values in the main properties words.

private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
public static final int
public static final int
public static final int
SCRIPT_LOW_MASK

Integer properties mask and shift values for scripts.

public static final int
SCRIPT_X_MASK

Script_Extensions: mask includes Script

public static final int
public static final int
public static final int
public static final int
SRC_BIDI

From ubidi_props.c/ubidi.icu

public static final int
SRC_CASE

From ucase.c/ucase.icu

public static final int
SRC_CASE_AND_NORM

From ucase.c/ucase.icu as well as unorm.cpp/unorm.icu

public static final int
SRC_CHAR

From uchar.c/uprops.icu main trie

public static final int
SRC_CHAR_AND_PROPSVEC

From uchar.c/uprops.icu main trie as well as properties vectors trie

public static final int
SRC_COUNT

One more than the highest UPropertySource (SRC_) constant.

public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
SRC_NAMES

From unames.c/unames.icu

public static final int
SRC_NFC

From normalizer2impl.cpp/nfc.nrm

public static final int
SRC_NFC_CANON_ITER

From normalizer2impl.cpp/nfc.nrm canonical iterator data

public static final int
SRC_NFKC

From normalizer2impl.cpp/nfkc.nrm

public static final int
SRC_NFKC_CF

From normalizer2impl.cpp/nfkc_cf.nrm

public static final int
SRC_NONE

No source, not a supported property.

public static final int
SRC_PROPSVEC

From uchar.c/uprops.icu properties vectors trie

public static final int
private static final int
private static final int
public static final int
TYPE_MASK

Character type mask

private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
WHITE_SPACE_PROPERTY_

Additional properties used in internal trie data

private static final int
private static final int
private static final int
private static final int

Constructor Summary

AccessConstructor and Description
private
UCharacterProperty()

Constructor

Method Summary

Modifier and TypeMethod and Description
public UnicodeSet
public int
digit(int c)

public int

Returns:

unicode properties
getAdditional
(int
codepoint whose additional properties is to be retrieved
codepoint
,
int
The column index.
column
)

Gets the unicode additional properties.

public VersionInfo

Returns:

the Unicode version number
getAge
(int
The code point.
codepoint
)

Get the "age" of the code point.

public static int

Returns:

-1 if ch is not a character of the form 'A' - 'Z', otherwise its corresponding digit will be returned.
getEuropeanDigit
(int
character to test
ch
)

Returns the digit values of characters like 'A' - 'Z', normal, half-width and full-width.

public int
public int
getIntPropertyValue(int c, int which)

public static final int

Returns:

mask
getMask
(int
character type
type
)

Gets the type mask

public int

Returns:

maximum values for the integer properties.
getMaxValues
(int column)

Get the the maximum values for some enum/int properties.

private static final int
public int
public final int

Returns:

property value of code point
getProperty
(int
code point whose property value is to be retrieved
ch
)

Gets the main property value for code point ch.

pack-priv final int
getSource(int which)

public int
getType(int c)

public double
public boolean
hasBinaryProperty(int c, int which)

private static final boolean
isgraphPOSIX(int c)

Checks if c is in [^\p{space}\p{gc=Control}\p{gc=Surrogate}\p{gc=Unassigned}] with space=\p{Whitespace} and Control=Cc.

pack-priv static void
public static final int
private static final int
ntvGetType(int ntv)

pack-priv static UnicodeSet
public void
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait