Platform SDK: International Features

SCRIPT_CONTROL

The SCRIPT_CONTROL structure provides itemization control flags to the ScriptItemize function.

typedef struct tag_SCRIPT_CONTROL { 
  DWORD uDefaultLanguage :16; 
  DWORD fContextDigits :1; 
  DWORD fInvertPreBoundDir :1; 
  DWORD fInvertPostBoundDir :1; 
  DWORD fLinkStringBefore :1; 
  DWORD fLinkStringAfter :1; 
  DWORD fNeutralOverride :1; 
  DWORD fNumericOverride :1; 
  DWORD fLegacyBidiClass :1; 
  DWORD fReserved :8; 
} SCRIPT_CONTROL;

Members

uDefaultLanguage
Specifies the language to use when Unicode values are ambiguous. Used by numeric processing to select digit shape when fDigitSubstitute (see SCRIPT_STATE) is set.
fContextDigits
Specifies that national digits are chosen according to the nearest previous strong text, rather than using uDefaultLanguage.
fInvertPreBoundDir
By default, text at the start of the string is laid out as if it follows a strong LTR character if the base embedding level is 0, and as if it follows a strong RTL character if the base embedding level is 1.Set fInvertPreBoundDir to change the initial context to the opposite of the base embedding level. This member is for GetCharacterPlacement legacy support.
fInvertPostBoundDir
By default, text at the end of the string is laid out as if it precedes strong text of the same direction as the base embedding level. Set fInvertPreBoundDir to change the final context to the opposite of the base embedding level. This flag is for GetCharacterPlacement legacy support.
fLinkStringBefore
Causes the first character of the string to be shaped as if it were joined to a previous character.
fLinkStringAfter
Causes the last character of the string to be shaped as if it were joined to a following character.
fNeutralOverride
Causes all neutral characters in the string to be treated as if they were strong characters of their enclosing embedding level. This effectively locks them in place, and reordering occurs only between neutrals.
fNumericOverride
Causes all numeric characters in the string to be treated as if they were strong characters of their enclosing embedding level. This effectively locks them in place, and reordering occurs only between numeric characters.
fLegacyBidiClass
Causes the plus and minus characters to be treated as neutral characters, that is, with no implied direction, and the slash character to be treated as a common separator.
fReserved
Reserved. Always initialize to zero.

Requirements

  Windows NT/2000: Requires Windows 2000.
  Header: Declared in Usp10.h.

See Also

Uniscribe Overview, Uniscribe Structures, GetCharacterPlacement, ScriptItemize, SCRIPT_STATE