EnsureSelectionBoundaries
Formulaires, interaction, Unicode
Description
Fonction auxiliaire interne de TPDFlibFormSession qui construit et met en cache les tables de frontières Unicode de la valeur d'édition courante
Pour
fsuUnicodeCodePoint, elle analyse la valeur UTF-16 et enregistre une frontière par point de code, en traitant une paire de substitution valide comme un unique point de code supplémentaire et une substitution non appariée comme un point de code isolé
Pour
fsuGraphemeCluster, elle construit les frontières de groupes de graphèmes étendus afin que les séquences combinantes et les emoji liés restent indivisibles
Chaque table commence par la frontière à zéro et stocke des décalages UTF-16 à base zéro, et une table en cache non vide est réutilisée jusqu'à ce que
Chaque table démarre avec la frontière à zéro et stocke des décalages UTF-16 à base zéro, et une table en cache non vide est réutilisée jusqu'à ce que InvalidateSelectionBoundaries l'efface
Les tables prennent en charge toute conversion d'index entre unités de code UTF-16, points de code Unicode et groupes de graphèmes
Déclaration
procedure EnsureSelectionBoundaries(
IndexUnit: TPDFlibFormSelectionUnit);
Paramètres
| IndexUnit | Table de frontières demandée, fsuUnicodeCodePoint ou fsuGraphemeCluster |
|---|
Exemple
Session.SetSelectionRange(1, 2, fsuUnicodeCodePoint);
Session.GetSelectionRange(fsuUTF16CodeUnit, Sel);
Voir aussi
InvalidateSelectionBoundaries, EnsureVisualCaretOrder, ClampTextLength, SetSelectionRange, GetSelectionRange, TPDFlibFormSelectionUnit, TPDFlibFormSession