SelectionUnitToUTF16
Formuláře, interakce, unicode
Popis
Převede počet jednotek výběru na index UTF-16 od nuly odpovídající hranice uvnitř aktivní editované hodnoty
S fsuUTF16CodeUnit se počet vrací beze změny po omezení na délku hodnoty
S fsuUnicodeCodePoint nebo fsuGraphemeCluster se tabulka hranic pro tu jednotku staví na vyžádání a vyhledává, takže vrácený index nikdy nerozdělí náhradní pár ani klastr grafémů a nadměrný počet se omezí na konečnou hranici
Počet nula a méně se vždy převede na index nula
Deklarace
function SelectionUnitToUTF16(Index: Integer;
IndexUnit: TPDFlibFormSelectionUnit): Integer;
Parametry
| Index | Počet celých výběrových jednotek, které se mají přeskočit od začátku hodnoty, omezený na poslední dostupnou hranici |
|---|---|
| IndexUnit | Výběrová jednotka, ve které je počet vyjádřen |
Návratová hodnota
Vrací index požadované hranice v UTF-16, délku hodnoty, když počet přesahuje dostupné hranice, nebo nulu pro počty nula a méně
Příklad
// Unit 2 starts after the surrogate pair, at UTF-16 index 3
Session.SetEditValue('A' + WideChar($D83D) + WideChar($DE00) + 'B');
CaretUTF16 := Session.SelectionUnitToUTF16(2, fsuUnicodeCodePoint);
// CaretUTF16 = 3
Viz také
SelectionUTF16ToUnit, SetSelectionRange, GetVisualCaretOrder, TPDFlibFormSelectionUnit, TPDFlibFormSession