IDWriteFontFace_TryGetFontTable

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

IDWriteFontFace_TryGetFontTable this, openTypeTableTag, tableData, tableSize, tableContext, exists

this : [comobj] IDWriteFontFace インターフェースの COM オブジェクト変数
openTypeTableTag : [int] 型: UINT32 検索する OpenType フォントテーブルの 4 文字タグ。DWRITE_MAKE_OPENTYPE_TAG マクロを使用して UINT32 として作成する。GDI とは異なり、フォント全体にアクセスするための特殊な TTCF タグや null タグはサポートされていない。
tableData : [var] 型: const void** このメソッドが返るときに、メモリ内のテーブルの先頭へのポインタのアドレスを格納する。このポインタは、フォントテーブルを取得するために使用したフォントフェイスが存在する間のみ有効である (実際に同じ物理フォントを参照していても、他のフォントフェイスは含まない)。このパラメータは未初期化で渡される。
tableSize : [int] 型: UINT32* このメソッドが返るときに、フォントテーブルのサイズ (バイト単位) へのポインタを格納する。
tableContext : [var] 型: void** このメソッドが返るときに、不透明なコンテキストへのポインタのアドレスを格納する。これは ReleaseFontTable を呼び出して解放する必要がある。コンテキストは実際にはより低レベルの IDWriteFontFileStream から来ており、アプリケーションまたは DWrite 自体が実装する場合がある。実装がファイル全体に対して直接メモリマッピングを行う場合などは特に、tableContext として NULL が返される可能性がある。それでも、後で必ず解放し、関数の成功テストとして使用してはならない。同じテーブルを複数回照会できるが、返されるコンテキストは毎回異なる場合があるため、各コンテキストを個別に解放する必要がある。
exists : [var] 型: BOOL* このメソッドが返るときに、フォントテーブルが存在する場合は TRUE、そうでない場合は FALSE。

(プラグイン / モジュール : com_misc.dll)

解説

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

[戻り値]
型: HRESULT このメソッドが成功した場合は S_OK を返す。それ以外の場合は HRESULT エラーコードを返す。

[備考]
同じタグに対するコンテキストは呼び出しごとに異なる場合があるため、各コンテキストを個別に保持し解放する必要がある。

情報

プラグイン / モジュールcom_misc.dll
バージョン1.0
作成日2026/04/16
著作者IronHSP / CsWin32 bridge
URLhttps://github.com/inovia/IronHSP
備考Win32 API の com_misc.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。
タイプ拡張命令
グループWin32API
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\win32_com_misc_gen2.hs