EnsureSelectionBoundaries
表單、互動、Unicode
描述
TPDFlibFormSession 的內部輔助方法,為目前編輯值建構並快取 Unicode 邊界表
對 fsuUnicodeCodePoint,它掃描 UTF-16 值並為每個碼點記錄一個邊界:有效的代理對視為單一輔助碼點,未配對的代理視為獨立的單一碼點
對 fsuGraphemeCluster,它建立擴展字位叢集邊界,讓組合序列與接合的 emoji 保持不可分割
每張表都以零的邊界開頭,儲存 0-based 的 UTF-16 位移;非空的快取表會被重用,直到 InvalidateSelectionBoundaries 清除為止
UTF-16 code unit、Unicode 碼點與字位叢集之間的所有索引轉換都以這些表為後盾
宣告
procedure EnsureSelectionBoundaries(
IndexUnit: TPDFlibFormSelectionUnit);
參數
| IndexUnit | 要求的邊界表,fsuUnicodeCodePoint 或 fsuGraphemeCluster |
|---|
範例
Session.SetSelectionRange(1, 2, fsuUnicodeCodePoint);
Session.GetSelectionRange(fsuUTF16CodeUnit, Sel);
另請參閱
InvalidateSelectionBoundaries, EnsureVisualCaretOrder, ClampTextLength, SetSelectionRange, GetSelectionRange, TPDFlibFormSelectionUnit, TPDFlibFormSession