EXTTEXTMETRIC

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.

Members

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.