Partager via


structure SCRIPT_STATE (usp10.h)

Contient des informations d’état de script.

Syntaxe

typedef struct tag_SCRIPT_STATE {
  WORD uBidiLevel : 5;
  WORD fOverrideDirection : 1;
  WORD fInhibitSymSwap : 1;
  WORD fCharShape : 1;
  WORD fDigitSubstitute : 1;
  WORD fInhibitLigate : 1;
  WORD fDisplayZWG : 1;
  WORD fArabicNumContext : 1;
  WORD fGcpClusters : 1;
  WORD fReserved : 1;
  WORD fEngineReserved : 2;
} SCRIPT_STATE;

Membres

uBidiLevel

Incorporation du niveau associé à tous les caractères dans l’exécution associée en fonction de l’algorithme bidirectionnel Unicode. Lorsque l’application transmet cette structure à ScriptItemize, ce membre doit être initialisé à 0 pour un niveau d’incorporation de base de gauche à droite, ou à 1 pour un niveau d’incorporation de base de droite à gauche.

fOverrideDirection

Valeur de direction de remplacement initiale indiquant si le script utilise un niveau de remplacement (code LRO ou RLO dans la chaîne). Les valeurs possibles sont définies dans le tableau suivant. Pour un niveau de remplacement, les caractères sont disposés dans une seule direction, de gauche à droite ou de droite à gauche. Aucune réorganisation des chiffres ou caractères forts de direction opposée n’a lieu. Notez que cette valeur est réinitialisée par les codes LRE, RLE, LRO ou RLO dans la chaîne.

Valeur Signification
VRAI
Utilisez un niveau de remplacement qui reflète le niveau d’incorporation.
FAUX
N’utilisez pas de niveau de remplacement qui reflète le niveau d’incorporation.

fInhibitSymSwap

Valeur indiquant si le moteur de mise en forme contourne la mise en miroir des glyphes en miroir Unicode, par exemple les crochets. Les valeurs possibles sont définies dans le tableau suivant. Ce membre est défini par le caractère Unicode ISS et effacé par ASS.

Valeur Signification
VRAI
Contourner la mise en miroir des glyphes en miroir Unicode.
FAUX
Ne contournez pas la mise en miroir des glyphes en miroir Unicode.

fCharShape

Non implémenté. Valeur indiquant si les codes de caractères dans les zones Arabe Presentation Forms d’Unicode doivent être mis en forme. Les valeurs possibles sont définies dans le tableau suivant.

Valeur Signification
VRAI
Codes de caractères de forme dans les zones Arabe Presentation Forms d’Unicode.
FAUX
Ne pas mettre en forme les codes de caractères dans les zones Arabe Presentation Forms d’Unicode.

fDigitSubstitute

Ce membre fournit le même contrôle sur le comportement de substitution de chiffres qui pourrait avoir été obtenu dans les implémentations héritées à l’aide des caractères Unicode désormais dépréciés U+206E NATIONAL DIGIT SHAPES (« NADS ») et U+206F NOMINAL DIGIT SHAPES (« NODS »). Les valeurs possibles sont définies dans le tableau suivant.

Valeur Signification
VRAI
Les codes de caractères U+0030 à U+0039 sont remplacés par des chiffres nationaux.
FAUX
Les codes de caractères U+0030 à U+0039 ne sont pas remplacés par des chiffres nationaux.

fInhibitLigate

Valeur indiquant si des ligatures sont utilisées dans la mise en forme de caractères arabes ou hébreux. Les valeurs possibles sont définies dans le tableau suivant.

Valeur Signification
VRAI
N’utilisez pas de ligatures dans la mise en forme des caractères arabes ou hébraïques.
FAUX
Utilisez des ligatures dans la mise en forme des caractères arabes ou hébraïques.

fDisplayZWG

Valeur indiquant si les caractères de contrôle non lisibles sont mis en forme en tant que glyphes de représentation pour les langues nécessitant une réorganisation ou des formes de glyphe différentes, en fonction des positions des caractères dans un mot. Les valeurs possibles sont définies dans le tableau suivant. En règle générale, les caractères ne sont pas affichés. Ils sont mis en forme au glyphe vide et donnent une largeur de 0.

Valeur Signification
VRAI
Mettre en forme des caractères de contrôle sous forme de glyphes de représentation.
FAUX
Ne formez pas de caractères de contrôle sous forme de glyphes représentatifs.

fArabicNumContext

Valeur indiquant si les caractères forts précédents sont arabes aux fins de la règle P0, comme indiqué dans la norme Unicode, version 2.0. Les valeurs possibles sont définies dans le tableau suivant. Ce membre doit normalement être défini sur TRUE avant l’énumération d’un paragraphe de droite à gauche dans une langue arabe, et sur FALSE dans le cas contraire.

Valeur Signification
VRAI
Considérez les caractères forts antérieurs comme étant arabes aux fins de la règle P0.
FAUX
Ne considérez pas les caractères forts antérieurs comme étant arabes aux fins de la règle P0.

fGcpClusters

Pour la prise en charge héritée de GetCharacterPlacement uniquement. Valeur indiquant comment ScriptShape doit générer le tableau indiqué par pwLogClust. Les valeurs possibles sont définies dans le tableau suivant. Ce membre affecte uniquement les éléments arabes et hébreux.

Valeur Signification
VRAI
Générez le tableau de la même façon que GetCharacterPlacement .
FAUX
Ne générez pas le tableau de la même façon que GetCharacterPlacement .

fReserved

Réservés au; initialisez toujours sur 0.

fEngineReserved

Réservés au; initialisez toujours sur 0.

Remarques

Cette structure est utilisée pour initialiser l’état de l’algorithme Unicode en tant qu’entrée dans ScriptItemize. Il est également utilisé comme composant de l’analyse récupérée par ScriptItemize.

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

Voir aussi

ScriptItemize

ScriptShape

Uniscribe

Structures uniscribes