SCRIPT_STATE
The SCRIPT_STATE structure is used both to initialize the Unicode algorithm state as an input parameter to ScriptItemize, and is also a component of the analyzis returned by ScriptItemize.
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
- The embedding level associated with all characters in this run according to the Unicode bidirectional algorithm. When passed to ScriptItemize, should be initialized to zero for an LTR base embedding level, or 1 for RTL.
- fOverrideDirection
- TRUE if this level is an override level (LRO/RLO). In an override level, characters are laid out in one direction only, either left-to-right or right-to-left. No reordering of digits or strong characters of opposing direction takes place. Note that this initial value is reset by LRE, RLE, LRO or RLO codes in the string.
- fInhibitSymSwap
- TRUE if the shaping engine is to bypass mirroring of Unicode mirrored glyphs such as brackets. Set by Unicode character ISS, cleared by ASS.
- fCharShape
- TRUE if character codes in the Arabic Presentation Forms areas of Unicode should be shaped. (Not implemented).
- fDigitSubstitute
- TRUE if character codes U+0030 through U+0039 (European digits) are to be substituted by national digits. Set by Unicode NADS, cleared by NODS.
- fInhibitLigate
- TRUE if ligatures are not to be used in the shaping of Arabic or Hebrew characters.
- fDisplayZWG
- TRUE if control characters are to be shaped as representational glyphs. (Typically, control characters are shaped to the blank glyph and given a width of zero).
- fArabicNumContext
- TRUE indicates prior strong characters were Arabic for the purposes of rule P0 as discussed in The Unicode Standard, version 2.0. This should normally be set to TRUE before itemizing an RTL paragraph in an Arabic language, and FALSE otherwise.
- fGcpClusters
- For GetCharacterPlacement legacy support only. Initialize to TRUE to request ScriptShape to generate the pwLogClust array the same way as GetCharacterPlacement does in Arabic and Hebrew Windows 95. Affects only Arabic and Hebrew items.
- fReserved
- Reserved. Always initialize to zero.
- fEngineReserved
- Reserved. Always initialize to zero.
Windows NT/2000: Requires Windows 2000.
Header: Declared in Usp10.h.
See Also
Uniscribe Overview, Uniscribe Structures, GetCharacterPlacement, ScriptItemize, ScriptShape