The EnumFonts function enumerates the fonts available on a specified device. For each font with the specified typeface name, the EnumFonts function retrieves information about that font and passes it to the application-defined callback function. This callback function can process the font information as desired. Enumeration continues until there are no more fonts or the callback function returns zero.
This function is provided for compatibility with 16-bit versions of Windows. Win32-based applications should use the EnumFontFamiliesEx function.
int EnumFonts(
HDC hdc, // handle to device context
LPCTSTR lpFaceName, // pointer to font typeface name string
FONTENUMPROC lpFontFunc, // pointer to callback function
LPARAM lParam // pointer to application-supplied data
);
The return value is the last value returned by the callback function. Its meaning is defined by the application.
Use EnumFontFamiliesEx instead of EnumFonts. The EnumFontFamiliesEx function differs from the EnumFonts function in that it retrieves the style names associated with a TrueType font. With EnumFontFamiliesEx, you can retrieve information about font styles that cannot be enumerated using the EnumFonts function.
Windows CE: Windows CE version 1.0 supports only raster fonts.
Windows CE version 2.0 supports systems that use either TrueType or raster fonts but not both. The font type (raster or TrueType) is chosen at system design time, and cannot be changed by an application.
Fonts and Text Overview, Font and Text Functions, EnumFontFamilies, EnumFontsProc, GetDeviceCaps