Class ComposedCharIter
ComposedCharIter is an iterator class that returns all of the precomposed characters defined in the Unicode standard, along with their decomposed forms. This is often useful when building data tables (e.g. collation tables) which need to treat composed and decomposed characters equivalently.
For example, imagine that you have built a collation table with ordering
rules for the canonically decomposed
forms of all
characters used in a particular language. When you process input text using
this table, the text must first be decomposed so that it matches the form
used in the table. This can impose a performance penalty that may be
unacceptable in some situations.
You can avoid this problem by ensuring that the collation table contains rules for both the decomposed and composed versions of each character. To do so, use a ComposedCharIter to iterate through all of the composed characters in Unicode. If the decomposition for that character consists solely of characters that are listed in your ruleset, you can add a new rule for the composed character that makes it equivalent to its decomposition sequence.
Note that ComposedCharIter iterates over a static table
of the composed characters in Unicode. If you want to iterate over the
composed characters in a particular string, use Normalizer
instead.
When constructing a ComposedCharIter there is one optional feature that you can enable or disable:
Normalizer.IGNORE_HANGUL
- Do not iterate over the Hangul characters and their corresponding Jamo decompositions. This option is off by default (i.e. Hangul processing is enabled) since the Unicode standard specifies that Hangul to Jamo is a canonical decomposition.
ComposedCharIter is currently based on version 2.1.8 of the Unicode Standard. It will be updated as later versions of Unicode are released.
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionDeprecated.ICU 2.2ComposedCharIter
(boolean compat, int options) Deprecated.ICU 2.2 -
Method Summary
-
Field Details
-
DONE
Deprecated.ICU 2.2Constant that indicates the iteration has completed.next()
returns this value when there are no more composed characters over which to iterate.- See Also:
-
-
Constructor Details
-
ComposedCharIter
Deprecated.ICU 2.2Construct a new ComposedCharIter. The iterator will return all Unicode characters with canonical decompositions, including Korean Hangul characters. -
ComposedCharIter
Deprecated.ICU 2.2Constructs a non-default ComposedCharIter with optional behavior.- Parameters:
compat
- false for canonical decompositions only; true for both canonical and compatibility decompositions.options
- Optional decomposition features. None are supported, so this is ignored.
-
-
Method Details
-
hasNext
Deprecated.ICU 2.2Determines whether there any precomposed Unicode characters not yet returned bynext()
. -
next
Deprecated.ICU 2.2 -
decomposition
Deprecated.ICU 2.2Returns the Unicode decomposition of the current character. This method returns the decomposition of the precomposed character most recently returned bynext()
. The resulting decomposition is affected by the settings of the options passed to the constructor.
-