EnsureSelectionBoundaries
Formulare, Interaktion, Unicode
Beschreibung
Interner Helper von TPDFlibFormSession, der die Unicode-Grenztabellen für den aktuellen Bearbeitungswert aufbaut und cached
Für
fsuUnicodeCodePoint durchsucht er den UTF-16-Wert und notiert eine Grenze pro Codepunkt, wobei er ein gültiges Surrogatpaar als einzelnen ergänzenden Codepunkt und ein ungepaartes Surrogat als eigenständigen Codepunkt behandelt
Für
fsuGraphemeCluster baut er erweiterte Graphemcluster-Grenzen auf, sodass kombinierende Sequenzen und verbundene Emoji unteilbar bleiben
Jede Tabelle beginnt mit der Grenze bei null und speichert 0-basierte UTF-16-Offsets; eine nicht leere gecachte Tabelle wird wiederverwendet, bis
Jede Tabelle beginnt mit der Grenze bei null und speichert nullbasierte UTF-16-Offsets, und eine nicht leere zwischengespeicherte Tabelle wird wiederverwendet, bis InvalidateSelectionBoundaries sie löscht
Die Tabellen stützen jede Indexkonvertierung zwischen UTF-16-Codeeinheiten, Unicode-Codepunkten und Graphemhaufen
Deklaration
procedure EnsureSelectionBoundaries(
IndexUnit: TPDFlibFormSelectionUnit);
Parameter
| IndexUnit | Angeforderte Grenztabelle, fsuUnicodeCodePoint oder fsuGraphemeCluster |
|---|
Beispiel
Session.SetSelectionRange(1, 2, fsuUnicodeCodePoint);
Session.GetSelectionRange(fsuUTF16CodeUnit, Sel);
Siehe auch
InvalidateSelectionBoundaries, EnsureVisualCaretOrder, ClampTextLength, SetSelectionRange, GetSelectionRange, TPDFlibFormSelectionUnit, TPDFlibFormSession