Fonction ScriptLayout (usp10.h)
Convertit un tableau de niveaux d’incorporation d’exécution en une carte de position visuelle à logique et/ou de position logique à visuel.
Syntaxe
HRESULT ScriptLayout(
[in] int cRuns,
[in] const BYTE *pbLevel,
[out, optional] int *piVisualToLogical,
[out, optional] int *piLogicalToVisual
);
Paramètres
[in] cRuns
Nombre d’exécutions à traiter.
[in] pbLevel
Pointeur vers un tableau, de longueur indiquée par cRuns, contenant des niveaux d’incorporation d’exécution. Les niveaux d’incorporation pour toutes les exécutions sur la ligne doivent être inclus, classés logiquement. Pour plus d'informations, consultez la section Notes.
[out, optional] piVisualToLogical
Pointeur vers un tableau, de longueur indiquée par cRuns, dans lequel cette fonction récupère les niveaux d’incorporation d’exécution réorganisé dans l’ordre visuel. Le premier élément de tableau représente l’exécution à afficher à l’extrême gauche, et les entrées suivantes doivent être affichées en progressant de gauche à droite. La fonction définit ce paramètre sur NULL s’il n’y a pas de sortie.
[out, optional] piLogicalToVisual
Pointeur vers un tableau, de longueur indiquée par cRuns, dans lequel cette fonction récupère les positions d’exécution visuelles. Le premier élément de tableau est la position visuelle relative où la première exécution logique doit être affichée, la position d’affichage la plus à gauche étant 0. La fonction définit ce paramètre sur NULL s’il n’y a pas de sortie.
Valeur retournée
Retourne 0 en cas de réussite. La fonction retourne une valeur HRESULT différente de zéro si elle ne réussit pas. L’application peut tester la valeur de retour avec les macros SUCCEEDED et FAILED .
Remarques
Pour plus d’informations sur le contexte dans lequel cette fonction est normalement appelée, consultez Affichage de texte avec Uniscribe .
Cette fonction gère uniquement les données qui se rapportent à une seule ligne de texte.
Les niveaux d’incorporation d’exécution sont définis dans l’algorithme bidirectionnel Unicode. Ils décrivent la direction d’une exécution, la direction de toutes les exécutions dans lesquelles elle est incorporée et la direction du paragraphe. Aucune autre entrée n’est requise pour l’appel à cette fonction. Pour plus d’informations, consultez Unicode.
Le tableau suivant répertorie les niveaux d’incorporation prédéfinis. L’application peut ajouter des niveaux en fonction des besoins.
Level | Signification |
---|---|
0 | Exécution de gauche à droite dans un paragraphe de gauche à droite. |
1 | Une exécution de droite à gauche incorporée dans une exécution de gauche à droite dans un paragraphe de gauche à droite. Vous pouvez également utiliser une exécution de droite à gauche, qui n’est pas incorporée dans une autre exécution, dans un paragraphe de droite à gauche. |
2 | Une exécution de gauche à droite incorporée dans une exécution de droite à gauche de type 1. |
3 | Une exécution de droite à gauche incorporée dans une exécution de gauche à droite de type 2. |
Une « position logique » fait référence à l’emplacement d’une exécution par rapport à d’autres exécutions. Il s’agit de la position dans un magasin de stockage et correspond à l’ordre dans lequel l’utilisateur lit le texte à haute voix. La « position visuelle » d’une exécution fait référence à la façon dont l’exécution est affichée visuellement sur la ligne, en tenant compte des directions possibles que l’exécution peut avoir.
L’application peut appeler ce paramètre de fonction piLogicalToVisual ou piVisualToLogical, ou les deux.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 2000 Professionnel [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows 2000 Server [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | usp10.h |
Bibliothèque | Usp10.lib |
DLL | Usp10.dll |
Composant redistribuable | Internet Explorer 5 ou version ultérieure sur Windows Me/98/95 |