SCRIPT_ANALYSIS structure (usp10.h)
Contains a portion of a Unicode string, that is, an "item".
Syntax
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;
Members
eScript
Opaque value identifying the engine that Uniscribe uses when calling the ScriptShape, ScriptPlace, and ScriptTextOut functions for the item. The value for this member is undefined and applications should not rely on its value being the same from one release to the next. An application can obtain the attributes of eScript by calling ScriptGetProperties.
To disable shaping, the application should set this member to SCRIPT_UNDEFINED.
fRTL
Value indicating rendering direction. Possible values are defined in the following table. This member is set to TRUE for a number in a left-to-right run, because digits are always displayed left to right, or FALSE for a number in a right-to-left run. The value of this member is normally identical to the parity of the Unicode embedding level, but it might differ if overridden by GetCharacterPlacement legacy support.
Value | Meaning |
---|---|
|
Use a right-to-left rendering direction. |
|
Use a left-to-right rendering direction. |
fLayoutRTL
Value indicating layout direction for a number. Possible values are defined in the following table. This member is usually the same as the value assigned to fRTL for a number in a right-to-left run.
fLinkBefore
Value indicating if the shaping engine shapes the first character of the item as if it joins with a previous character. Possible values are defined in the following table. This member is set by ScriptItemize. The application can override the value before calling ScriptShape.
Value | Meaning |
---|---|
|
Shape the first character by linking with a previous character. |
|
Do not shape the first character by linking with a previous character. |
fLinkAfter
Value indicating if the shaping engine shapes the last character of the item as if it joins with a subsequent character. Possible values are defined in the following table. This member is set by ScriptItemize. The application can override the value before calling ScriptItemize.
Value | Meaning |
---|---|
|
Shape the last character by linking with a subsequent character. |
|
Do not shape the last character by linking with a subsequent character. |
fLogicalOrder
Value indicating if the shaping engine generates all glyph-related arrays in logical order. Possible values are defined in the following table. This member is set to FALSE by ScriptItemize. The application can override the value before calling ScriptShape.
fNoGlyphIndex
Value indicating the use of glyphs for the item. Possible values are defined in the following table. The application can set this member to TRUE on input to ScriptShape to disable the use of glyphs for the item. Additionally, ScriptShape sets it to TRUE for a hardware context containing symbolic, unrecognized, and device fonts.
Disabling the use of glyphs also disables complex script shaping. Setting this member to TRUE implements shaping and placing directly by calls to GetTextExtentExPoint and ExtTextOut.
Value | Meaning |
---|---|
|
Disable the use of glyphs for the item. This value is used for bitmap, vector, and device fonts. |
|
Enable the use of glyphs for the item. This value is the default. |
s
A SCRIPT_STATE structure containing a copy of the Unicode algorithm state.
Remarks
This structure is filled by ScriptItemize or ScriptItemizeOpenType, each of which breaks a Unicode string into individually shapeable items. Neither function accesses the SCRIPT_ANALYSIS structure directly. Each function handles an array of SCRIPT_ITEM structures, each of which has a member defining a SCRIPT_ANALYSIS structure.
Applications that use ScriptItemizeOpenType instead of ScriptItemize should also use ScriptShapeOpenType and ScriptPlaceOpenType instead of ScriptShape and ScriptPlace. For more information, see Displaying Text with Uniscribe.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 2000 Professional [desktop apps only] |
Minimum supported server | Windows 2000 Server [desktop apps only] |
Header | usp10.h |
Redistributable | Internet Explorer 5 or later onWindows Me/98/95 |