SelectionUnitToUTF16
Formulare, Interaktion, Unicode
Beschreibung
Konvertiert eine Anzahl von Auswahleinheiten in den 0-basierten UTF-16-Index der passenden Grenze innerhalb des aktiven Bearbeitungswerts Bei
fsuUTF16CodeUnit
Mit fsuUnicodeCodePoint oder fsuGraphemeCluster wird die Grenztabelle für diese Einheit bei Bedarf aufgebaut und nachgeschlagen, sodass der zurückgegebene Index nie ein Surrogatpaar oder einen Graphemhaufen teilt und eine übermäßige Anzahl auf die endgültige Grenze begrenzt wird
Eine Anzahl von null oder weniger wird immer in den Index null umgewandelt
Deklaration
function SelectionUnitToUTF16(Index: Integer;
IndexUnit: TPDFlibFormSelectionUnit): Integer;
Parameter
| Index | Anzahl vollständiger Auswahleinheiten, die vom Wertanfang übersprungen werden sollen, begrenzt auf die letzte verfügbare Grenze |
|---|---|
| IndexUnit | Auswahleinheit, in der die Anzahl ausgedrückt ist |
Rückgabewert
Gibt den UTF-16-Index der angeforderten Grenze zurück, die Wertlänge, wenn die Anzahl die verfügbaren Grenzen übersteigt, oder null bei Anzahlen von null oder weniger
Beispiel
// 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
Siehe auch
SelectionUTF16ToUnit, SetSelectionRange, GetVisualCaretOrder, TPDFlibFormSelectionUnit, TPDFlibFormSession