Windows Mobile 6.5
A version of this page is also available for

This function enumerates the fonts available on a specified device. This function is provided for compatibility with early versions of the Windows SDK. Whenever possible, applications should use the EnumFontFamilies function.

int EnumFonts(
  HDC hdc, 
  LPCTSTR lpFaceName, 
  LPARAM lParam


[in] Handle to the device context (DC).


[in] Long pointer to a null-terminated string that specifies the typeface name of the desired fonts. If lpFaceName is NULL, EnumFonts randomly selects and enumerates one font of each available typeface.


[in] Long pointer to the application–defined callback function. For more information, see EnumFontsProc.


[in] Pointer to any application–defined data. EnumFonts passes the data to the callback function along with the font information.

The return value is the last value returned by the callback function. The application defines the meaning of the return value.

Use EnumFontFamilies instead of EnumFonts. The EnumFontFamilies function differs from EnumFonts in that EnumFontFamilies retrieves the style names associated with a TrueType font. With EnumFontFamilies, you can retrieve information about font styles that you cannot enumerate using the EnumFonts function.

Windows CE 2.0 and later support systems that use either TrueType or raster fonts, but not both. The OEM chooses the font type, raster or TrueType, at system design time, and an application cannot change the font type.

Windows CE 1.0 and 1.01 support only raster fonts.

Windows Embedded CEWindows CE 1.0 and later
Windows MobilePocket PC for Windows Mobile Version 5.0 and later, Smartphone for Windows Mobile Version 5.0 and later

Community Additions