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

IndexNollbaserad UTF-16-position, begränsad till intervallet 0 till den aktuella värdelängden
IndexUnitMarkeringsenhet 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