The GetFontData function retrieves font metric data for a TrueType font.
DWORD GetFontData(
HDC hdc, | // handle of device context |
DWORD dwTable, | // metric table to query |
DWORD dwOffset, | // offset into table being queried |
LPVOID lpvBuffer, | // address of buffer for returned data |
DWORD cbData | // length of data to query |
); |
Parameters
hdc
Identifies the device context.
dwTable
Specifies the name of a font metric table from which the font data is to be retrieved. This parameter can identify one of the metric tables documented in the TrueType Font Files specification published by Microsoft Corporation. If this parameter is zero, the information is retrieved starting at the beginning of the font file.
dwOffset
Specifies the offset from the beginning of the font metric table to the location where the function should begin retrieving information. If this parameter is zero, the information is retrieved starting at the beginning of the table specified by the dwTable parameter. If this value is greater than or equal to the size of the table, an error occurs.
lpvBuffer
Points to a buffer to receive the font information. If this parameter is NULL, the function returns the size of the buffer required for the font data.
cbData
Specifies the length, in bytes, of the information to be retrieved. If this parameter is zero, GetFontData returns the size of the data specified in the dwTable parameter.
Return Values
If the function succeeds, the return value is the number of bytes returned.
If the function fails, the return value is GDI_ERROR.
Remarks
An application can sometimes use the GetFontData function to save a TrueType font with a document. To do this, the application determines whether the font can be embedded by checking the otmfsType member of the OUTLINETEXTMETRIC structure. If bit 1 of otmfsType is set, embedding is not permitted for the font. If bit 1 is clear, the font can be embedded. If bit 2 is set, the embedding is read-only. If embedding is permitted, the application can retrieve the entire font file, specifying zero for the dwTable, dwOffset, and cbData parameters.
If an application attempts to use this function to retrieve information for a non-TrueType font, an error occurs.
See Also