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 |
pgd が NULL でない場合、ドライバーは GLYPHDATA 構造体に hg で指定されたグリフのメトリックを入力する必要があります。
pv が NULL でない場合は、GLYPHBITS 構造体をこのアドレスに書き込む必要があります。 ドライバーは、 hg で指定されたグリフに対応するグリフ ビットマップをこの構造体にコピーする必要があります。 構造体のサイズは cjSize によって指定されます。 グリフ ビットマップがドライバーでサポートされていない場合、この関数は pv を NULL に設定した場合にのみ呼び出されます。 ドライバーがグリフ ビットマップをサポートしている場合、戻り値はグリフ ビットマップのサイズ (バイト単位) です。 それ以外の場合は 0 です。 このモードはサポートされている必要があります。 |
QFD_GLYPHANDOUTLINE |
pgd が NULL でない場合、ドライバーは GLYPHDATA 構造体に hg で指定されたグリフのメトリックを入力する必要があります。
pv が NULL でない場合は、このアドレスに PATHOBJ 構造体を書き込む必要があります。 ドライバーは、この PATHOBJ を PATHOBJ_Xxx サービスに渡して、 hg で指定されたグリフのアウトラインを作成します。 cjSize パラメーターは無視する必要があります。 関数が成功した場合、戻り値は 0 です。 それ以外の場合は、FD_ERROR。 グリフ アウトラインを提供するフォント ドライバーのみが、このモードをサポートする必要があります。 |
QFD_MAXEXTENTS |
pv が NULL でない場合、ドライバーは 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 を含む) |