SelectionUTF16ToUnit
Moduli, interazione, Unicode
Descrizione
Converte una posizione UTF-16 a base zero all'interno del valore della modifica attiva in un conteggio di unità di selezione complete Con
fsuUTF16CodeUnit
Con fsuUnicodeCodePoint o fsuGraphemeCluster, la tabella di confini per quell'unità viene costruita a richiesta e cercata, così una posizione dentro una coppia surrogata si mappa al suo punto di codice contenente e una posizione dentro un cluster si mappa al confine del cluster precedente
Le tabelle dei confini vengono memorizzate in cache per il valore di modifica corrente e scartate ogni volta che il valore cambia
Dichiarazione
function SelectionUTF16ToUnit(Index: Integer;
IndexUnit: TPDFlibFormSelectionUnit): Integer;
Parametri
| Index | Posizione UTF-16 a base zero, limitata all'intervallo che va da 0 alla lunghezza corrente del valore |
|---|---|
| IndexUnit | Unità di selezione in cui il risultato viene conteggiato |
Valore restituito
Restituisce il numero di punti di codice o cluster di grafemi completi che precedono la posizione UTF-16, oppure l'indice limitato stesso per fsuUTF16CodeUnit
Esempio
// A surrogate pair counts as one code point unit
Session.SetEditValue('A' + WideChar($D83D) + WideChar($DE00) + 'B');
CaretUnits := Session.SelectionUTF16ToUnit(3, fsuUnicodeCodePoint);
// CaretUnits = 2
Vedere anche
SelectionUnitToUTF16, GetSelectionRange, SetSelectionRange, TPDFlibFormSelectionUnit, TPDFlibFormSession