GetFontData 関数は、TrueType フォントのフォントメトリックデータを取得する。
GetFontData hdc, dwTable, dwOffset, pvBuffer, cjBuffer
hdc : [intptr] デバイスコンテキストのハンドル。 dwTable : [int] フォントデータを取得する対象のフォントメトリックテーブルの名前。このパラメータは Microsoft 社の TrueType フォントファイル仕様に記載されたメトリックテーブルのいずれかを指定できる。このパラメータが 0 の場合、TrueType フォントファイルではファイルの先頭から、TrueType コレクションファイルでは現在選択されているフォントのデータの先頭から情報を取得する。TrueType コレクションファイルのファイル先頭からデータを取得するには 'ttcf' (0x66637474) を指定する。 dwOffset : [int] 情報取得を開始する位置の、フォントメトリックテーブル先頭からのオフセット。このパラメータが 0 の場合、dwTable で指定されたテーブルの先頭から情報を取得する。この値がテーブルのサイズ以上の場合、エラーとなる。 pvBuffer : [intptr] フォント情報を受け取るバッファへのポインタ。このパラメータが NULL の場合、関数はフォントデータに必要なバッファサイズを返す。 cjBuffer : [int] 取得する情報の長さ(バイト単位)。このパラメータが 0 の場合、GetFontData は dwTable で指定されたデータのサイズを返す。
(プラグイン / モジュール : gdi32.dll)
GetFontData 関数は、TrueType フォントのフォントメトリックデータを取得する。 [戻り値] 関数が成功した場合、戻り値は返されたバイト数である。失敗した場合は GDI_ERROR を返す。 [備考] この関数は、フォント操作アプリケーションがフォントファイルから直接 TrueType フォント情報を取得するために使われる。フォント埋め込みについては Font Embedding Reference を参照。アプリケーションは GetFontData 関数を使って TrueType フォントをドキュメントと一緒に保存することがある。そのためにアプリケーションは OUTLINETEXTMETRIC 構造体の otmfsType メンバを確認し、フォントが埋め込み可能かを判断する。otmfsType のビット 1 が立っている場合、フォントは埋め込みを許可しない。ビット 1 がクリアなら埋め込み可能である。ビット 2 が立っている場合、埋め込みは読み取り専用となる。埋め込みが許可されている場合、アプリケーションは dwTable、dwOffset、cbData に 0 を指定してフォントファイル全体を取得できる。非 TrueType フォントに対してこの関数で情報取得を試みると、エラーが発生する。
| プラグイン / モジュール | gdi32.dll |
| バージョン | 1.0 |
| 作成日 | 2026/04/16 |
| 著作者 | IronHSP / CsWin32 bridge |
| URL | https://github.com/inovia/IronHSP |
| 備考 | Win32 API の gdi32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。 |
| タイプ | 拡張命令 |
| グループ | Win32API |
| 対応環境 |
|
| hs ファイル | hsphelp\win32_gdi32_gen2.hs |