// prntfont.h
typedef struct _EXTTEXTMETRIC {
short emSize;
short emPointSize;
short emOrientation;
short emMasterHeight;
short emMinScale;
short emMaxScale;
short emMasterUnits;
short emCapHeight;
short emXHeight;
short emLowerCaseAscent;
short emLowerCaseDescent;
short emSlant;
short emSuperScript;
short emSubScript;
short emSuperScriptSize;
short emSubScriptSize;
short emUnderlineOffset;
short emUnderlineWidth;
short emDoubleUpperUnderlineOffset;
short emDoubleLowerUnderlineOffset;
short emDoubleUpperUnderlineWidth;
short emDoubleLowerUnderlineWidth;
short emStrikeOutOffset;
short emStrikeOutWidth;
WORD emKernPairs;
WORD emKernTracks;
} EXTTEXTMETRIC, *PEXTTEXTMETRIC;
View the official Windows Driver Kit DDI referenceNo description available.
The EXTTEXTMETRIC structure is used to specify font-specific information within Unidrv font metrics files (.ufm files).
emSizeSpecifies the size of the structure, in bytes.
emPointSizeSpecifies the nominal point size of this font, in twips (1/20 of a point, or 1/1440 inch). This is the intended size of the font; the actual size may differ slightly depending on the resolution of the device.
emOrientationSpecifies the orientation of the font. The emOrientation member can be any of the following values:
| Value | Meaning |
|---|---|
| 0 | Either portrait or landscape orientation |
| 1 | Portrait orientation |
| 2 | Landscape orientation |
emMasterHeightSpecifies the font size, in device units, for which the values in this font's extent table are exact.
emMinScaleSpecifies the minimum valid point size for this font. The following equation illustrates how the minimum point size is determined:
smallest point size = (emMinScale * 72) / dfVertRes
The value 72 represents the number of points per inch. The dfVertRes value is the number of dots per inch.
emMaxScaleSpecifies the maximum valid point size for this font. The following equation illustrates how the maximum point size is determined:
largest point size = (etmMaxScale * 72) / dfVertRes
The value 72 represents the number of points per inch. The dfVertRes value is the number of dots per inch.
emMasterUnitsSpecifies the integral number of units per em, where an em equals the value of the emMasterHeight member. (That is, emMasterUnits is emMasterHeight expressed in font units instead of device units.)
emCapHeightSpecifies the height, in font units, of uppercase characters in the font. Typically, this is the height of uppercase H.
emXHeightSpecifies the height, in font units, of lowercase characters in the font. Typically, this is the height of lowercase x.
emLowerCaseAscentSpecifies the distance, in font units, that the ascender of lowercase letters extends above the base line. Typically, this is the height of lowercase d.
emLowerCaseDescentSpecifies the distance, in font units, that the descender of lowercase letters extends below the base line. Typically, this is specified for the descender of lowercase p.
emSlantFor an italic or slanted font, specifies the angle of the slant measured in tenths of a degree clockwise from the upright version of the font.
emSuperScriptSpecifies the recommended amount, in font units, to offset superscript characters from the base line. This is typically a negative value.
emSubScriptSpecifies the recommended amount, in font units, to offset subscript characters from the base line. This is typically a positive value.
emSuperScriptSizeSpecifies the recommended size, in font units, of superscript characters for this font.
emSubScriptSizeSpecifies the recommended size, in font units, of subscript characters for this font.
emUnderlineOffsetSpecifies the offset, in font units, downward from the base line, where the top of a single underline bar should appear.
emUnderlineWidthSpecifies the thickness, in font units, of the underline bar.
emDoubleUpperUnderlineOffsetSpecifies the offset, in font units, downward from the base line, where the top of the upper double-underline bar should appear.
emDoubleLowerUnderlineOffsetSpecifies the offset, in font units, downward from the base line, where the top of the lower double-underline bar should appear.
emDoubleUpperUnderlineWidthSpecifies the thickness, in font units, of the upper underline bar.
emDoubleLowerUnderlineWidthSpecifies the thickness, in font units, of the lower underline bar.
emStrikeOutOffsetSpecifies the offset, in font units, upward from the base line, where the top of a strikeout bar should appear.
emStrikeOutWidthSpecifies the thickness, in font units, of the strikeout bar.
emKernPairsSpecifies the number of character kerning pairs defined for this font.
emKernTracksSpecifies the number of kerning tracks defined for this font.