
placed after an otherwise identical string without them. For example, “Xmen” <
“X men” < “X‑men” < “X–men.”
Control and formatting characters, except line breaks and horizontal tabs (which count
as whitespace), are completely ignored in the default order.
We have discussed some general principles of UCA only, and you need to consult UTS
#10 for the detailed algorithm and notations. In practice, you will probably not work
with Collation Element Tables directly. Rather, you will use higher-level constructs,
such as the Collator and RuleBasedCollator classes in Java programming. These classes
let you specify your modifications of the default collating order using simple, readable
notations like “c < ch < d,” which says that “ch” is to be treated as if it were a character
between “c” and “d.”
Text Boundaries
In text processing, we often need to work with text elements larger than individual
characters. For example, we might need operations like “delete next word” or “move
one sentence forward in the text.” Therefore, we need to recognize boundaries between
elements of text, collectively called text boundaries.
Text boundary principles are defined in a separate document, Unicode Standard Annex
(UAX) #29, “Text Boundaries.” It specifies boundaries for three types of text elements:
• Grapheme cluster, which is characterized informally as “user character”
• Word, which partly corresponds to the word concept ...