PFN_DrvGetGlyphMode
コールバックシグネチャ
DWORD PFN_DrvGetGlyphMode(
DHPDEV dhpdev,
FONTOBJ* pfo
);パラメーター
| フィールド | 型 | 説明 |
|---|---|---|
| dhpdev | DHPDEV | 物理デバイスの PDEV 構造体へのハンドルです。 |
| pfo | FONTOBJ* | フォントのサイズ、変換、その他のフォント属性を照会できる FONTOBJ 構造体へのポインターです。 |
公式ドキュメント
DrvGetGlyphMode 関数は、グリフ情報をどのようにキャッシュすべきかを GDI に伝えます。
戻り値
DrvGetGlyphMode は次のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| GDI は、このフォントのすべてのグリフデータをキャッシュします。 | |
| デバイスが独自にフォントをキャッシュするため、GDI はこのフォントについてグリフハンドルのみをキャッシュします。 | |
| 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 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)