The EnumFontFamProc function is an application-defined callback function that retrieves data describing available fonts.
int CALLBACK EnumFontFamProc(
ENUMLOGFONT FAR *lpelf, | // pointer to logical-font data |
NEWTEXTMETRIC FAR *lpntm, | // pointer to physical-font data |
int FontType, | // type of font |
LPARAM lParam | // address of application-defined data |
); |
Parameters
lpelf
Points to an ENUMLOGFONT structure that contains information about the logical attributes of the font. This structure is locally defined.
lpntm
Points to a NEWTEXTMETRIC structure that contains information about the physical attributes of the font, if the font is a TrueType font. If the font is not a TrueType font, this parameter points to a TEXTMETRIC structure.
FontType
Specifies the type of the font. This parameter can be a combination of the following values:
DEVICE_FONTTYPE
RASTER_FONTTYPE
TRUETYPE_FONTTYPE
lParam
Points to the application-defined data passed by the EnumFontFamilies function.
Return Values
The return value must be a nonzero value to continue enumeration; to stop enumeration, it must return zero.
Remarks
An application must register this callback function by passing its address to the EnumFontFamilies function.
The EnumFontFamProc function is a placeholder for the application-defined function name.
The AND (&) operator can be used with the RASTER_FONTTYPE, DEVICE_FONTTYPE, and TRUETYPE_FONTTYPE constants to determine the font type. If the RASTER_FONTTYPE bit is set, the font is a raster font. If the TRUETYPE_FONTTYPE bit is set, the font is a TrueType font. If neither bit is set, the font is a vector font. DEVICE_FONTTYPE is set when a device (for example, a laser printer) supports downloading TrueType fonts or when the font is a device-resident font; it is zero if the device is a display adapter, dot-matrix printer, or other raster device. An application can also use DEVICE_FONTTYPE to distinguish graphics device interface (GDI)-supplied raster fonts from device-supplied fonts. GDI can simulate bold, italic, underline, and strikeout attributes for GDI-supplied raster fonts, but not for device-supplied fonts.
See Also
EnumFontFamilies, EnumFontFamProc, EnumFonts, ENUMLOGFONT, NEWTEXTMETRIC, TEXTMETRIC