次の方法で共有


ScriptApplyLogicalWidth 関数 (usp10.h)

実行の事前幅の配列を受け取り、調整された事前グリフ幅の配列を生成します。

構文

HRESULT ScriptApplyLogicalWidth(
  [in]                const int             *piDx,
  [in]                int                   cChars,
  [in]                int                   cGlyphs,
  [in]                const WORD            *pwLogClust,
  [in]                const SCRIPT_VISATTR  *psva,
  [in]                const int             *piAdvance,
  [in]                const SCRIPT_ANALYSIS *psa,
  [in, out, optional] ABC                   *pABC,
  [out]               int                   *piJustify
);

パラメーター

[in] piDx

コード ポイントごとに 1 つずつ、論理的な順序で 事前幅 の配列へのポインター。

[in] cChars

実行内の論理コード ポイントの数。

[in] cGlyphs

グリフ数。

[in] pwLogClust

ScriptShape からの論理クラスターの配列へのポインター。

[in] psva

ScriptShape からSCRIPT_VISATTR構造体へのポインター。ScriptPlace によって更新されます。

[in] piAdvance

ScriptPlace からのグリフアドバンス幅の配列へのポインター。

[in] psa

ScriptItemize からSCRIPT_ANALYSIS構造体へのポインター。ScriptShapeScriptPlace によって更新されます。

[in, out, optional] pABC

実行の全体的な ABC 幅 へのポインター。 入力時に、 パラメーターには 、ScriptPlace によって取得された実行 ABC 幅が含まれている必要があります。 出力時に、 パラメーターは、新しい幅と一致するように更新された ABC 幅を示します。

[out] piJustify

関数がグリフの事前幅を取得する配列へのポインター。 この配列は、ScriptTextOutpiJustify パラメーターに渡す場合に適しています。

戻り値

処理が正常に終了した場合は 0 を返します。 関数が成功しない場合は、0 以外の HRESULT 値を返します。 アプリケーションは、 SUCCEEDED マクロと FAILED マクロを使用して戻り値をテストできます。

注釈

この関数を使用すると、 ScriptGetLogicalWidths で取得した論理幅を再適用できます。 これは、メタフィリングなどの状況で役立ちます。この場合、事前幅情報は、合字化などのグリフの置換に関係なく、フォントに依存しない方法で記録および再適用する必要があります。

大事な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 以降

こちらもご覧ください

SCRIPT_ANALYSIS

SCRIPT_VISATTR

ScriptGetLogicalWidths

ScriptItemize

ScriptPlace

ScriptShape

ScriptTextOut

Uniscribe

Uniscribe 関数