ScriptBreak function (usp10.h)
Retrieves information for determining line breaks.
Syntax
HRESULT ScriptBreak(
[in] const WCHAR *pwcChars,
[in] int cChars,
[in] const SCRIPT_ANALYSIS *psa,
[out] SCRIPT_LOGATTR *psla
);
Parameters
[in] pwcChars
Pointer to the Unicode characters to process.
[in] cChars
Number of Unicode characters to process.
[in] psa
Pointer to the SCRIPT_ANALYSIS structure obtained from an earlier call to ScriptItemize.
[out] psla
Pointer to a buffer in which this function retrieves the character attributes as a SCRIPT_LOGATTR structure.
Return value
Returns 0 if successful. The function returns a nonzero HRESULT value if it does not succeed. The application can test the return value with the SUCCEEDED and FAILED macros.
Remarks
See Displaying Text with Uniscribe for a discussion of the context in which this function is normally called.
This function does not require a device context and does not perform glyph shaping.
This function retrieves cursor movement and formatting break positions for an item in an array of SCRIPT_LOGATTR structures. To support mixed formatting within a single word correctly, the call to ScriptBreak should pass whole items as retrieved by ScriptItemize, and not the finer formatting runs.
The SCRIPT_LOGATTR structure identifies valid caret positions and line breaks. The fCharStop member specifies a flag that marks cluster boundaries for scripts that are conventionally restricted from moving inside clusters. The same boundaries can also be inferred by inspecting the logical cluster information retrieved by ScriptShape. However, ScriptBreak is considerably faster in implementation and does not require a device context to be prepared.
The flags designated by the fWordStop, fSoftBreak, and fWhiteSpace members of SCRIPT_LOGATTR are only available through ScriptBreak.
Most shaping engines that identify invalid sequences set the flag indicated by the fInvalid member of SCRIPT_LOGATTR in ScriptBreak. The fInvalidLogAttr member of SCRIPT_PROPERTIES identifies the applicable scripts.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 2000 Professional [desktop apps only] |
Minimum supported server | Windows 2000 Server [desktop apps only] |
Target Platform | Windows |
Header | usp10.h |
Library | Usp10.lib |
DLL | Usp10.dll |
Redistributable | Internet Explorer 5 or later on Windows Me/98/95 |