ComponentOne Bitmap for WPF
C1.WPF.DX.4.5.2 Assembly / C1.Util.DX.DirectWrite Namespace / FontFace Class / TryGetFontTable Method / TryGetFontTable(Int32,DataPointer,IntPtr) Method
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.
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).
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.

In This Topic
    TryGetFontTable(Int32,DataPointer,IntPtr) Method
    In This Topic
    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.
    Syntax
    'Declaration
     
    Public Overloads Function TryGetFontTable( _
       ByVal openTypeTableTag As Integer, _
       ByRef tableData As DataPointer, _
       ByRef tableContext As IntPtr _
    ) As Boolean
    public bool TryGetFontTable( 
       int openTypeTableTag,
       out DataPointer tableData,
       out IntPtr tableContext
    )

    Parameters

    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.
    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).
    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.

    Return Value

    TRUE if the font table exists; otherwise, FALSE.
    Remarks
    The context for the same tag may be different for each call, so each one must be held and released separately.
    See Also