SelectionUnitToUTF16
Formulär, interaktion, Unicode
Beskrivning
Konverterar ett antal markeringsenheter till det nollbaserade UTF-16-index för motsvarande gräns inom det aktiva redigeringsvärdet Med
fsuUTF16CodeUnit
fsuUnicodeCodePoint returneras antalet oförändrat efter begränsning till värdelängden
Med fsuGraphemeCluster eller
Ett antal på noll eller mindre konverteras alltid till index noll
Deklaration
function SelectionUnitToUTF16(Index: Integer;
IndexUnit: TPDFlibFormSelectionUnit): Integer;
Parametrar
| Index | Antal kompletta markeringsenheter att hoppa över från värdets början, begränsat till den sista tillgängliga gränsen |
|---|---|
| IndexUnit | Markeringsenhet som antalet anges i |
Returvärde
Returnerar UTF-16-indexet för den begärda gränsen, värdelängden när antalet överstiger de tillgängliga gränserna, eller noll för antal på noll eller mindre
Exempel
// 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
Se även
SelectionUTF16ToUnit, SetSelectionRange, GetVisualCaretOrder, TPDFlibFormSelectionUnit, TPDFlibFormSession