FD_GLYPHATTR構造 (winddi.h)
FD_GLYPHATTR構造体は、 FONTOBJ_pQueryGlyphAttrs および DrvQueryGlyphAttrs 関数の戻り値を指定するために使用されます。
構文
typedef struct _FD_GLYPHATTR {
ULONG cjThis;
ULONG cGlyphs;
ULONG iMode;
BYTE aGlyphAttr[1];
} FD_GLYPHATTR, *PFD_GLYPHATTR;
メンバー
cjThis
aGlyphAttr メンバーによって指定された配列を含む、FD_GLYPHATTR構造体のサイズをバイト単位で指定します。
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 が GlyphAttr[0] 内のビット位置 7、6、...、0 に対応するように格納されます。グリフ インデックス 8、9、...、15 は、 AGlyphAttr[1] 内のビット位置 7、6、...、0 に対応します。
BYTE glyphBits[8] = {0x80, 0x40, 0x20, 0x10, 0x8, 0x4, 0x2, 0x1};
result = (pga->aGlyphAttr[hg / 8]) & (glyphBits[hg % 8]);
要件
要件 | 値 |
---|---|
Header | winddi.h (Winddi.h を含む) |