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

IndexUnitAngeforderte Grenztabelle, fsuUnicodeCodePoint oder fsuGraphemeCluster

Beispiel

Session.SetSelectionRange(1, 2, fsuUnicodeCodePoint);
Session.GetSelectionRange(fsuUTF16CodeUnit, Sel);

Siehe auch

InvalidateSelectionBoundaries, EnsureVisualCaretOrder, ClampTextLength, SetSelectionRange, GetSelectionRange, TPDFlibFormSelectionUnit, TPDFlibFormSession