EnsureSelectionBoundaries

Formularze, interakcja, Unicode

Opis

Wewnętrzna funkcja pomocnicza klasy TPDFlibFormSession, budująca i podręczna pamięć tabel granic Unicode dla bieżącej wartości edycji

Dla fsuUnicodeCodePoint skanuje wartość UTF-16 i zapisuje jedną granicę na punkt kodowy, traktując ważną parę surrogatów jako jeden uzupełniający punkt kodowy, a niesparowany surrogat jako samodzielny punkt kodowy

Dla fsuGraphemeCluster buduje granice klastrów rozszerzonych grafemów, więc sekwencje łączące i połączone emoji pozostają niepodzielne

Każda tabela zaczyna się od granicy w zerze i przechowuje przesunięcia UTF-16 o podstawie zero, a niepusta podręczna tabela jest ponownie używana, dopóki InvalidateSelectionBoundaries jej nie wyczyści

Tabele podpierają każdą konwersję indeksu między jednostkami kodowymi UTF-16, punktami kodowymi Unicode i klastrami grafemów

Deklaracja

procedure EnsureSelectionBoundaries(
  IndexUnit: TPDFlibFormSelectionUnit);

Parametry

IndexUnitŻądana tabela granic: fsuUnicodeCodePoint lub fsuGraphemeCluster

Przykład

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

Zobacz również

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