OUTLINETEXTMETRIC
The OUTLINETEXTMETRIC
structure contains metrics describing a TrueType font.
typedef struct _OUTLINETEXTMETRIC { // otm
UINT otmSize;
TEXTMETRIC
otmTextMetrics;
BYTE otmFiller;
PANOSE
otmPanoseNumber;
UINT otmfsSelection;
UINT otmfsType;
int otmsCharSlopeRise;
int otmsCharSlopeRun;
int otmItalicAngle;
UINT otmEMSquare;
int otmAscent;
int otmDescent;
UINT otmLineGap;
UINT otmsCapEmHeight;
UINT otmsXHeight;
RECT otmrcFontBox;
int otmMacAscent;
int otmMacDescent;
UINT otmMacLineGap;
UINT otmusMinimumPPEM;
POINT otmptSubscriptSize;
POINT otmptSubscriptOffset;
POINT otmptSuperscriptSize;
POINT otmptSuperscriptOffset;
UINT otmsStrikeoutSize;
int otmsStrikeoutPosition;
int otmsUnderscoreSize;
int otmsUnderscorePosition;
PSTR otmpFamilyName;
PSTR otmpFaceName;
PSTR otmpStyleName;
PSTR otmpFullName;
} OUTLINETEXTMETRIC;
Members
otmSize
Specifies the
size, in bytes, of the OUTLINETEXTMETRIC structure.
otmTextMetrics
Specifies a TEXTMETRIC
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 must 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 tenths of a degree counterclockwise 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.
otmsCapEmHeight
Not
supported.
otmsXHeight
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 computer.
otmMacDescent
Specifies the
maximum distance characters in this font extend below the base line for the
Macintosh computer.
otmMacLineGap
Specifies
line-spacing information for the Macintosh computer.
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
superscript 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.
otmsUnderscoreSize
Specifies the
thickness of the underscore character for this font.
otmsUnderscorePosition
Specifies the
position 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 typeface
name for the font. (This typeface name corresponds to the name specified in the
LOGFONT
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.
Remarks
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