SCRIPT_CACHE
Uniscribe フォント メトリック キャッシュを定義します。
typedef void* SCRIPT_CACHE;
注釈
これは不透明な構造です。 アプリケーションは、使用する文字スタイルごとに 1 つのSCRIPT_CACHE変数を割り当てて保持する必要があります。 変数は NULL に初期化する必要があります。
多くのスクリプト関数では、ハードウェア デバイス コンテキスト ハンドルとSCRIPT_CACHE変数の組み合わせが使用されます。 Uniscribe は、最初に SCRIPT_CACHE 変数を使用してフォント データへのアクセスを試みます。 必要なデータがまだキャッシュされていない場合にのみ、ハードウェア デバイス コンテキストが検査されます。
ハードウェア デバイス コンテキスト ハンドルは、 Null として Uniscribe に渡すことができます。 Uniscribe で必要なデータが既にキャッシュされている場合、デバイス コンテキストにアクセスされず、操作は正常に続行されます。
デバイス コンテキストが NULL として渡され、何らかの理由で Uniscribe がアクセスする必要がある場合、Uniscribe はエラー コード E_PENDINGを返します。 このコードはすぐに返されるため、アプリケーションは時間のかかる SelectObject 呼び出しを回避できます。
例
次の例は、ハードウェア デバイス コンテキストに対してSCRIPT_CACHE変数と省略可能なハンドルを受け取るすべての関数に適用されます。
hr = ScriptShape(NULL, &sc,
pwcChars, cChars, cMaxGlyphs, psa, pwOutGlyphs, pwLogClust, psva, pcGlyphs);
if (hr == E_PENDING)
{
// ... select font into hdc ...
hr = ScriptShape(hdc, &sc,
pwcChars, cChars, cMaxGlyphs, psa, pwOutGlyphs, pwLogClust, psva, pcGlyphs);
}
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント |
Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー |
Windows 2000 Server [デスクトップ アプリのみ] |
ヘッダー |
|
こちらもご覧ください