[]
Finds the specified OpenType font table if it exists and returns a reference to it. The function accesses the underlying font data through the C1.Win.DX.DirectWrite.FontFileStream interface implemented by the font file loader.
public bool TryGetFontTable(int openTypeTableTag, out DataPointer tableData, out IntPtr tableContext)
| Type | Name | Description |
|---|---|---|
| int | openTypeTableTag | The four-character tag of a OpenType font table to find. Use the DWRITE_MAKE_OPENTYPE_TAG macro to create it as an UINT32. Unlike GDI, it does not support the special TTCF and null tags to access the whole font. |
| DataPointer | tableData | When this method returns, contains the address of a reference to the base of the table in memory. The reference is valid only as long as the font face used to get the font table still exists; (not any other font face, even if it actually refers to the same physical font). |
| IntPtr | tableContext | When this method returns, the address of a reference to the opaque context, which must be freed by calling {{ReleaseFontTable}}. The context actually comes from the lower-level C1.Win.DX.DirectWrite.FontFileStream, which may be implemented by the application or DWrite itself. It is possible for a NULL tableContext to be returned, especially if the implementation performs direct memory mapping on 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 because each returned context can be different, you must release each context separately. |
| Type | Description |
|---|---|
| bool | TRUE if the font table exists; otherwise, FALSE. |
The context for the same tag may be different for each call, so each one must be held and released separately.
HRESULT IDWriteFontFace::TryGetFontTable([In] unsigned int openTypeTableTag,[Out, Buffer] const void** tableData,[Out] unsigned int* tableSize,[Out] void** tableContext,[Out] BOOL* exists)
public bool TryGetFontTable(int openTypeTableTag, IntPtr tableData, out int tableSize, out IntPtr tableContext)
| Type | Name | Description |
|---|---|---|
| int | openTypeTableTag | |
| IntPtr | tableData | |
| int | tableSize | |
| IntPtr | tableContext |
| Type | Description |
|---|---|
| bool |