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