SCRIPT_ANALYSIS structure (usp10.h)
Contient une partie d’une chaîne Unicode, c’est-à-dire un « élément ».
Syntaxe
typedef struct tag_SCRIPT_ANALYSIS {
WORD eScript : 10;
WORD fRTL : 1;
WORD fLayoutRTL : 1;
WORD fLinkBefore : 1;
WORD fLinkAfter : 1;
WORD fLogicalOrder : 1;
WORD fNoGlyphIndex : 1;
SCRIPT_STATE s;
} SCRIPT_ANALYSIS;
Membres
eScript
Valeur opaque identifiant le moteur utilisé par Uniscribe lors de l’appel des fonctions ScriptShape, ScriptPlace et ScriptTextOut pour l’élément. La valeur de ce membre n’est pas définie et les applications ne doivent pas compter sur la même valeur d’une version à l’autre. Une application peut obtenir les attributs d’eScript en appelant ScriptGetProperties.
Pour désactiver la mise en forme, l’application doit définir ce membre sur SCRIPT_UNDEFINED.
fRTL
Valeur indiquant la direction du rendu. Les valeurs possibles sont définies dans le tableau suivant. Ce membre est défini sur TRUE pour un nombre dans une exécution de gauche à droite, car les chiffres sont toujours affichés de gauche à droite, ou FALSE pour un nombre dans une exécution de droite à gauche. La valeur de ce membre est normalement identique à la parité du niveau d’incorporation Unicode, mais elle peut différer si elle est remplacée par la prise en charge héritée de GetCharacterPlacement .
Valeur | Signification |
---|---|
|
Utilisez une direction de rendu de droite à gauche. |
|
Utilisez une direction de rendu de gauche à droite. |
fLayoutRTL
Valeur indiquant le sens de disposition d’un nombre. Les valeurs possibles sont définies dans le tableau suivant. Ce membre est généralement identique à la valeur affectée à fRTL pour un nombre dans une exécution de droite à gauche.
fLinkBefore
Valeur indiquant si le moteur de mise en forme forme forme le premier caractère de l’élément comme s’il était joint à un caractère précédent. Les valeurs possibles sont définies dans le tableau suivant. Ce membre est défini par ScriptItemize. L’application peut remplacer la valeur avant d’appeler ScriptShape.
fLinkAfter
Valeur indiquant si le moteur de mise en forme le dernier caractère de l’élément comme s’il était joint à un caractère suivant. Les valeurs possibles sont définies dans le tableau suivant. Ce membre est défini par ScriptItemize. L’application peut remplacer la valeur avant d’appeler ScriptItemize.
fLogicalOrder
Valeur indiquant si le moteur de mise en forme génère tous les tableaux liés aux glyphes dans l’ordre logique. Les valeurs possibles sont définies dans le tableau suivant. Ce membre est défini sur FALSE par ScriptItemize. L’application peut remplacer la valeur avant d’appeler ScriptShape.
fNoGlyphIndex
Valeur indiquant l’utilisation de glyphes pour l’élément. Les valeurs possibles sont définies dans le tableau suivant. L’application peut définir ce membre sur TRUE lors de l’entrée dans ScriptShape afin de désactiver l’utilisation de glyphes pour l’élément. En outre, ScriptShape lui affecte la valeur TRUE pour un contexte matériel contenant des polices symboliques, non reconnues et d’appareil.
La désactivation de l’utilisation de glyphes désactive également la mise en forme de script complexe. La définition de ce membre sur TRUE implémente la mise en forme et le placement directement par des appels à GetTextExtentExPoint et ExtTextOut.
s
Structure SCRIPT_STATE contenant une copie de l’état de l’algorithme Unicode.
Remarques
Cette structure est remplie par ScriptItemize ou ScriptItemizeOpenType, chacun d’entre eux cassant une chaîne Unicode en éléments pouvant être mis en forme individuellement. Aucune des fonctions n’accède directement à la structure SCRIPT_ANALYSIS . Chaque fonction gère un tableau de structures SCRIPT_ITEM , chacune ayant un membre définissant une structure SCRIPT_ANALYSIS .
Les applications qui utilisent ScriptItemizeOpenType au lieu de ScriptItemize doivent également utiliser ScriptShapeOpenType et ScriptPlaceOpenType au lieu de ScriptShape et ScriptPlace. Pour plus d’informations, consultez Affichage de texte avec uniscribe.
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] |
En-tête | usp10.h |
Composant redistribuable | Internet Explorer 5 ou version ultérieure surWindows Me/98/95 |