OUTLINETEXTMETRIC

typedef struct _OUTLINETEXTMETRIC { /* otm */

UINT otmSize; /* size of this structure */

TEXTMETRICA otmTextMetrics; /* regular text metrics */

BYTE otmFiller;

PANOSE otmPanoseNumber; /* Panose number of font */

UINT otmfsSelection; /* Font selection flags */

UINT otmfsType; /* Type indicators */

UINT otmsCharSlopeRise; /* Rise / Run 1 vertical */

UINT otmsCharSlopeRun; /* 0 vertical */

UINT otmItalicAngle;

UINT otmEMSquare; /* size of EM */

UINT otmAscent; /* ascent above baseline */

int otmDescent; /* descent below baseline */

int otmLineGap; /* */

UINT otmCapEmHeight; /* height of upper case M */

UINT otmXHeight; /* height of lower case chars */

RECT otmrcFontBox; /* Font bounding box */

int otmMacAscent; /* ascent above baseline for Mac */

int otmMacDescent; /* descent below baseline for Mac */

UINT otmMacLineGap; /* */

UINT otmusMinimumPPEM; /* Minimum point ppem */

POINT otmptSubscriptSize; /* Underscore position */

POINT otmptSubscriptOffset; /* Underscore size */

POINT otmptSuperscriptSize; /* Strikeout position */

POINT otmptSuperscriptOffset; /* Strikeout size */

UINT otmsStrikeoutSize; /* Size of subscript */

int otmsStrikeoutPosition; /* Offset of subscript */

int otmsUnderscoreSize; /* Size of superscript */

UINT otmsUnderscorePosition; /* Offset of superscript */

PSTR otmpFamilyName; /* ptr to family name */

PSTR otmpFaceName; /* ptr to face name */

PSTR otmpStyleName; /* ptr to Style string */

PSTR otmpFullName; /* ptr to full name */

} OUTLINETEXTMETRIC;

The OUTLINETEXTMETRIC structure contains metrics describing a TrueType font.

Members

otmSize

Specifies the size, in bytes, of the OUTLINETEXTMETRIC structure.

otmTextMetrics

Specifies a TEXTMETRIC structure containing further information about the font.

otmFiller

Specifies a value that causes the structure to be byte-aligned.

otmPanoseNumber

Specifies the Panose number for this font.

otmfsSelection

Specifies the nature of the font pattern. This member can be a combination of the following bits:

Bit Meaning

0 Italic
1 Underscore
2 Negative
3 Outline
4 Strikeout
5 Bold

otmfsType

Specifies whether the font is licensed. Licensed fonts may not be modified or exchanged. If bit 1 is set, the font may not be embedded in a document. If bit 1 is clear, the font can be embedded. If bit 2 is set, the embedding is read-only.

otmsCharSlopeRise

Specifies the slope of the cursor. This value is 1 if the slope is vertical. Applications can use this value and the value of the otmsCharSlopeRun member to create an italic cursor that has the same slope as the main italic angle (specified by the otmItalicAngle member).

otmsCharSlopeRun

Specifies the slope of the cursor. This value is zero if the slope is vertical. Applications can use this value and the value of the otmsCharSlopeRise member to create an italic cursor that has the same slope as the main italic angle (specified by the otmItalicAngle member).

otmItalicAngle

Specifies the main italic angle of the font, in counterclockwise degrees from vertical. Regular (roman) fonts have a value of zero. Italic fonts typically have a negative italic angle (that is, they lean to the right).

otmEMSquare

Specifies the number of logical units defining the x- or y-dimension of the em square for this font. (The number of units in the x- and y-directions are always the same for an em square.)

otmAscent

Specifies the maximum distance characters in this font extend above the base line. This is the typographic ascent for the font.

otmDescent

Specifies the maximum distance characters in this font extend below the base line. This is the typographic descent for the font.

otmLineGap

Specifies typographic line spacing.

otmsXHeight

Not supported.

otmsCapEmHeight

Not supported.

otmrcFontBox

Specifies the bounding box for the font.

otmMacAscent

Specifies the maximum distance characters in this font extend above the base line for the Macintosh.

otmMacDescent

Specifies the maximum distance characters in this font extend below the base line for the Macintosh.

otmMacLineGap

Specifies line-spacing information for the Macintosh.

otmusMinimumPPEM

Specifies the smallest recommended size for this font, in pixels per em-square.

otmptSubscriptSize

Specifies the recommended horizontal and vertical size for subscripts in this font.

otmptSubscriptOffset

Specifies the recommended horizontal and vertical offset for subscripts in this font. The subscript offset is measured from the character origin to the origin of the subscript character.

otmptSuperscriptSize

Specifies the recommended horizontal and vertical size for superscripts in this font.

otmptSuperscriptOffset

Specifies the recommended horizontal and vertical offset for superscripts in this font. The subscript offset is measured from the character base line to the base line of the superscript character.

otmsStrikeoutSize

Specifies the width of the strikeout stroke for this font. Typically, this is the width of the em-dash for the font.

otmsStrikeoutPosition

Specifies the position of the strikeout stroke relative to the base line for this font. Positive values are above the base line and negative values are below.

otmsUnderscorePosition

Specifies the position of the underscore character for this font.

otmsUnderscoreSize

Specifies the thickness of the underscore character for this font.

otmpFamilyName

Specifies the offset from the beginning of the structure to a string specifying the family name for the font.

otmpFaceName

Specifies the offset from the beginning of the structure to a string specifying the face name for the font. (This face name corresponds to the name specified in the LOGFONT structure.)

otmpStyleName

Specifies the offset from the beginning of the structure to a string specifying the style name for the font.

otmpFullName

Specifies the offset from the beginning of the structure to a string specifying the full name for the font. This name is unique for the font and often contains a version number or other identifying information.

Comments

The sizes returned in OUTLINETEXTMETRIC are given in logical units; that is, they depend on the current mapping mode of the specified display context.

See Also

GetOutlineTextMetrics