EnsureVisualCaretOrder

Formulários, interação, Unicode

Descrição

Função interna de TPDFlibFormSession que calcula a ordem de ranhuras do cursor físico em cache utilizada pelo movimento visual do cursor

Uma cache válida para o valor de edição atual e a direção de texto resolvida é reutilizada; caso contrário, a ordem é reconstruída a partir da tabela de limites de grafemas

O valor é dividido em linhas nas quebras LF, CR e CRLF, e cada linha é resolvida em sequências bidirecionais sob a direção base resolvida, com recurso a uma única sequência quando a resolução falha

Os níveis de incorporação das sequências são limitados ao intervalo de 0 a 125 e a ordem visual das sequências segue os níveis resolvidos

Os índices de limites de grafemas são acrescentados pela ordem física da esquerda para a direita nas sequências, para a frente nas sequências da esquerda para a direita e para trás nas da direita para a esquerda, pelo que um índice lógico num limite de direção mista pode ocupar duas ranhuras distintas

Ranhuras duplicadas consecutivas são fundidas, as posições de quebra de linha tornam-se ranhuras próprias, um resultado vazio recua para a ranhura única 0 e uma reconstrução repõe a posição visual da ranhura em -1

Declaração

procedure EnsureVisualCaretOrder;

Consulte também

InvalidateVisualCaretOrder, GetVisualCaretOrder, MoveVisualCaret, GetResolvedTextDirection, EnsureSelectionBoundaries, TPDFlibFormTextDirection, TPDFlibFormSession