SelectionUTF16ToUnit
Formulär, interaktion, Unicode
Beskrivning
Konverterar en nollbaserad UTF-16-position inom det aktiva redigeringsvärdet till ett antal kompletta markeringsenheter Med
fsuUTF16CodeUnit
fsuUnicodeCodePoint returneras indexet oförändrat efter begränsning
Med fsuGraphemeCluster eller
Gränstabeller cachas för det aktuella redigeringsvärdet och kastas närhelst värdet ändras
Deklaration
function SelectionUTF16ToUnit(Index: Integer;
IndexUnit: TPDFlibFormSelectionUnit): Integer;
Parametrar
| Index | Nollbaserad UTF-16-position, begränsad till intervallet 0 till den aktuella värdelängden |
|---|---|
| IndexUnit | Markeringsenhet som resultatet räknas i |
Returvärde
Returnerar antalet kompletta kodpunkter eller grafemkluster som föregår UTF-16-positionen, eller det begränsade indexet själv för fsuUTF16CodeUnit
Exempel
// A surrogate pair counts as one code point unit
Session.SetEditValue('A' + WideChar($D83D) + WideChar($DE00) + 'B');
CaretUnits := Session.SelectionUTF16ToUnit(3, fsuUnicodeCodePoint);
// CaretUnits = 2
Se även
SelectionUnitToUTF16, GetSelectionRange, SetSelectionRange, TPDFlibFormSelectionUnit, TPDFlibFormSession