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

IndexUnitTable 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