<Return[G]><Top>

GetFontData

Declare Function Api_GetFontData& Lib "gdi32" Alias "GetFontData" (ByVal hDC&, ByVal dwTable&, ByVal dwOffset&, lpvBuffer As Any, ByVal cbData&)

Declare Function GetFontData Lib "gdi32" Alias "GetFontData" (ByVal hdc As Long, ByVal dwTable As Long, ByVal dwOffset As Long, lpvBuffer As Any, ByVal cbData As Long) As Long

TrueType フォントのフォントメトリックデータを取得する。

パラメータ
hdc
    デバイスコンテキストのハンドルを指定する。
dwTable
    フォントデータを取得するための、フォントメトリックテーブルの名前を指定する。このパラメータは、Microsoft 社が提供する TrueType Font

    Files の仕様に記述されているメトリックテーブルのうちの1つを識別することができる。このパラメータが 0 の場合、フォントファイルの先頭か

    ら情報を取得する。
dwOffset
    フォントメトリックテーブルの先頭から、関数が情報の取得を開始する位置までのオフセットを指定する。このパラメータが 0 の場合、

    dwTable パラメータで指定したテーブルの先頭から情報を取得する。この値がテーブルサイズ以上の場合、エラーが発生する。
lpvBuffer
    フォント情報を受け取るバッファへのポインタを指定する。このパラメータが NULL の場合、関数はフォントデータを格納するのに必要なバッフ

    ァのサイズを返す。
cbData
    取得する情報の長さをバイト単位で指定する。このパラメータが 0 の場合、GetFontData 関数は dwTable パラメータで指定したデータのサ

    イズを返す。

戻り値
    関数が成功すると、取得したバイト数が返る。
    関数が失敗すると、GDI_ERROR が返る。
    Windows NT/2000:拡張エラー情報を取得するには、GetLastError 関数を使う。

解説
    アプリケーションでは、TrueType フォントを文書と一緒に保存するために、GetFontData 関数を使う場合がある。このためには、アプリケー

    ションで OUTLINETEXTMETRIC 構造体の otmfsType メンバを調べ、フォントを埋め込むことができるかどうかを判断する。otmfsType メ

    ンバのビット 1 がセットされている場合、そのフォントの埋め込みはできない。ビット 1 が空の場合、フォントの埋め込みは可能である。ビッ

    ト 2 がセットされている場合、埋め込みは読み取り専用である。埋め込みが可能な場合、dwTable、dwOffset、cbData の各パラメータに

    対して 0 を指定すると、アプリケーションはフォントファイル全体を取得することができる。
    アプリケーションがこの関数を使って TureType 以外のフォントに対する情報を取得しようとすると、エラーが発生する。