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 間距都是零。
pteBase
指定 POINTE 結構,此結構包含字型基準上的指標空間單位向量,並轉換成裝置空間,然後正規化。 如需詳細資訊,請參閱 GDI 資料類型中的 POINTE。
pteSide
指定 POINTE 結構,其包含垂直于字型基準的指標空間單位向量,其方向為遞增,轉換成裝置空間,然後正規化。 在一般空間中,基準和遞增方向必須是正交方向,但在裝置空間中, pteBase 和 pteSide 不一定要是正交,視 Notional 到裝置空間轉換而定。
lD
如果字型是固定間距 (單空格) 字型,則指定進階寬度。 如果字型是可變音調字型,則此成員應設定為零。
fxMaxAscender
指定這個字型實例的提示最大遞增高度,這個字型實例會沿著 pteSide測量。 請參閱 GDI 資料類型中的 FIX 資料類型。
fxMaxDescender
指定這個字型實例的提示下階高度上限,此字型實例會沿著 pteSide測量。 請參閱 GDI 資料類型中的 FIX 資料類型。
ptlUnderline1
指定 POINTL 結構,其中包含這個字型實例相對於字元來源的提示底線位置。
ptlStrikeOut
指定 POINTL 結構,其中包含這個字型實例的提示刪除線位置,相對於字元的字元原點。
ptlULThickness
指定 POINTL 結構,其中包含這個字型實例的提示底線粗細。 這個向量會定義用來繪製底線的矩形側邊。 基底是由基準隱含定義。
ptlSOThickness
指定 POINTL 結構,其中包含這個字型實例的提示刪除線粗細。 這個向量會定義用來繪製刪除線的矩形側邊。 基底是由基準隱含定義。
cxMax
指定這個字型實例的提示最大圖像點陣圖寬度,以圖元為單位。 不適用於大綱。
cyMax
指定這個字型實例的提示最大圖像點陣圖高度,以圖元為單位。 不適用於大綱。
cjGlyphMax
指定這個字型實例的提示字元大小上限,以位元組為單位。 此值是儲存任何字型字元所需的 GLYPHBITS 結構大小上限。
fdxQuantized
指定 FD_XFORM 結構。 字型驅動程式會填入實際用於字型實現的字型轉換。 這可能與 GDI 所要求的轉換不同,如 FONTOBJ_pxoGetXform所定義。
lNonLinearExtLeading
這是 28.4 裝置單位中的非線性外部前置。
lNonLinearIntLeading
這是 28.4 個裝置單位中的非線性內部前置。
lNonLinearMaxCharWidth
這是以 28.4 個裝置單位為單位的非線性最大字元增量。
lNonLinearAvgCharWidth
這是 28.4 個裝置單位中的非線性平均字元寬度。
lMinA
這是這個字型實現的最大負數 A 空格,指定為絕對值。
lMinC
這是這個字型實現的最大負數 C 空間,指定為絕對值。
lMinD
這是這個字型實現的最小非零字元寬度。
alReserved[1]
是保留的,而且應該由字型提供者忽略。
規格需求
標頭 | winddi.h (包括 Winddi.h) |