SelectionUnitToUTF16
Formularios, interacción, Unicode
Descripción
Convierte un recuento de unidades de selección en el índice UTF-16, con base cero, del límite correspondiente dentro del valor de la edición activa Con
fsuUTF16CodeUnit
Con fsuUnicodeCodePoint o fsuGraphemeCluster, la tabla de límites para esa unidad se construye a demanda y se consulta, así que el índice devuelto nunca divide un par sustituto ni un clúster de grafemas, y un recuento excesivo se acota al límite final
Un recuento de cero o menos siempre se convierte en el índice cero
Declaración
function SelectionUnitToUTF16(Index: Integer;
IndexUnit: TPDFlibFormSelectionUnit): Integer;
Parámetros
| Index | Número de unidades de selección completas que saltar desde el principio del valor, ajustado al último límite disponible |
|---|---|
| IndexUnit | Unidad de selección en la que se expresa el recuento |
Valor devuelto
Devuelve el índice UTF-16 del límite solicitado, la longitud del valor cuando el recuento excede los límites disponibles, o cero para recuentos de cero o menores
Ejemplo
// 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
Véase también
SelectionUTF16ToUnit, SetSelectionRange, GetVisualCaretOrder, TPDFlibFormSelectionUnit, TPDFlibFormSession