EnsureSelectionBoundaries
フォーム、インタラクション、Unicode
説明
TPDFlibFormSessionの内部ヘルパーで、現在の編集値に対するUnicode境界テーブルを構築しキャッシュします
fsuUnicodeCodePointではUTF-16値を走査してコードポイントごとに1つの境界を記録します。有効なサロゲートペアは1つの補助コードポイントとして、ペアでないサロゲートは独立したコードポイントとして扱われます
fsuGraphemeClusterでは拡張書素クラスタ境界を構築するため、結合シーケンスと結合絵文字は分割されません
各テーブルはゼロの境界で始まり、ゼロ始まりのUTF-16オフセットを保存します。空でないキャッシュ済みテーブルはInvalidateSelectionBoundariesがクリアするまで再利用されます
テーブルはUTF-16コードユニット、Unicodeコードポイント、書素クラスタ間のすべてのインデックス変換を支えます
宣言
procedure EnsureSelectionBoundaries(
IndexUnit: TPDFlibFormSelectionUnit);
パラメータ
| IndexUnit | 要求された境界テーブル。fsuUnicodeCodePointまたはfsuGraphemeCluster |
|---|
例
Session.SetSelectionRange(1, 2, fsuUnicodeCodePoint);
Session.GetSelectionRange(fsuUTF16CodeUnit, Sel);
関連項目
InvalidateSelectionBoundaries, EnsureVisualCaretOrder, ClampTextLength, SetSelectionRange, GetSelectionRange, TPDFlibFormSelectionUnit, TPDFlibFormSession