PVOID DrvQueryFontTree(
IN DHPDEV dhpdev, | |
IN ULONG iFile, | |
IN ULONG iFace, | |
IN ULONG iMode, | |
IN ULONG *pid | |
); |
When GDI calls DrvQueryFontTree, the driver supplies pointers to structures that define one of the following:
·Mapping from Unicode to glyph handles, including glyph variants
·Mapping of kerning pairs to kerning handles
Parameters
dhpdev
Identifies a device by a handle to its PDEV, returned from a prior call to DrvEnablePDEV.
iFile
Identifies the driver font file. This value is returned by DrvLoadFontFile.
iFace
Specifies the one-based index of the driver font.
iMode
Specifies the type of information to be provided. This can be one of the following values:
Value | Meaning |
QFT_KERNPAIRS | GDI requests a pointer to a sorted, null-terminated array of FD_KERNINGPAIR structures. The kerning pairs should be stored in increasing order. The primary key is the second Unicode character; the secondary key is the first Unicode character in the kerning pair. |
QFT_GLYPHSET | GDI requests a pointer to an FD_GLYPHSET structure that defines the mappings from single Unicode characters to glyph handles. |
pid
The driver writes an identifier at this address that GDI will pass to DrvFree, along with the returned pointer, when the FD_GLYPHSET structure or array of FD_KERNINGPAIR structures are no longer needed. Depending on how memory is managed in the driver, this identifier can identify the structure, identify the way it was allocated, or do nothing at all.
Return Value
The return value is a pointer to the requested structure if the function is successful. Otherwise, it is null, and an error code is logged.
Comments
The returned structure must remain unmodified until GDI calls DrvFree with the address of the structure.
DrvQueryFontTree is required for font drivers and drivers that use device-specific fonts.
See Also
DEVINFO, DrvEnablePDEV, DrvFree, DrvLoadFontFile, DrvQueryFontData, DrvQueryFontTree, FD_GLYPHSET, FD_KERNINGPAIR, IFIMETRICS