IDWriteFontFace.TryGetFontTable

<summary> Finds the specified OpenType font table if it exists and returns a pointer to it. The function accesses the underlying font data via the IDWriteFontFileStream interface implemented by the font file loader. </summary> <param name="openTypeTableTag">Four character tag of table to find. Use the DWRITE_MAKE_OPENTYPE_TAG() macro to create it. Unlike GDI, it does not support the special TTCF and null tags to access the whole font.</param> <param name="tableData"> Pointer to base of table in memory. The pointer is only valid so long as the FontFace used to get the font table still exists (not any other FontFace, even if it actually refers to the same physical font). </param> <param name="tableSize">Byte size of table.</param> <param name="tableContext"> Opaque context which must be freed by calling ReleaseFontTable. The context actually comes from the lower level IDWriteFontFileStream, which may be implemented by the application or DWrite itself. It is possible for a NULL tableContext to be returned, especially if the implementation directly memory maps the whole file. Nevertheless, always release it later, and do not use it as a test for function success. The same table can be queried multiple times, but each returned context can be different, so release each separately. </param> <param name="exists">True if table exists.</param> <returns> Standard HRESULT error code. If a table can not be found, the function will not return an error, but the size will be 0, table NULL, and exists = FALSE. The context does not need to be freed if the table was not found. </returns> <remarks> The context for the same tag may be different for each call, so each one must be held and released separately. </remarks>

interface IDWriteFontFace
extern (Windows)
HRESULT
TryGetFontTable
(
,
const(void**) tableData
,
UINT32* tableSize
,,
BOOL* exists
)

Meta