SelectionUnitToUTF16

Formulários, interação, unicode

Descrição

Converte uma contagem de unidades de seleção no índice UTF-16 com base zero do limite correspondente dentro do valor da edição ativa Com

Com fsuUTF16CodeUnit, a contagem é devolvida sem alteração depois de limitada ao comprimento do valor

fsuUnicodeCodePoint, a contagem é retornada inalterada após a limitação ao comprimento do valor Com fsuGraphemeCluster ou

Uma contagem de zero ou menos sempre se converte para o índice zero

Declaração

function SelectionUnitToUTF16(Index: Integer;
  IndexUnit: TPDFlibFormSelectionUnit): Integer;

Parâmetros

IndexQuantidade de unidades de seleção completas a saltar a partir do início do valor, limitada ao último limite disponível
IndexUnitUnidade de seleção em que a contagem é expressa

Valor de retorno

Retorna o índice UTF-16 do limite solicitado, o comprimento do valor quando a contagem excede os limites disponíveis, ou zero para contagens de zero ou menos

Exemplo

// 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

Consulte também

SelectionUTF16ToUnit, SetSelectionRange, GetVisualCaretOrder, TPDFlibFormSelectionUnit, TPDFlibFormSession