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;

Members

uBidiLevel

Niveau d’incorporation associé à tous les caractères de 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 direction uniquement, de gauche à droite ou de droite à gauche. Aucune réorganisation des chiffres ou des 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 Meaning
TRUE
Utilisez un niveau de remplacement qui reflète le niveau d’incorporation.
FALSE
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 des 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 Meaning
TRUE
Contourner la mise en miroir des glyphes en miroir Unicode.
FALSE
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 Formulaires de présentation arabe d’Unicode doivent être mis en forme. Les valeurs possibles sont définies dans le tableau suivant.

Valeur Meaning
TRUE
Codes de caractères de forme dans les zones Formulaires de présentation arabe d’Unicode.
FALSE
Ne pas mettre en forme les codes de caractères dans les zones Formulaires de présentation arabe d’Unicode.

fDigitSubstitute

Ce membre fournit le même contrôle sur le comportement de substitution de chiffres qui a pu être obtenu dans les implémentations héritées à l’aide des caractères Unicode désormais déconseillé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 Meaning
TRUE
Les codes de caractères U+0030 à U+0039 sont remplacés par des chiffres nationaux.
FALSE
Les codes de caractères U+0030 à U+0039 ne sont pas substitués par des chiffres nationaux.

fInhibitLigate

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

Valeur Meaning
TRUE
N’utilisez pas de ligatures dans la mise en forme des caractères arabes ou hébreux.
FALSE
Utilisez des ligatures dans la mise en forme des caractères arabes ou hébreux.

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 qui ont besoin de réorganiser ou de réorganiser 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 donné une largeur de 0.

Valeur Meaning
TRUE
Caractères de contrôle de forme en tant que glyphes de représentation.
FALSE
Ne pas mettre en forme les caractères de contrôle en tant que glyphes de représentation.

fArabicNumContext

Valeur indiquant si les caractères forts antérieurs sont arabes à des fins de 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’itemisation d’un paragraphe de droite à gauche dans une langue arabe et sur FALSE dans le cas contraire.

Valeur Meaning
TRUE
Considérez les caractères forts antérieurs comme l’arabe à des fins de règle P0.
FALSE
Ne considérez pas les caractères forts antérieurs comme l’arabe à des fins de 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 Meaning
TRUE
Générez le tableau de la même façon que GetCharacterPlacement .
FALSE
Ne générez pas le tableau de la même façon que GetCharacterPlacement .

fReserved

Réservé; initialise toujours à 0.

fEngineReserved

Réservé; initialise toujours à 0.

Remarques

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

Spécifications

Requirement Valeur
Client minimum requis Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Header usp10.h
Composant redistribuable Internet Explorer 5 ou version ultérieure surWindows Me/98/95

Voir aussi

ScriptItemize

ScriptShape

Annuler l’inscription

Structures d’inscription unicrites