A combining character sequence joins a base character to one or more attached combining characters. Treating each char or code point as an independent user-visible character can split the sequence and detach its modifiers. section 6.1
Split text at character boundaries
Use BreakIterator.getCharacterInstance() for user-readable text: create the iterator, set the string, then advance by character boundaries rather than substring offsets. This recognizes surrogate pairs, combining sequences, and ligature clusters, keeping modifiers attached to their main symbols. section 6.1
Reduce boundary-related failures by following these rules:
- Prefer special text APIs for user-readable text and isolate text-processing code. section 6.1
- Use libraries such as ICU4J or dedicated utility methods instead of repeating fragile text logic. section 6.1
A focused BreakIterator listing shows how to locate user-visible character boundaries before extracting a text segment. section 6.1
