typedef struct{
short etmSize;
short etmPointSize;
short etmOrientation;
short etmMasterHeight;
short etmMinScale;
short etmMaxScale;
short etmMasterUnits;
short etmCapHeight;
short etmXHeight;
short etmLowerCaseAscent;
short etmUpperCaseDescent;
short etmSlant;
short etmSuperScript;
short etmSubScript;
short etmSuperScriptSize;
short etmSubScriptSize;
short etmUnderlineOffset;
short etmUnderlineWidth;
short etmDoubleUpperUnderlineOffset;
short etmDoubleLowerUnderlineOffset;
short etmDoubleUpperUnderlineWidth;
short etmDoubleLowerUnderlineWidth;
short etmStrikeOutOffset;
short etmStrikeOutWidth;
WORD etmKernPairs;
WORD etmKernTracks;
}EXTTEXTMETRIC;
The EXTTEXTMETRIC structure provides extended-metric information for a font. All the measurements are given in the specified units, regardless of the current mapping mode of the display context.
etmSize
Specifies the size of this structure (in bytes).
etmPointSize
Specifies the nominal point size of this font in twips (twentieths of a point). This is the intended graphics art size of the font; the actual size may differ slightly depending on the resolution of the device.
etmOrientation
Specifies the font's orientation. It can be one of the following values.
Value | Meaning |
0 | Either orientation. |
1 | Portrait. |
2 | Landscape. |
This value refers to the ability of this font to be imaged on a page of the given orientation. Landscape pages are those whose width (x-dimension) is greater than their height (y-dimension).
etmMasterHeight
Specifies the font size in device units for which the values in this font's extent table are exact.
etmMinScale
Specifies the minimum valid size for a given font (in device units).
etmMinScale * 72
smallest point size = 覧覧覧覧覧覧覧覧覧
dfVertRes
In this example, 72 represents the number of points-per-inch. The dfVertRes member contains the number of dots-per-inch.
etmMaxScale
Specifies the maximum valid size for a given font (in device units).
<$Elargest~point~size~=~ { etmMaxScale~ times ~72 } over { dfVertRes } > |
In this example, 72 represents the number of points-per-inch. The dfVertRes member contains the number of dots-per-inch.
etmMasterUnits
Specifies the integer number of units-per-em where an em equals etmMasterHeight. In other words, the etmMasterHeight member is expressed in font units rather than device units.
etmCapHeight
Specifies the height of uppercase characters for a given font (in font units). Typically, H is used for the measurement purposes.
etmXHeight
Specifies the height of lowercase characters for a given font (in font units). Typically, x is used for the measurement purposes.
etmLowerCaseAscent
Specifies the distance (in font units) that the ascender of lowercase letters extends above the baseline. This distance is typically specified for a lower-case d.
etmLowerCaseDescent
Specifies the distance (in font units) that the descender of lowercase letters extends below the baseline. This distance is typically specified for a lower-case p.
etmSlant
Specifies the angle in tenths of degrees clockwise (to the right) from the upright version of the font (assuming this font is slanted or italicized).
etmSuperScript
Specifies the recommended amount (in font units) to offset superscript characters from the baseline. This amount is typically specified by a negative offset.
etmSubScript
Specifies the recommended amount (in font units) to offset subscript characters from the baseline. This amount is typically specified by a positive offset.
etmSuperScriptSize
Specifies the recommended size (in font units) of superscript characters for this font.
etmSubScriptSize
Specifies the recommended size (in font units) of subscript characters for this font.
etmUnderlineOffset
Specifies the offset (in font units) downward from the baseline where the top of a single underline bar should appear.
etmUnderlineWidth
Specifies the thickness (in font units) of the underline bar.
etmDoubleUpperUnderlineOffset
Specifies the offset (in font units) downward from the baseline where the top of the upper, double underline bar should appear.
etmDoubleLowerUnderlineOffset
Specifies the offset (in font units) downward from the baseline where the top of the lower, double underline bar should appear.
etmDoubleUpperUnderlineWidth
Specifies the thickness (in font units) of the upper, double underline bar.
etmDoubleLowerUnderlineWidth
Specifies the thickness (in font units) of the lower, double underline bar.
etmStrikeOutOffset
Specifies the offset (in font units) upward from the baseline where the top of a strikeout bar should appear.
etmStrikeOutWidth
Specifies the thickness (in font units) of the strikeout bar.
etmKernPairs
Specifies the number of character-kerning pairs defined for the given font. You can use this value to calculate the size of the pair-kern table returned by the GETPAIRKERNTABLE escape. It will not be greater than 512 kern pairs.
etmKernTracks
Specifies the number of kerning tracks defined for the given font. You can use this value to calculate the size of the track-kern table returned by the GETTRACKKERNTABLE escape. It will not be greater than 16 kern tracks.