FD_DEVICEMETRICS構造体 (winddi.h)

ドライバー提供の DrvQueryFontData 関数の iMode パラメーターがQFD_MAXEXTENTS場合は、FD_DEVICEMETRICS構造体を使用して GDI にデバイス固有のフォント情報を提供します。

構文

typedef struct _FD_DEVICEMETRICS {
  FLONG    flRealizedType;
  POINTE   pteBase;
  POINTE   pteSide;
  LONG     lD;
  FIX      fxMaxAscender;
  FIX      fxMaxDescender;
  POINTL   ptlUnderline1;
  POINTL   ptlStrikeOut;
  POINTL   ptlULThickness;
  POINTL   ptlSOThickness;
  ULONG    cxMax;
  ULONG    cyMax;
  ULONG    cjGlyphMax;
  FD_XFORM fdxQuantized;
  LONG     lNonLinearExtLeading;
  LONG     lNonLinearIntLeading;
  LONG     lNonLinearMaxCharWidth;
  LONG     lNonLinearAvgCharWidth;
  LONG     lMinA;
  LONG     lMinC;
  LONG     lMinD;
  LONG     alReserved[1];
} FD_DEVICEMETRICS, *PFD_DEVICEMETRICS;

メンバー

flRealizedType

アクセラレータ フラグのセットです。 この値には、次の値の組み合わせを指定できます。

FDM_TYPE_BM_SIDE_CONST

水平方向と垂直方向の書き込みのためのアクセラレータ。 このフラグが設定されている場合、フォントはすべてのビットマップに対して一定の高さになります。 水平の場合、これは cy 次元が一定であることを意味します。垂直の場合、これは cx ディメンションが一定であることを意味します。 このアクセラレータは、アウトラインには使用されません。

FDM_TYPE_CHAR_INC_EQUAL_BM_BASE

水平方向と垂直方向の書き込みのためのアクセラレータ。 水平の場合、このフラグが設定されている場合、各グリフの事前幅はグリフ ビットマップの cx ディメンションと等しくなります。垂直の場合、このフラグが設定されている場合、各グリフの進み幅はグリフ ビットマップの cy 次元と等しくなります。 このアクセラレータは、アウトラインには使用されません。

FDM_TYPE_CONST_BEARINGS

設定した場合、a と c の間隔はすべてのグリフで一定です。

FDM_TYPE_MAXEXT_EQUAL_BM_SIDE

このフラグは、FDM_TYPE_BM_SIDE_CONSTも設定されている場合にのみ設定できます。 設定した場合、フォントの高さは(水平および垂直書き込みに対して上記で定義されているように)、最大アセンダーと最大ディセンダーの合計と等しくなります。 このアクセラレータは、アウトラインには使用されません。

FDM_TYPE_ZERO_BEARINGS

設定すると、すべてのグリフの a と c の間隔は 0 になります。

pteBase

フォントのベースラインに沿った概念空間単位ベクトルを含み、デバイス空間に変換してから正規化する POINTE 構造体を指定します。 詳細については、「 GDI データ型の POINTE」を参照してください。

pteSide

アセンダーの方向にフォントのベースラインに垂直な概念空間単位ベクトルを含む POINTE 構造体を指定し、デバイス空間に変換してから正規化します。 概念空間では、ベースラインとアセンダーの方向は直交する必要がありますが、デバイス空間では、概念からデバイス空間への変換に応じて、 pteBasepteSide を直交する必要はありません。

lD

フォントが固定ピッチ (モノスペース) フォントの場合は、前の幅を指定します。 フォントが可変ピッチ フォントの場合、このメンバーは 0 に設定する必要があります。

fxMaxAscender

pteSide に沿って測定された、このフォント インスタンスのヒント付き最大アセンダーの高さを指定します。 「GDI データ型」の「FIX データ型」を参照してください

fxMaxDescender

pteSide に沿って測定された、このフォント インスタンスのヒント付き最大降順の高さを指定します。 「GDI データ型」の「FIX データ型」を参照してください

ptlUnderline1

グリフの文字の原点を基準にして、このフォント インスタンスのヒント付き下線の位置を含む POINTL 構造体を指定します。

ptlStrikeOut

グリフの文字の原点を基準にして、このフォント インスタンスのヒントが設定された取り消し線の位置を含む POINTL 構造体を指定します。

ptlULThickness

このフォント インスタンスのヒント付き下線の太さを含む POINTL 構造体を指定します。 このベクターは、下線の描画に使用される四角形の側面を定義します。 ベースは、ベースラインによって暗黙的に定義されます。

ptlSOThickness

このフォント インスタンスのヒント付き取り消し線の太さを含む POINTL 構造体を指定します。 このベクターは、取り消し線の描画に使用される四角形の側面を定義します。 ベースは、ベースラインによって暗黙的に定義されます。

cxMax

このフォント インスタンスのヒント付きグリフ ビットマップの最大幅をピクセル単位で指定します。 アウトラインには使用されません。

cyMax

このフォント インスタンスのヒント付きグリフ ビットマップの最大高さをピクセル単位で指定します。 アウトラインには使用されません。

cjGlyphMax

このフォント インスタンスのグリフのヒント付き最大サイズをバイト単位で指定します。 この値は、フォントのグリフを格納するために必要な GLYPHBITS 構造体の最大サイズです。

fdxQuantized

FD_XFORM構造体を指定します。 フォント ドライバーは、フォントの実現に実際に使用されるフォント変換を入力します。 これは、 FONTOBJ_pxoGetXformで定義されている GDI によって要求される変換とは異なる場合があります。

lNonLinearExtLeading

28.4 デバイス ユニットで先行する非線形外部です。

lNonLinearIntLeading

28.4 デバイス ユニットの非線形内部先行です。

lNonLinearMaxCharWidth

28.4 デバイス単位での非線形最大文字増分値です。

lNonLinearAvgCharWidth

28.4 デバイス単位の非線形平均文字幅です。

lMinA

絶対値として指定された、このフォントを実現するための最大の負の A スペースです。

lMinC

絶対値として指定された、このフォント実現の最大の負の C 領域です。

lMinD

このフォントを実現するための最小の 0 以外の文字幅です。

alReserved[1]

は予約されており、フォント プロバイダーでは無視する必要があります。

要件

   
Header winddi.h (Winddi.h を含む)

関連項目

DrvQueryFontData

FD_XFORM

FONTOBJ_pxoGetXform

GLYPHBITS