次の方法で共有


IDWriteFontFace::TryGetFontTable メソッド (dwrite.h)

指定した OpenType フォント テーブルが存在する場合は検索し、そのテーブルへのポインターを返します。 この関数は、フォント ファイル ローダーによって実装される IDWriteFontFileStream インターフェイスを介して、基になるフォント データにアクセスします。

構文

HRESULT TryGetFontTable(
  [in]  UINT32     openTypeTableTag,
  [out] const void **tableData,
  [out] UINT32     *tableSize,
  [out] void       **tableContext,
  [out] BOOL       *exists
);

パラメーター

[in] openTypeTableTag

型: UINT32

検索する OpenType フォント テーブルの 4 文字のタグ。 DWRITE_MAKE_OPENTYPE_TAG マクロを使用して、UINT32として作成します。 GDI とは異なり、フォント全体にアクセスするための特殊な TTCF タグと null タグはサポートされていません。

[out] tableData

型: const void**

このメソッドから制御が戻るときに、メモリ内のテーブルのベースへのポインターのアドレスが格納されます。 ポインターは、フォント テーブルの取得に使用されるフォントフェイスがまだ存在する限り有効です。(実際に同じ物理フォントを参照している場合でも、他のフォント面ではありません)。 このパラメーターは初期化されていない状態で渡されます。

[out] tableSize

型: UINT32*

このメソッドから制御が戻るときに、フォント テーブルのサイズ (バイト単位) へのポインターが格納されます。

[out] tableContext

型: void**

このメソッドから制御が戻るときに、不透明なコンテキストへのポインターのアドレスを解放するには、ReleaseFontTable呼び出します。 コンテキストは実際には、アプリケーションまたは DWrite 自体によって実装される可能性がある、下位レベルの IDWriteFontFileStreamから取得されます。 NULLtableContext が返される可能性があります。特に、実装がファイル全体に対して直接メモリ マッピングを実行する場合です。 ただし、常に後でリリースし、関数の成功のテストとして使用しないでください。 同じテーブルを複数回照会できますが、返されるコンテキストはそれぞれ異なる場合があるため、各コンテキストを個別に解放する必要があります。

[out] exists

型: BOOL*

このメソッドが戻るときに、フォント テーブルが存在する場合は TRUE 。それ以外の場合は、FALSEを します。

戻り値

型: HRESULT

このメソッドが成功した場合は、S_OKを返します。 それ以外の場合は、HRESULT エラー コードが返されます。

備考

同じタグのコンテキストは呼び出しごとに異なる場合があるため、それぞれを個別に保持して解放する必要があります。

必要条件

要件 価値
サポートされる最小クライアント Windows 7、Windows Vista SP2 および Windows Vista 用プラットフォーム更新プログラム [デスクトップ アプリ |UWP アプリ]
サポートされる最小サーバー Windows Server 2008 R2、Windows Server 2008 SP2 および Windows Server 2008 用プラットフォーム更新プログラム [デスクトップ アプリ |UWP アプリ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー dwrite.h
ライブラリ Dwrite.lib
DLL Dwrite.dll

関連項目

IDWriteFontFace