ScriptBreak function

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

pwcChars [in]

Pointer to the Unicode characters to process.

cChars [in]

Number of Unicode characters to process.

psa [in]

Pointer to the SCRIPT_ANALYSIS structure obtained from an earlier call to ScriptItemize.

psla [out]

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.

Important  Starting with Windows 8: To maintain the ability to run on Windows 7, a module that uses Uniscribe must specify Usp10.lib before gdi32.lib in its library list.

Requirements

Minimum supported client

Windows 2000 Professional [desktop apps only]

Minimum supported server

Windows 2000 Server [desktop apps only]

Redistributable

Internet Explorer 5 or later on Windows Me/98/95

Header

Usp10.h

Library

Usp10.lib

DLL

Usp10.dll

See also

Uniscribe
Uniscribe Functions
Displaying Text with Uniscribe
ScriptItemize
ScriptShape
SCRIPT_ANALYSIS
SCRIPT_LOGATTR

 

 

Community Additions

ADD
Show:
© 2014 Microsoft