ScriptPlace 関数 (usp10.h)
ScriptShape の出力からグリフの進み幅と 2 次元オフセット情報を生成します。
構文
HRESULT ScriptPlace(
[in] HDC hdc,
[in, out] SCRIPT_CACHE *psc,
[in] const WORD *pwGlyphs,
[in] int cGlyphs,
[in] const SCRIPT_VISATTR *psva,
[in, out] SCRIPT_ANALYSIS *psa,
[out] int *piAdvance,
[out] GOFFSET *pGoffset,
[out] ABC *pABC
);
パラメーター
[in] hdc
任意。 デバイス コンテキストを処理します。 詳細については、「 キャッシュ」を参照してください。
[in, out] psc
スクリプト キャッシュを識別する SCRIPT_CACHE 構造体へのポインター。
[in] pwGlyphs
ScriptShape 関数の以前の呼び出しから取得したグリフ バッファーへのポインター。
[in] cGlyphs
グリフ バッファー内のグリフの数。
[in] psva
ビジュアル属性を示す SCRIPT_VISATTR 構造体の配列へのポインター。
[in, out] psa
SCRIPT_ANALYSIS構造体へのポインター。 入力時に、この構造体は ScriptItemize の以前の呼び出しから取得されます。 出力時に、この構造体には ScriptPlace によって取得された値が含まれます。
[out] piAdvance
この関数が高度な幅情報を取得する配列へのポインター。
[out] pGoffset
省略可能。 この関数がグリフの結合の x オフセットと y オフセットを取得する GOFFSET 構造体の配列へのポインター。 この配列は 、cGlyphs で示される長さである必要があります。
[out] pABC
この関数が実行全体の ABC 幅を取得する ABC 構造体へのポインター。
戻り値
処理が正常に終了した場合は 0 を返します。 関数は、成功しない場合は 0 以外の HRESULT 値を返します。 アプリケーションでは、 SUCCEEDED マクロと FAILED マクロを使用して戻り値をテストできます。
psc パラメーターで指定されたスクリプト キャッシュにグリフを配置するのに十分な情報が含まれていない場合、関数は E_PENDINGを返します。また、hdc パラメーターが NULL に設定されているため、関数は配置プロセスを完了できません。 アプリケーションは、実行用に正しいデバイス コンテキストを設定し、適切なデバイス コンテキストと他のすべてのパラメーターを同じにして、この関数をもう一度呼び出す必要があります。
注釈
この関数が通常呼び出されるコンテキストについては、「 Uniscribe でテキストを表示 する」を参照してください。
項目全体の複合 ABC 幅は、開始位置の左側と、事前幅の合計によって暗黙的に示される長さの右側にグリフが どれだけオーバーハング しているかを識別します。 行の前方向の幅の合計は、正確に abcA+abcB+abcC です。 abcA と abcC の値は、8 ビットで表されるセルの高さの比率として維持されるため、約 +/-1% です。 取得される合計幅 ( piAdvance によって示される abcA+abcB+abcC 値の合計) は、TrueType シェーピング エンジンの解像度に正確です。
fLogicalOrder メンバーが psa パラメーターによって示されるSCRIPT_ANALYSIS構造体に設定されていない限り、すべての配列は視覚的な順序になります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | usp10.h |
Library | Usp10.lib |
[DLL] | Usp10.dll |