DrvQueryFontData 関数 (winddi.h)

DrvQueryFontData 関数は、実現されたフォントに関する情報を取得します。

構文

LONG DrvQueryFontData(
        DHPDEV    dhpdev,
        FONTOBJ   *pfo,
        ULONG     iMode,
        HGLYPH    hg,
        GLYPHDATA *pgd,
  [out] PVOID     pv,
        ULONG     cjSize
);

パラメーター

dhpdev

DrvEnablePDEV の以前の呼び出しから返された物理デバイスの PDEV を処理します。

pfo

フォントの実現を定義する FONTOBJ 構造体へのポインター。

iMode

要求される情報の種類を指定します。 このパラメーターには、次のいずれかの値を指定できます。

意味
QFD_GLYPHANDBITMAP pgdNULL でない場合、ドライバーは GLYPHDATA 構造体に hg で指定されたグリフのメトリックを入力する必要があります。

pvNULL でない場合は、GLYPHBITS 構造体をこのアドレスに書き込む必要があります。 ドライバーは、 hg で指定されたグリフに対応するグリフ ビットマップをこの構造体にコピーする必要があります。 構造体のサイズは cjSize によって指定されます。

グリフ ビットマップがドライバーでサポートされていない場合、この関数は pvNULL に設定した場合にのみ呼び出されます。

ドライバーがグリフ ビットマップをサポートしている場合、戻り値はグリフ ビットマップのサイズ (バイト単位) です。 それ以外の場合は 0 です。

このモードはサポートされている必要があります。

QFD_GLYPHANDOUTLINE pgdNULL でない場合、ドライバーは GLYPHDATA 構造体に hg で指定されたグリフのメトリックを入力する必要があります。

pvNULL でない場合は、このアドレスに PATHOBJ 構造体を書き込む必要があります。 ドライバーは、この PATHOBJ を PATHOBJ_Xxx サービスに渡して、 hg で指定されたグリフのアウトラインを作成します。 cjSize パラメーターは無視する必要があります。

関数が成功した場合、戻り値は 0 です。 それ以外の場合は、FD_ERROR。

グリフ アウトラインを提供するフォント ドライバーのみが、このモードをサポートする必要があります。

QFD_MAXEXTENTS pvNULL でない場合、ドライバーは pv が指すバッファーにFD_DEVICEMETRICS構造体を書き込必要があります。

戻り値は、 pv が NULL の場合にバッファーに必要なサイズ (バイト単位) です

QFD_TT_GRAY1_BITMAP 実現されたフォントは、1 ピクセルあたりのグレースケール (つまり、黒または白) でレンダリングする必要があります。
QFD_TT_GRAY2_BITMAP 実現されたフォントは、2 ビット/ピクセルのグレースケールでレンダリングする必要があります。
QFD_TT_GRAY4_BITMAP 実現されたフォントは、グレースケールのピクセルあたり 4 ビットでレンダリングする必要があります。
QFD_TT_GRAY8_BITMAP 実現されたフォントは、グレースケールのピクセルあたり 8 ビットでレンダリングする必要があります。
QFD_TT_MONO_BITMAP QFD_TT_GRAY1_BITMAPと同じです。

hg

グリフを処理します。

pgd

GLYPHDATA 構造体へのポインター。 このパラメーターは、NULL でもかまいません。

[out] pv

データ バッファーへのポインター。 このバッファーに書き込まれるデータの種類は、 iMode に依存します。 このパラメーターは、NULL でもかまいません。

cjSize

pv によって指されるバッファーのサイズを指定 します

戻り値

戻り値は 、iMode パラメーターの値によって異なります。 エラーが発生した場合、戻り値はFD_ERRORされ、エラー コードがログに記録されます。

注釈

iMode パラメーターのQFD_GLYPHANDBITMAP値とQFD_GLYPHANDOUTLINE値の場合、GDI は GLYPHDATA 構造体 (pgd パラメーター内) へのポインターを提供します。 ドライバーは、グリフ メトリックに関する情報をこの構造体に配置し、フォントがビットマップ フォントかアウトライン フォントかに応じて、 それぞれ pv パラメーターで指定された場所に GLYPHBITS 構造体または PATHOBJ 構造体の内容を書き込みます。 iMode パラメーターのQFD_MAXEXTENTS値の場合、ドライバーは pv パラメーターで指定された場所にFD_DEVICEMETRICS構造体の内容を書き込みます。

DrvQueryFontData は、デバイス固有またはドライバー固有のフォントを使用するフォント ドライバーとドライバーに必要です。

要件

要件
対象プラットフォーム デスクトップ
Header winddi.h (Winddi.h を含む)

こちらもご覧ください

DrvEnablePDEV

DrvQueryFontFile

FD_DEVICEMETRICS

FONTOBJ

GLYPHBITS

GLYPHDATA

PATHOBJ