EnsureSelectionBoundaries
Formulários, interação, Unicode
Descrição
Função interna de TPDFlibFormSession que constrói e coloca em cache as tabelas de limites Unicode do valor de edição atual
Para fsuUnicodeCodePoint, percorre o valor UTF-16 e regista um limite por ponto de código, tratando um par substituto válido como um único ponto de código suplementar e um substituto sem par como um ponto de código isolado
Para fsuGraphemeCluster, constrói limites de clusters de grafemas expandidos, de modo a que sequências combinantes e emoji unidos permaneçam indivisíveis
Cada tabela começa com o limite em zero e guarda desvios UTF-16 de base zero, e uma tabela em cache não vazia é reutilizada até InvalidateSelectionBoundaries a limpar
As tabelas suportam todas as conversões de índice entre unidades de código UTF-16, pontos de código Unicode e clusters de grafemas
Declaração
procedure EnsureSelectionBoundaries(
IndexUnit: TPDFlibFormSelectionUnit);
Parâmetros
| IndexUnit | Tabela de limites pedida, fsuUnicodeCodePoint ou fsuGraphemeCluster |
|---|
Exemplo
Session.SetSelectionRange(1, 2, fsuUnicodeCodePoint);
Session.GetSelectionRange(fsuUTF16CodeUnit, Sel);
Consulte também
InvalidateSelectionBoundaries, EnsureVisualCaretOrder, ClampTextLength, SetSelectionRange, GetSelectionRange, TPDFlibFormSelectionUnit, TPDFlibFormSession