This is retired content. This content is outdated and is no
longer being maintained. It is provided as a courtesy for
individuals who are still using these technologies. This content
may contain URLs that were valid when originally published, but now
link to sites or pages that no longer exist.
This structure contains data that describes a physical font.
Specifies the height (ascent descent) of characters.
tmAscent
Specifies the ascent (units above the base line) of characters.
tmDescent
Specifies the descent (units below the base line) of
characters.
tmInternalLeading
Specifies the amount of leading (space) inside the bounds set
by the
tmHeightmember. Accent marks and other diacritical
characters may occur in this area. The designer may set this member
to zero.
tmExternalLeading
Specifies the amount of extra leading (space) that the
application adds between rows. Because this area is outside the
font, it contains no marks and is not altered by text output calls
in either OPAQUE or TRANSPARENT mode. The designer may set this
member to zero.
tmAveCharWidth
Specifies the average width of characters in the font
(generally defined as the width of the letter x). This value does
not include overhang required for bold or italic characters.
tmMaxCharWidth
Specifies the width of the widest character in the font.
tmWeight
Specifies the weight of the font.
tmOverhang
Specifies the extra width per string that may be added to some
synthesized fonts. When synthesizing some attributes, such as bold
or italic, graphics device interface (GDI) or a device may have to
add width to a string on both a per-character and per-string basis.
For example, GDI makes a string bold by expanding the spacing of
each character and overstriking by an offset value; it italicizes a
font by shearing the string. In either case, there is an overhang
past the basic string. For bold strings, the overhang is the
distance by which the overstrike is offset. For italic strings, the
overhang is the amount the top of the font is sheared past the
bottom of the font.
The
tmOverhangmember enables the application to determine how
much of the character width returned by a
GetTextExtentPoint32function call on a single character is the
actual character width and how much is the per-string extra width.
The actual width is the extent minus the overhang.
tmDigitizedAspectX
Specifies the horizontal aspect of the device for which the
font was designed.
tmDigitizedAspectY
Specifies the vertical aspect of the device for which the font
was designed. The ratio of the
tmDigitizedAspectXand
tmDigitizedAspectYmembers is the aspect ratio of the device
for which the font was designed.
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 to be substituted for
characters that are not in the font.
tmBreakChar
Specifies the value of the character to be used to define word
breaks for text justification.
tmItalic
Specifies an italic font if it is nonzero.
tmUnderlined
Specifies an underlined font if it is nonzero.
tmStruckOut
Specifies a strikeout font if it is nonzero.
tmPitchAndFamily
Specifies the pitch and family of the selected font. The
low-order bit (bit 0) specifies the pitch of the font. If it is 1,
the font is variable pitch (or proportional). If it is 0, the font
is fixed pitch (or monospace). Bits 1 and 2 specify the font type.
If both bits are 0, the font is a raster font; if bit 1 is 1 and
bit 2 is 0, the font is a vector font; if bit 1 is 0 and bit 2 is
set, or if both bits are 1, the font is some other type. Bit 3 is 1
if the font is a device font; otherwise, it is 0.
The four high-order bits designate the font family. The
tmPitchAndFamilymember can be combined with the hexadecimal
value 0xF0 by using the bitwise AND operator and can then be
compared with the font family names for an identical match. For
more information about the font families, see
LOGFONT.
tmCharSet
Specifies the character set of the font.
ntmFlags
Specifies whether the font is italic, underscored, outlined,
bold, and so forth. The following list shows the bits corresponding
to each font type.
Bit
Font
0
Italic
1
Underscore
2
Negative
3
Outline
4
Strikeout
5
Bold
ntmSizeEM
Specifies the size of the em square for the font. This value is
in "notional units" (that is, the units for which the font was
designed).
ntmCellHeight
Specifies the height, in notional units, of the font. This
value should be compared with the value of the
ntmSizeEMmember.
ntmAvgWidth
Specifies the average width of characters in the font, in
notional units. This value should be compared with the value of the
ntmSizeEMmember.
Remarks
The last four members of the
NEWTEXTMETRICstructure are not included in the
TEXTMETRICstructure;
in all other respects, the structures are identical.
The sizes in the
NEWTEXTMETRICstructure are typically given in logical units;
that is, they depend on the current mapping mode of the display
context.
Requirements
Runs on
Versions
Defined in
Include
Link to
Windows CE OS
1.0 and later
Wingdi.h
Note This API is part of the
complete Windows CE OS package as provided by Microsoft. The
functionality of a particular platform is determined by the
original equipment manufacturer (OEM) and some devices may not
support this API.