CDC::GetFontData
更新 : 2007 年 11 月
スケーラブル フォント ファイルからフォント メトリック情報を取得します。
DWORD GetFontData(
DWORD dwTable,
DWORD dwOffset,
LPVOID lpData,
DWORD cbData
) const;
パラメータ
dwTable
返されるメトリック テーブル名を指定します。このパラメータには、TrueType フォント ファイル仕様書に記述されているメトリック テーブルの 1 つを指定できます。このパラメータが 0 のときは、情報はフォント ファイルの先頭から取得されます。dwOffset
情報の検索を開始する位置となる、テーブルの先頭からのオフセットを指定します。このパラメータが 0 のときは、情報はパラメータ dwTable で指定されたテーブルの先頭から取得されます。この値がテーブルのサイズ以上のときは、GetFontData は 0 を返します。lpData
フォント情報を受け取るバッファを指すポインタ。この値が NULL のときは、関数はパラメータ dwTable で指定されたフォント データが必要とするサイズを返します。cbData
取得する情報の長さをバイト単位で指定します。このパラメータが 0 のときは、GetFontData はパラメータ dwTable で指定されたデータのサイズを返します。
戻り値
正常終了した場合は lpData で指定されたバッファに返されたバイト数を返します。それ以外の場合は -1 を返します。
解説
取得される情報は、指定されているフォント ファイルへのオフセットと返される情報の長さにより識別されます。
アプリケーションは、GetFontData メンバ関数を使って、TrueType フォントの情報をドキュメントとして保存することもできます。そのためには、アプリケーションはまずフォントが埋め込めるかどうかを調べ、その後、パラメータ dwTable、dwOffset、cbData をすべて 0 にしてフォント ファイル全体を取得します。
アプリケーションは、OUTLINETEXTMETRIC 構造体の otmfsType メンバをチェックして、フォントの埋め込みができるどうかを調べることができます。otmfsType のビット 1 が設定されているときは、フォントは埋め込むことができません。ビット 1 がクリアされているときは、フォントを埋め込むことができます。ビット 2 が設定されているときは、読み取り専用で埋め込むことができます。
アプリケーションがこの関数を使用して、非 TrueType フォントの情報を取得しようとすると、GetFontData メンバ関数は -1 を返します。
必要条件
ヘッダー : afxwin.h