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