Win32 API 日本語リファレンス
ホーム › Devices.Display › PFN_DrvGetGlyphMode

PFN_DrvGetGlyphMode

コールバック

シグネチャ

DWORD PFN_DrvGetGlyphMode(
    DHPDEV dhpdev,
    FONTOBJ* pfo
);

パラメーター

フィールド型説明
dhpdevDHPDEV物理デバイスの PDEV 構造体へのハンドルです。
pfoFONTOBJ*フォントのサイズ、変換、その他のフォント属性を照会できる FONTOBJ 構造体へのポインターです。

公式ドキュメント

DrvGetGlyphMode 関数は、グリフ情報をどのようにキャッシュすべきかを GDI に伝えます。

戻り値

DrvGetGlyphMode は次のいずれかの値を返します。

戻り値 説明
FO_GLYPHBITS
GDI は、このフォントのすべてのグリフデータをキャッシュします。
FO_HGLYPHS
デバイスが独自にフォントをキャッシュするため、GDI はこのフォントについてグリフハンドルのみをキャッシュします。
FO_PATHOBJ
GDI は、このフォントの PATHOBJ 構造体をキャッシュします。

解説(Remarks)

GDI は、特定のフォントについてキャッシュすべきフォント情報の範囲を決定するために、ドライバーの DrvGetGlyphMode ルーチンを呼び出します。つまり DrvGetGlyphMode は、GDI がフォントキャッシュに格納する内容を決定します。独自にフォントをキャッシュするデバイスは、そのフォントに必要な記憶域を最小限に抑えるために FO_HGLYPHS を返してください。

GDI は、フォントのリアライズごとに DrvGetGlyphMode を呼び出します。たとえばドライバーによっては、12 ポイントより大きいポイントサイズではアウトラインをダウンロードし、それより小さいフォントではラスターイメージをダウンロードしたい場合があります。ただし GDI は、この要求を拒否することがあります。

ドライバーは、グリフの実際の形式を判断するために、FONTOBJ 構造体の flFontType メンバーの RASTER_FONTTYPE ビットを確認する必要があります。このビットが設定されている場合、GDI はビットマップを送信します。設定されていない場合は PATHOBJ 構造体を送信します。

DrvGetGlyphMode の呼び出し時点では、関連付けられた FONTOBJ は完全には機能していません。GDI が正しいことを保証するのは、IFIMETRICS 構造体と、ノーショナル座標からデバイス座標への変換だけです。

DrvGetGlyphMode は省略可能なドライバー関数です。この関数が提供されていない場合、GDI は既定でラスターフォントを格納します。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)