Microsoft Foundation Classes (mfc.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.
GetGlyphOutline
CDC                                         Up Contents Index Back
──Microsoft Foundation Classes──────────────────────────────────────────────
 
  Windows 3.1 only
 
  DWORD GetGlyphOutline( UINT nChar, UINT nFormat,
                         GLYPHMETRICS FAR* lpgm, DWORD cbBuffer,
                         void FAR* lpBuffer,
                         const MAT2 FAR* lpmat2 ) const;
 
  Parameter   Description
 
  <nChar>     Specifies the character for which information is to be
              returned.
 
  <nFormat>   Specifies the format in which the function is to return
              information. It can be one of the following values, or 0:
 
              Value        Meaning
 
              GGO_BITMAP   Returns the glyph bitmap. When the function
                           returns, the buffer pointed to by <lpBuffer>
                           contains a 1-bit-per-pixel bitmap whose rows
                           start on doubleword boundaries.
 
              GGO_NATIVE   Returns the curve data points in the
                           rasterizer's native format, using device units.
                           When this value is specified, any
                           transformation specified in <lpmat2> is
                           ignored.
 
              When the value of <nFormat> is 0, the function fills in a
              GLYPHMETRICS structure but does not return glyph-outline
              data.
 
  <lpgm>      Points to a GLYPHMETRICS structure that describes the
              placement of the glyph in the character cell.
 
  <cbBuffer>  Specifies the size of the buffer into which the function
              copies information about the outline character. If this
              value is 0 and the <nFormat> parameter is either the
              GGO_BITMAP or GGO_NATIVE values, the function returns the
              required size of the buffer.
 
  <lpBuffer>  Points to a buffer into which the function copies
              information about the outline character. If <nFormat>
              specifies the GGO_NATIVE value, the information is copied in
              the form of TTPOLYGONHEADER and TTPOLYCURVE structures. If
              this value is NULL and <nFormat> is either the GGO_BITMAP or
              GGO_NATIVE value, the function returns the required size of
              the buffer.
 
  <lpmat2>    Points to a MAT2 structure that contains a transformation
              matrix for the character. This parameter cannot be NULL,
              even when the GGO_NATIVE value is specified for <nFormat>.
 
  Remarks
 
  Retrieves the outline curve or bitmap for an outline character in the
  current font.
 
  An application can rotate characters retrieved in bitmap format by
  specifying a 2-by-2 transformation matrix in the structure pointed to by
  <lpmat2>.
 
  A glyph outline is returned as a series of contours. Each contour is
  defined by a TTPOLYGONHEADER structure followed by as many TTPOLYCURVE
  structures as are required to describe it. All points are returned as
  POINTFX structures and represent absolute positions, not relative
  moves. The starting point given by the pfxStart member of the
  TTPOLYGONHEADER structure is the point at which the outline for a
  contour begins. The TTPOLYCURVE structures that follow can be either
  polyline records or spline records. Polyline records are a series of
  points; lines drawn between the points describe the outline of the
  character. Spline records represent the quadratic curves used by
  TrueType (that is, quadratic b-splines).
 
  Return Value
 
  The return value is the size, in bytes, of the buffer required for the
  retrieved information if <cbBuffer> is 0 or <lpBuffer> is NULL.
  Otherwise, it is a positive value if the function is successful, or -1
  if there is an error.
 
  See Also
 
  CDC::GetOutlineTextMetrics, ::GetGlyphOutline
 
 
                                     -♦-