次の方法で共有


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 つのスクリプトをサポートします。
ScriptGetFontScriptTags がフォントからすべてのタグを取得する場合、通常、タグは数字などのニュートラルアイテム用です。 ニュートラル項目の一部のテキスト実行はスクリプト固有ではないので、複数のタグが適用される場合があることに注意してください。

特定のスクリプトに対応するタグが存在する場合、特定の言語システムや特定の機能など、エンジンに必要な項目がないため、シェイプ エンジンはフォントを使用して特定のアイテムを整形できない可能性があります。

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

要件

要件
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー usp10.h
Library Usp10.lib
[DLL] Usp10.dll
再頒布可能パッケージ Windows XP Usp10.dll バージョン 1.600 以降

こちらもご覧ください

キャッシュ

OPENTYPE_TAG

SCRIPT_ANALYSIS

SCRIPT_CACHE

ScriptItemizeOpenType

Uniscribe

Uniscribe 関数