Using the ScriptString Functions
For an application dealing with unformatted text, Uniscribe provides the ScriptString* functions. These functions are similar to ExtTextOut, DrawText, and GetTextExtent, but they provide full complex script support, including caret placement. These functions are similar to the other Uniscribe functions, but are tailored to the simpler requirements of plain text processing.
The following table details the ScriptString* functions and any counterparts in the other Uniscribe functions.
Function | Description |
---|---|
ScriptStringAnalyse | Analyzes plain text. This function corresponds to the following functions: |
ScriptStringCPtoX | Retrieves the x coordinate for a character position. This function corresponds to ScriptCPtoX. |
ScriptStringFree | Frees a SCRIPT_STRING_ANALYSIS structure. |
ScriptStringGetLogicalWidths | Converts visual widths to logical widths. This function corresponds to ScriptGetLogicalWidths. |
ScriptStringGetOrder | Maps character glyph positions in a similar way to GetCharacterPlacement, for legacy use only. This function does not work well with scripts that generate more than one glyph per code point. |
ScriptStringOut | Displays plain text. This function corresponds to ScriptTextOut. |
ScriptString_pcOutChars | Returns a pointer to the length of a clipped plain text string. |
ScriptString_pLogAttr | Returns a pointer to the logical attributes buffer for an analyzed plain text string. |
ScriptString_pSize | Returns a pointer to the size (width and height) for an analyzed plain text string. |
ScriptStringValidate | Identifies code point sequences not valid in the given script. This function is different from ScriptGetCMap, which identifies code points not present in a font. |
ScriptStringXtoCP | Converts an x coordinate to a character position. This function corresponds to ScriptXtoCP. |
To only display plain text without any modifications, an application should call ScriptStringAnalyse, ScriptStringOut, and then ScriptStringFree. The other functions are used to modify the plain text before display.
Related topics