EnsureVisualCaretOrder
폼, 상호 작용, 유니코드
설명
TPDFlibFormSession의 내부 헬퍼로, 시각 캐럿 이동이 쓰는 캐시된 물리 캐럿 슬롯 순서를 계산합니다
현재 편집 값과 확정된 텍스트 방향에 대한 유효한 캐시는 재사용되고, 없으면 그래펨 경계 테이블에서 순서를 다시 만듭니다
값은 LF, CR, CRLF 끊김에서 줄로 나뉘고, 각 줄은 확정된 기본 방향 아래에서 양방향 런으로 해석되며, 런 해석에 실패하면 단일 런으로 폴백합니다
런 임베딩 수준은 0~125 범위로 잘리고, 시각 런 순서는 확정된 수준을 따릅니다
그래펨 경계 인덱스는 런을 가로질러 물리적 왼쪽에서 오른쪽 순서로 덧붙습니다. 왼쪽에서 오른쪽 런은 앞으로, 오른쪽에서 왼쪽 런은 뒤로 붙으므로 혼합 방향 경계의 논리 인덱스는 서로 다른 두 슬롯을 차지할 수 있습니다
연속된 중복 슬롯은 병합되고, 줄바꿈 위치는 자체 슬롯이 되며, 빈 결과는 단일 슬롯 0으로 폴백하고, 재구축은 시각 슬롯 위치를 -1로 되돌립니다
선언
procedure EnsureVisualCaretOrder;
참고 항목
InvalidateVisualCaretOrder, GetVisualCaretOrder, MoveVisualCaret, GetResolvedTextDirection, EnsureSelectionBoundaries, TPDFlibFormTextDirection, TPDFlibFormSession