SelectionUnitToUTF16
Moduli, interazione, Unicode
Descrizione
Converte un conteggio di unità di selezione nell'indice UTF-16 a base zero della frontiera corrispondente all'interno del valore della modifica attiva Con
fsuUTF16CodeUnit
Con fsuUnicodeCodePoint o fsuGraphemeCluster, la tabella di confini per quell'unità viene costruita a richiesta e consultata, così l'indice restituito non divide mai una coppia surrogata né un cluster di grafemi, e un conteggio eccessivo viene limitato al confine finale
Un conteggio di zero o meno viene sempre convertito nell'indice zero
Dichiarazione
function SelectionUnitToUTF16(Index: Integer;
IndexUnit: TPDFlibFormSelectionUnit): Integer;
Parametri
| Index | Numero di unità di selezione complete da saltare dall'inizio del valore, limitato all'ultima frontiera disponibile |
|---|---|
| IndexUnit | Unità di selezione in cui il conteggio è espresso |
Valore restituito
Restituisce l'indice UTF-16 della frontiera richiesta, la lunghezza del valore quando il conteggio supera le frontiere disponibili, oppure zero per conteggi pari a zero o inferiori
Esempio
// 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
Vedere anche
SelectionUTF16ToUnit, SetSelectionRange, GetVisualCaretOrder, TPDFlibFormSelectionUnit, TPDFlibFormSession