GetCharABCWidths
The GetCharABCWidths
function retrieves the widths, in logical units, of consecutive characters in a
given range from the current TrueType font. This function succeeds only with
TrueType fonts.
BOOL GetCharABCWidths(
HDC hdc, |
// handle of device
context |
UINT uFirstChar, |
// first character
in range to query |
UINT uLastChar, |
// last character
in range to query |
LPABC lpabc |
// address of
character-width structure |
); |
|
Parameters
hdc
Identifies
the device context.
uFirstChar
Specifies the
first character in the group of consecutive characters from the current font.
uLastChar
Specifies the
last character in the group of consecutive characters from the current font.
lpabc
Points to an
array of ABC
Return Values
If the
function succeeds, the return value is nonzero
If the
function fails, the return value is zero. To get extended error information,
call GetLastError
Remarks
The TrueType
rasterizer provides ABC character spacing after a specific point size has been
selected. A spacing is the distance added to the current position before
placing the glyph. B spacing is the width of the black part of the glyph. C
spacing is the distance added to the current position to provide white space to
the right of the glyph. The total advanced width is given by A+B+C.
When the GetCharABCWidths
function retrieves negative A or C widths for a character, that character
includes underhangs or overhangs.
To convert
the ABC widths to font design units, an application should use the value stored
in the otmEMSquare member of a OUTLINETEXTMETRIC structure. This
value can be retrieved by calling the GetOutlineTextMetrics function.
The ABC
widths of the default character are used for characters outside the range of
the currently selected font.
To retrieve
the widths of characters in non-TrueType fonts, applications should use the GetCharWidth
function.
See Also