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