EnsureVisualCaretOrder

Formulare, Interaktion, Unicode

Beschreibung

Interner Helfer von TPDFlibFormSession, der die zwischengespeicherte physische Caret-Slotreihenfolge berechnet, die die visuelle Caretbewegung nutzt

Ein gültiger Cache für den aktuellen Bearbeitungswert und die aufgelöste Textrichtung wird wiederverwendet, andernfalls wird die Reihenfolge aus der Graphemgrenztabelle neu aufgebaut

Der Wert wird an LF-, CR- und CRLF-Brüchen in Zeilen geteilt, und jede Zeile wird unter der aufgelösten Basisrichtung in bidirektionale Runs aufgelöst, mit einem Einzel-Run-Fallback, wenn die Run-Auflösung scheitert

Run-Einbettungsebenen werden auf den Bereich 0 bis 125 begrenzt, und die visuelle Run-Reihenfolge folgt den aufgelösten Ebenen

Graphemgrenzindizes werden in physikalischer links-nach-rechts-Reihenfolge über die Runs angehängt, vorwärts für links-nach-rechts-Runs und rückwärts für rechts-nach-links-Runs, sodass ein logischer Index an einer Grenze gemischter Richtung zwei verschiedene Slots belegen kann

Aufeinanderfolgende doppelte Slots werden zusammengeführt, Zeilenumbruchpositionen werden zu eigenen Slots, ein leeres Ergebnis fällt auf den einzelnen Slot 0 zurück, und ein Neuaufbau setzt die visuelle Slotposition auf -1 zurück

Deklaration

procedure EnsureVisualCaretOrder;

Siehe auch

InvalidateVisualCaretOrder, GetVisualCaretOrder, MoveVisualCaret, GetResolvedTextDirection, EnsureSelectionBoundaries, TPDFlibFormTextDirection, TPDFlibFormSession