Font-Embedding Function Error Messages

The following LONG values are returned by the font-embedding functions when errors are encountered. When functions are successful, the value E_NONE is returned.

Return value Description
E_NONE No error.
E_ADDFONTFAILED An error occurred when the load functions tried to add the new font using AddFontResource.
E_CHARCODECOUNTINVALID The count of subsetted characters specified in TTEmbedFont is invalid.
E_CHARCODESETINVALID The character set specified in TTEmbedFont is invalid.
E_COULDNTCREATETEMPFILE The load functions could not create a temporary file needed in to install a new font or resource file.
E_DEVICETRUETYPEFONT The specified TrueType® font is not a system font. The font may exist as a device font in a printer.
E_ERRORACCESSINGEXCLUDELIST An error occurred while attempting to access the Typeface Exclusion List.
E_ERRORACCESSINGFACENAME A non-DC-related error was encountered while trying to allocate an OUTLINETEXTMETRIC structure.
E_ERRORACCESSINGFONTDATA An error was encountered while attempting to use GetFontData.
E_ERRORCOMPRESSINGFONTDATA An error occurred while TTEmbedFont attempted to compress the font data.
E_ERRORCONVERTINGCHARS An error prevented the conversion of a string of single-byte characters to Unicode characters. This can occur in TTCharToUnicode if either pucCharCodes or pusShortCodes are non-null values, or if the conversion fails while using MultiByteToWideChar.
E_ERRORCREATINGFONTFILE An error occurred while attempting to create the font file.
E_ERRORDECOMPRESSINGFONTDATA An error occurred while trying to decompress data in a font file.
E_ERROREXPANDINGFONTDATA An error occurred while the load functions attempted to expand embedded, compressed font data.
E_ERRORGETTINGDC An error occurred while trying to allocate a DC, halting processing.
E_ERRORREADINGFONTDATA An error occurred while attempting to read font data.
E_ERRORUNICODECONVERSION An error occurred while allocating memory to convert a name string to Unicode.
E_ERRORUSINGTEMPFILE An error occurred while the load functions were using a temporary file to install a new font file or resource file.
E_EXCEPTION An exception was thrown by an unknown cause.
E_FACENAMEINVALID A null szFaceName parameter was passed to the function.
E_FLAGSINVALID The ulFlags parameter in the current function is invalid.
E_FONTALREADYEXISTS The embedded font has the same name and checksum as a font already installed on the system.
E_FONTDATAINVALID Font data read from disk is not a valid embedded-font structure.
E_FONTFILECREATEFAILED The load functions could not create the font file (.ttf)
E_FONTFILENOTFOUND The font file of the specified file name does not exist.
E_FONTINSTALLFAILED An attempt to install the embedded font in the system failed.
E_FONTNAMEALREADYEXISTS The embedded font has the same name but a different checksum as a font already installed.
E_FONTNOTEMBEDDABLE The specified font cannot be embedded due to restrictions from the font manufacturer. Embedding this font in a document violates copyright laws.
E_FONTREFERENCEINVALID A null phFontReference was passed to the function.
E_HDCINVALID The device context specified for the TTEmbedFont function is invalid.
E_NAMECHANGEFAILED TTLoadEmbeddedFont was unable to change the name of the font being loaded.
E_NOFREEMEMORY An internal operation failed while attempting to allocate memory.
E_NOOS2 An OS/2 table was not found in the font.
E_NOTATRUETYPEFONT The specified font is not a TrueType font.
E_PBENABLEDINVALID A null pbEnabled parameter was passed to the function.
E_PERMISSIONSINVALID A null pulPermissions parameter was passed to the function.
E_PRIVSINVALID The ulPrivs parameter specified in the load functions is invalid.
E_PRIVSTATUSINVALID A null pulPrivStatus parameter was passed to the function.
E_READFROMSTREAMFAILED An error occurred while attempting to read the embedded font structure from the stream.
E_RESOURCEFILECREATEFAILED The load functions could not create the font resource file (.fot).
E_SAVETOSTREAMFAILED An error occurred while attempting to save the embedded-font structure to a stream.
E_STATUSINVALID A null pulStatus parameter was passed to the function.
E_STREAMINVALID The stream specified in TTEmbedFont or the load functions is invalid.
E_SUBSETTINGFAILED TTEmbedFont failed while attempting to create a subset of a font.
E_T2NOFREEMEMORY An error occurred while attempting to free memory. The memory in question failed during the free operation.
E_WINDOWSAPI An internal error occurred when one of the functions called a Windows API, such as GetTextMetrics or GetOutlineTextMetrics.
E_API_NOTIMPL This API function is not implemented in the version of Windows on which it is running.