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_LOGATTRfWordStopfSoftBreakおよび fWhiteSpace メンバーによって指定されたフラグは、ScriptBreak でのみ使用できます。

無効なシーケンスを識別するほとんどのシェーピング エンジンは、ScriptBreakSCRIPT_LOGATTRfInvalid メンバーによって示されるフラグを設定します。 SCRIPT_PROPERTIESfInvalidLogAttr メンバーは、該当するスクリプトを識別します。

大事なWindows 8以降: Windows 7 で実行する機能を維持するために、Uniscribe を使用するモジュールでは、ライブラリ リストで gdi32.lib の前に Usp10.lib を指定する必要があります。
 

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー usp10.h
Library Usp10.lib
[DLL] Usp10.dll
再頒布可能パッケージ Windows Me/98/95 のインターネット エクスプローラー 5 以降

こちらもご覧ください

テキストを Uniscribe で表示する

SCRIPT_ANALYSIS

SCRIPT_LOGATTR

ScriptItemize

ScriptShape

Uniscribe

Uniscribe 関数