Windows 3.1 Device Drivers (ddag31qh.hlp) (Table of Contents; Topic list)
EnumDFonts
                                                     Up Next Previous
────────────────────────────────────────────────────────────────────────────
 
WORD EnumDFonts(lpDestDev, lpFaceName, lpCallbackFunc, lpClientData)
LPPDEVICE lpDestDev;      /* points to physical device or bitmap       */
LPSZ lpFaceName;          /* points to name of font face               */
FARPROC lpCallbackFunc;   /* points to user-supplied callback function */
LPVOID lpClientData;      /* points to user-supplied data              */
 
The EnumDFonts function returns information about device fonts by passing
the information to the specified callback function. GDI calls this function
when processing the EnumFonts function (GDI.70) to determine what device
fonts are available.
 
Every graphics driver must export an EnumDFonts function.
 
Parameter       Description
────────────────────────────────────────────────────────────────────────────
 
lpDestDev       Points to a PDEVICE or PBITMAP structure.
 
lpFaceName      Points to the null-terminated string specifying the name of
                a font. If lpFaceName points to a name, EnumDFonts calls the
                callback function with information for the fonts having the
                same font name. If there are no fonts of that name, the
                function returns 1.
 
                If lpFaceName is NULL, EnumDFonts randomly selects one font
                of each name and calls the callback function with
                information for these fonts. If there are no fonts, the
                function returns 1.
 
lpCallbackFunc  Points to a user-supplied callback function. For more
                information about the callback function, see the following
                "Comments" section.
 
lpClientData    Points to a buffer containing user-supplied data.
                EnumDFonts does not use this data; instead it passes the
                data back to application through the callback function.
 
Return Value
 
The return value is the last value returned by the callback function. The
function returns 1 if there are no fonts having the specified font name.
 
Comments
 
The export ordinal for this function is 6.
 
EnumDFonts calls the callback function once for each font. It continues to
call the callback function until there are no more fonts, or the callback
function returns zero.
 
The callback function has the following form:
 
WORD CallbackFunction(lpLogFont, lpTextMetrics,
                          wFontType, lpClientData)
LPLFONT lpLogFont;
LPTEXTMETRICS lpTextMetrics;
WORD wFontType;
LPVOID lpClientData;
 
Parameter      Description
────────────────────────────────────────────────────────────────────────────
lpLogFont      Points to a LFONT structure defining the logical attributes
               of a font. All sizes are in device units.
 
lpTextMetrics  Points to a TEXTMETRIC structure containing the same values
               that would be returned by the GetTextMetrics (GDI.93)
               function. All sizes are in device units.
 
wFontType      Specifies the type of the font. It can be one of the
               following values.
 
               Value                Meaning
               ─────────────────────────────────────────────────────────────
               RASTER_FONTTYPE (1)  Font consists of raster bitmaps rather
                                    than vector strokes.
 
               DEVICE_FONTTYPE (2)  Font is provided by the device rather
                                    than GDI.
 
               ENGINE_FONTTYPE (4)  Font is provided by TrueType rather than
                                    GDI or device.
 
               Bit 3 in the wFontType parameter is reserved; must be zero.
 
lpClientData   Points to the user-supplied data passed to EnumDFonts.
 
The callback function must return a nonzero value to continue to receive
information about the fonts. If the callback function returns zero,
EnumDFonts stops enumerating the fonts and returns to GDI.
 
If the device can generated scaled, bold, or italicized fonts, EnumDFonts
should pass only the information about the base font to the callback
function. EnumDFonts should then leave it to the application to inquire
about the device's text transformation abilities.
 
 
                                      ♦