ScriptGetFontScriptTags 関数 (usp10.h)
OpenType 処理のフォントで使用できるスクリプトの一覧を取得します。 リストを構成するスクリプトは、指定されたデバイス コンテキストにあるフォント、または現在の実行のフォントを処理するスクリプト シェイプ エンジンから取得されます。
構文
HRESULT ScriptGetFontScriptTags(
[in, optional] HDC hdc,
[in, out] SCRIPT_CACHE *psc,
[in, optional] SCRIPT_ANALYSIS *psa,
[in] int cMaxTags,
[out] OPENTYPE_TAG *pScriptTags,
[out] int *pcTags
);
パラメーター
[in, optional] hdc
デバイス コンテキストを処理します。 詳細については、「 キャッシュ」を参照してください。
[in, out] psc
スクリプト キャッシュを識別する SCRIPT_CACHE 構造体へのポインター。
[in, optional] psa
ScriptItemizeOpenType の以前の呼び出しから取得したSCRIPT_ANALYSIS構造体へのポインター。 このパラメーターは、適切なフォント スクリプト タグを取得できるように、シェイプ エンジンを識別します。 アプリケーションは、現在の実行に適したスクリプト タグを取得するために、このパラメーターに NULL 以外の値を指定します。
または、アプリケーションでこのパラメーターを NULL に設定して、フィルター処理されていない結果を取得することもできます。
[in] cMaxTags
pScriptTags で指定された配列の長さ。
[out] pScriptTags
この関数が、デバイス コンテキストまたは現在の実行に関連付けられているスクリプト エンジンからスクリプト タグを定義する OPENTYPE_TAG 構造体の配列を取得するバッファーへのポインター。 psa パラメーターで指定されたSCRIPT_ANALYSIS構造体の eScript メンバーの値に明確なスクリプト タグが関連付けられている場合、タグがフォントに存在する場合、pScriptTags にはこのタグのみが含まれます。
[out] pcTags
pScriptTags によって示されるスクリプト タグ配列内の要素の数へのポインター。
戻り値
処理が正常に終了した場合は 0 を返します。 関数が成功しない場合は、0 以外の HRESULT 値を返します。 アプリケーションは、 SUCCEEDED マクロと FAILED マクロを使用して戻り値をテストできます。
一致するタグの数が cMaxTags の値を超えると、関数は E_OUTOFMEMORY で失敗します。 アプリケーションは、より大きなバッファーを使用してもう一度呼び出しを試すことができます。
注釈
正式には ULONG 型として宣言されていますが、 OPENTYPE_TAG では、4 バイトの配列を定義します。この配列には、4 つの 8 ビット ASCII 値 (スペース、A~ Z、または a- z) が含まれます。 たとえば、ラテン文字とアラビア語のスクリプト タグはそれぞれ "latn" と "arab" です。
この関数は、次の場合にフォントから 1 つのタグを取得します。
- psa 値は、1 つの複雑なスクリプトのテキストに関連付けられます。
- psa パラメーターは NULL を示し、フォントは 1 つのスクリプトをサポートします。
特定のスクリプトに対応するタグが存在する場合、特定の言語システムや特定の機能など、エンジンに必要な項目がないため、シェイプ エンジンはフォントを使用して特定のアイテムを整形できない可能性があります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2008 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | usp10.h |
Library | Usp10.lib |
[DLL] | Usp10.dll |
再頒布可能パッケージ | Windows XP Usp10.dll バージョン 1.600 以降 |