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

IndexAntal kompletta markeringsenheter att hoppa över från värdets början, begränsat till den sista tillgängliga gränsen
IndexUnitMarkeringsenhet 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