EnsureSelectionBoundaries
Forms, interaction, unicode
Description
Internal helper of TPDFlibFormSession that builds and caches the Unicode boundary tables for the current edit value
For
fsuUnicodeCodePoint it scans the UTF-16 value and records one boundary per code point, treating a valid surrogate pair as a single supplementary code point and an unpaired surrogate as one standalone code point
For
For fsuGraphemeCluster it builds extended grapheme cluster boundaries so combining sequences and joined emoji remain indivisible
InvalidateSelectionBoundaries clears it
The tables back every index conversion between UTF-16 code units, Unicode code points and grapheme clusters
The tables back every index conversion between UTF-16 code units, Unicode code points and grapheme clusters
Declaration
procedure EnsureSelectionBoundaries(
IndexUnit: TPDFlibFormSelectionUnit);
Parameters
| IndexUnit | Requested boundary table, fsuUnicodeCodePoint or fsuGraphemeCluster |
|---|
Example
Session.SetSelectionRange(1, 2, fsuUnicodeCodePoint);
Session.GetSelectionRange(fsuUTF16CodeUnit, Sel);
See also
InvalidateSelectionBoundaries, EnsureVisualCaretOrder, ClampTextLength, SetSelectionRange, GetSelectionRange, TPDFlibFormSelectionUnit, TPDFlibFormSession