winddi.h) (FD_DEVICEMETRICS 结构
如果驱动程序提供的 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 间距为零。
pteBase
指定一个 POINTE 结构,该结构包含沿字体基线的名义空间单位矢量,转换为设备空间,然后规范化。 有关详细信息,请参阅 GDI 数据类型中的 POINTE。
pteSide
指定 POINTE 结构,该结构包含一个在升序方向垂直于字体基线的名义空间单位矢量,转换为设备空间,然后规范化。 在名义空间中,基线方向和升序方向必须是正交的,但在设备空间中, pteBase 和 pteSide 不必是正交的,具体取决于从 Notional 到 Device 空间的转换。
lD
如果字体是固定间距 (宽) 字体,则指定前进宽度。 如果字体是可变间距字体,则此成员应设置为零。
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
此字体实现的最小非零字符宽度。
alReserved[1]
保留,字体提供程序应忽略。
要求
标头 | winddi.h (包括 Winddi.h) |