Windows 3.1 Device Drivers (ddag31qh.hlp) (
Table of Contents;
Topic list)
Important Notice
The pages on this site contain documentation for very old MS-DOS software,
purely for historical purposes.
If you're looking for up-to-date documentation, particularly for programming,
you should not rely on the information found here, as it will be woefully
out of date.
TEXTMETRIC
◄Up► ◄Next► ◄Previous►
────────────────────────────────────────────────────────────────────────────
typedef struct tagTEXTMETRIC {
short tmHeight;
short tmAscent;
short tmDescent;
short tmInternalLeading;
short tmExternalLeading;
short tmAveCharWidth;
short tmMaxCharWidth;
short tmWeight;
BYTE tmItalic;
BYTE tmUnderlined;
BYTE tmStruckOut;
BYTE tmFirstChar;
BYTE tmLastChar;
BYTE tmDefaultChar;
BYTE tmBreakChar;
BYTE tmPitchAndFamily;
BYTE tmCharSet;
short tmOverhang;
short tmDigitizedAspectX;
short tmDigitizedAspectY;
} TEXTMETRIC;
The TEXTMETRIC structure contains a list of the basic metrics of a physical
font.
Member Description
────────────────────────────────────────────────────────────────────────────
tmHeight Specifies the height of the character cell. This member
is equal to the sum of the tmAscent and tmDescent
members.
tmAscent Specifies the ascent of the character cell, that is,
height of the cell measured from the baseline.
tmDescent Specifies the descent of the character cell, that is,
the height of the cell measured from the baseline to the
bottom of the cell.
tmInternalLeading Specifies the amount of internal leading. It is equal to
the difference between the cell height (as expressed by
the tmHeight member) and the maximum height of any
character in the font (excluding the height of accent
marks).
tmExternalLeading Specifies the recommended amount of leading for the
font.
tmAveCharWidth Specifies the average width of characters in the font
(loosely defined as the width of the letter "X").
tmMaxCharWidth Specifies the maximum width of any character in the
font.
tmWeight Specifies the weight of the font.
tmItalic If nonzero, specifies an italic font.
tmUnderlined If nonzero, specifies an underlined font.
tmStruckOut If nonzero, specifies a font that has been struck
through.
tmFirstChar Specifies the value of the first character defined in
the font.
tmLastChar Specifies the value of the last character defined in the
font.
tmDefaultChar Specifies the value of the character that is to be
substituted for characters that are not in the font.
tmBreakChar Specifies the value of the character that is to be used
to define word breaks for text justification.
tmPitchAndFamily Specifies the font pitch and font family. This member is
a combination of one pitch and one family value. The
pitch value can be any one of the following values.
Value Meaning
────────────────────────────────────────────────────────
DEFAULT_PITCH (0x00) Chooses a reasonable font.
FIXED_PITCH (0x01) Chooses a fixed-pitch font.
VARIABLE_PITCH (0x02) Chooses a variable-pitch font.
The font family, which describes in a general way the
look of a font, can be any one of the following values.
Value Meaning
────────────────────────────────────────────────────────
FF_DONTCARE (0x00) Chooses a reasonable font.
FF_ROMAN (0x10) Chooses a variable-pitch font with
serifs.
FF_SWISS (0x20) Chooses a variable-pitch fonts
without serifs.
FF_MODERN (0x30) Chooses a fixed-pitch font.
FF_SCRIPT (0x40) Chooses a cursive or script font.
FF_DECORATIVE (0x50) Chooses a novelty font.
tmCharSet Specifies the character set of the font. It can be one
of the following values.
Value Meaning
────────────────────────────────────────────────────────
ANSI_CHARSET (0x00) Indicates the ANSI character
set.
SYMBOL_CHARSET (0x02) Indicates the Symbol character
set.
OEM_CHARSET (0xFF) Indicates an OEM-specific
character set. The characters and
corresponding character codes
depend on the computer.
tmOverhang Specifies the amount of additional, synthesized width of
a character or character string. This member may be is
nonzero if the driver synthesizes character attributes,
such as bold or italic, by modifying an existing font.
tmDigitizedAspectX Specifies the horizontal aspect ratio for which this
font was designed. This member is equal to the
dfHorizRes member of the FONTINFO structure.
tmDigitizedAspectY Specifies the vertical aspect ratio for which this font
was designed. This member is equal to the dfVertRes
member of the FONTINFO structure.
Comments
GDI makes a string bold by expanding the intracharacter spacing and
overstriking with an offset; the overhang is the distance by which the
overstrike is offset. GDI italicizes a font by skewing the string, and the
overhang is the amount the top of the font is skewed past the bottom of the
font.
See Also
EnumDFonts
♦