Important:
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.
A version of this page is also available for
4/8/2010

The GetCharABCWidthsI function retrieves the widths, in logical units, of consecutive glyph indices in a specified range from the current TrueType font. This function succeeds only with TrueType fonts.

Syntax

BOOL GetCharABCWidthsI(
  HDC 
hdc,
  UINT 
giFirst,
  UINT 
cgi,
  LPWORD 
pgi,
  LPABC 
lpabc
);

Parameters

hdc

[in] Handle to the device context.

giFirst

[in] Specifies the first glyph index in the group of consecutive glyph indices from the current font. This parameter is only used if the pgiparameter is NULL.

cgi

[in] Specifies the number of glyph indices.

pgi

[in] Pointer to an array that contains glyph indices. If this parameter is NULL, the giFirstparameter is used instead. The cgiparameter specifies the number of glyph indices in this array.

lpabc

[out] Pointer to an array of ABCstructures that receives the character widths, in logical units. This array must contain at least as many ABC structures as there are glyph indices specified by the cgiparameter.

Return Value

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 specified by A+B+C.

When the GetCharABCWidthsI 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 OUTLINETEXTMETRICWstructure. This value can be retrieved by calling the GetOutlineTextMetricsfunction.

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 GetCharWidth32function.

Requirements

Header windows.h
Library coredll.lib
Windows Embedded CE Windows CE 5.0 and later
Windows Mobile Windows Mobile Version 5.0 and later

See Also