GDI Font and Text Services

GDI provides support for font management and text output. The FONTOBJ structure and related functions give a driver access to a particular instance of a font. To support text output, the driver has access to the STROBJ structure and related functions. The following table lists FONTOBJ- and STROBJ-related functions.

Function Description

EngComputeGlyphSet

Computes the glyph set supported on a device.

EngFntCacheAlloc

Allocates memory for a cached font file.

EngFntCacheFault

Reports an error to the font engine if the font driver encountered an error reading from or writing to a font data cache.

EngFntCacheLookUp

Retrieves a pointer to cached font file data.

EngGetCurrentCodePage

Returns the system's default OEM and ANSI code pages.

EngGetType1FontList

Retrieves a list of PostScript Type 1 fonts that are installed both locally and remotely.

EngTextOut

This is the GDI simulation for the DrvTextOut function.

FONTOBJ_cGetAllGlyphHandles

Allows the driver to retrieve every glyph handle of a GDI font. The driver uses this service to download an entire font.

FONTOBJ_cGetGlyphs

Translates glyph handles into pointers to the associated glyph data for the font consumer. These pointers are valid until the next call to FONTOBJ_cGetGlyphs.

FONTOBJ_pfdg

Retrieves the pointer to the FD_GLYPHSET structure associated with the specified font.

FONTOBJ_pifi

Retrieves the pointer to the IFIMETRICS structure that describes the associated font.

FONTOBJ_pjOpenTypeTablePointer

Returns a pointer to a view of an OpenType table.

FONTOBJ_pQueryGlyphAttrs

Returns information about a font's glyphs.

FONTOBJ_pvTrueTypeFontFile

Retrieves a pointer to a view of a TrueType, OpenType, or Type1 font file.

FONTOBJ_pwszFontFilePaths

Retrieves the file path(s) associated with a font.

FONTOBJ_pxoGetXform

Retrieves the Notional-to-Device transform for the associated font. This transform is required for a driver to realize a driver-supplied font.

FONTOBJ_vGetInfo

Returns information that describes the associated font.

STROBJ_bEnum

Enumerates glyph identities and positions in the specified STROBJ.

STROBJ_bEnumPositionsOnly

Enumerates glyph identities and positions for a specified text string, but does not create cached glyph bitmaps.

STROBJ_bGetAdvanceWidths

Returns vectors specifying the probable widths of glyphs making up a specified string.

STROBJ_dwGetCodePage

Returns the code page associated with the specified STROBJ.

STROBJ_fxBreakExtra

Retrieves the amount of extra space to be added to each space character in a string when displaying and/or printing justified text.

STROBJ_vEnumStart

Restarts the enumeration of the GLYPHPOS array for the specified STROBJ. This function should be called by the driver prior to subsequent enumerations.