ScriptBreak 関数 (usp10.h)
改行を決定するための情報を取得します。
構文
HRESULT ScriptBreak(
[in] const WCHAR *pwcChars,
[in] int cChars,
[in] const SCRIPT_ANALYSIS *psa,
[out] SCRIPT_LOGATTR *psla
);
パラメーター
[in] pwcChars
処理する Unicode 文字へのポインター。
[in] cChars
処理する Unicode 文字の数。
[in] psa
ScriptItemize の以前の呼び出しから取得したSCRIPT_ANALYSIS構造体へのポインター。
[out] psla
この関数が文字属性を SCRIPT_LOGATTR 構造体として取得するバッファーへのポインター。
戻り値
処理が正常に終了した場合は 0 を返します。 関数は、成功しない場合は 0 以外の HRESULT 値を返します。 アプリケーションでは、 SUCCEEDED マクロと FAILED マクロを使用して戻り値をテストできます。
注釈
この関数が通常呼び出されるコンテキストについては、「 Uniscribe でテキストを表示 する」を参照してください。
この関数は、デバイス コンテキストを必要とせず、グリフ シェイプを実行しません。
この関数は、 SCRIPT_LOGATTR 構造体の配列内の項目のカーソル移動と書式設定の中断位置を取得します。 1 つの単語内で混合書式を正しくサポートするには、 ScriptBreak の呼び出しで、より細かい書式設定の実行ではなく、 ScriptItemize によって取得された項目全体を渡す必要があります。
SCRIPT_LOGATTR構造体は、有効なキャレット位置と改行を識別します。 fCharStop メンバーは、従来はクラスター内での移動が制限されているスクリプトのクラスター境界をマークするフラグを指定します。 また、 ScriptShape によって取得された論理クラスター情報を調べることで、同じ境界を推測することもできます。 ただし、 ScriptBreak は実装の方が大幅に高速であり、デバイス コンテキストを準備する必要はありません。
SCRIPT_LOGATTRの fWordStop、fSoftBreak、および fWhiteSpace メンバーによって指定されたフラグは、ScriptBreak でのみ使用できます。
無効なシーケンスを識別するほとんどのシェーピング エンジンは、ScriptBreak の SCRIPT_LOGATTR の fInvalid メンバーによって示されるフラグを設定します。 SCRIPT_PROPERTIES の fInvalidLogAttr メンバーは、該当するスクリプトを識別します。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | usp10.h |
Library | Usp10.lib |
[DLL] | Usp10.dll |
再頒布可能パッケージ | Windows Me/98/95 のインターネット エクスプローラー 5 以降 |