SelectionUnitToUTF16
폼, 상호 작용, 유니코드
설명
선택 단위 개수를 활성 편집 값 안의 해당 경계의 0기반 UTF-16 인덱스로 변환합니다
fsuUTF16CodeUnit에서는 값 길이로 잘린 뒤 개수가 그대로 반환됩니다
fsuUnicodeCodePoint나 fsuGraphemeCluster에서는 해당 단위의 경계 테이블이 필요할 때 만들어 조회되므로, 반환된 인덱스가 서러게이트 쌍이나 그래펨 클러스터를 나눌 일이 없고 과도한 개수는 마지막 경계로 잘립니다
0 이하 개수는 언제나 인덱스 0으로 변환됩니다
선언
function SelectionUnitToUTF16(Index: Integer;
IndexUnit: TPDFlibFormSelectionUnit): Integer;
매개변수
| Index | 값의 시작부터 건너뛸 완전한 선택 단위 수이며 마지막 사용 가능한 경계로 제한됩니다 |
|---|---|
| IndexUnit | 개수가 표현되는 선택 단위입니다 |
반환값
요청된 경계의 UTF-16 인덱스를 반환하며, 개수가 사용 가능한 경계를 초과하면 값 길이를, 0 이하의 개수에 대해서는 0을 반환합니다
예제
// 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
참조
SelectionUTF16ToUnit, SetSelectionRange, GetVisualCaretOrder, TPDFlibFormSelectionUnit, TPDFlibFormSession