FD_GLYPHATTR 结构 (winddi.h)

FD_GLYPHATTR 结构用于指定 FONTOBJ_pQueryGlyphAttrsDrvQueryGlyphAttrs 函数的返回值。

语法

typedef struct _FD_GLYPHATTR {
  ULONG cjThis;
  ULONG cGlyphs;
  ULONG iMode;
  BYTE  aGlyphAttr[1];
} FD_GLYPHATTR, *PFD_GLYPHATTR;

成员

cjThis

FD_GLYPHATTR结构(包括 aGlyphAttr 成员指定的数组)的大小(以字节为单位)。

cGlyphs

指定字体中的字形数。

iMode

指示返回的信息类型的标志。 定义了以下标志:

标志 定义
FO_ATTR_MODE_ROTATE aGlyphAttr 指定的数组是一个位数组,指示必须旋转哪些垂直字体字形。 位数组的长度为 (cGlyphs+7) /8。 如果设置了字形位,则应在光栅化期间旋转字形。

aGlyphAttr[1]

提供 iMode 指定信息的数组。 此数组的大小为 (cGlyphs+7) /8 个字节。

注解

如果 iMode FO_ATTR_MODE_ROTATE (当前定义的唯一标志) ,打印机驱动程序可以使用以下代码片段来确定对应于特定字形索引的位,其中 hg 是字形索引, pga 是指向FD_GLYPHATTR结构的指针。 如果设置了与字形索引 hg 关联的 aGlyphAttr 数组中的位,则 result 设置为 1。 如果未设置数组中的同一位, 则 result 设置为 0。 请注意,将存储字节中的位,以便字形索引 0、1、...、7 对应于 aGlyphAttr[0]中的位位置 7、6、...、0、字形索引 8、9、...、15 对应于位位置 7、6、...、0 中的 aGlyphAttr[1] 等。

BYTE glyphBits[8] = {0x80, 0x40, 0x20, 0x10, 0x8, 0x4, 0x2, 0x1};
result = (pga->aGlyphAttr[hg / 8]) & (glyphBits[hg % 8]);

要求

要求
Header winddi.h (包括 Winddi.h)