SelectionUnitToUTF16
Formulaires, interaction, Unicode
Description
Convertit un nombre d'unités de sélection en l'index UTF-16 à base zéro de la frontière correspondante au sein de la valeur de l'édition active Avec
fsuUTF16CodeUnit
Avec fsuUnicodeCodePoint ou fsuGraphemeCluster, la table de frontières pour cette unité est construite à la demande et consultée ; l'index renvoyé ne divise donc jamais une paire de substitution ni un groupe de graphèmes, et un comptage excessif est borné à la frontière finale
Un comptage de zéro ou moins est toujours converti en index zéro
Déclaration
function SelectionUnitToUTF16(Index: Integer;
IndexUnit: TPDFlibFormSelectionUnit): Integer;
Paramètres
| Index | Nombre d'unités de sélection complètes à sauter depuis le début de la valeur, borné à la dernière frontière disponible |
|---|---|
| IndexUnit | Unité de sélection dans laquelle le nombre est exprimé |
Valeur de retour
Retourne l'index UTF-16 de la frontière demandée, la longueur de la valeur lorsque le nombre dépasse les frontières disponibles, ou zéro pour les nombres inférieurs ou égaux à zéro
Exemple
// Unit 2 starts after the surrogate pair, at UTF-16 index 3
Session.SetEditValue('A' + WideChar($D83D) + WideChar($DE00) + 'B');
CaretUTF16 := Session.SelectionUnitToUTF16(2, fsuUnicodeCodePoint);
// CaretUTF16 = 3
Voir aussi
SelectionUTF16ToUnit, SetSelectionRange, GetVisualCaretOrder, TPDFlibFormSelectionUnit, TPDFlibFormSession