Пример #1
0
        public bool TryGetFontTable(OpenTypeTableTag openTypeTableTag, [Out] out byte[] tableData)
        {
            IntPtr tableDataDWrite;
            IntPtr tableContext;
            uint   tableSizeDWrite = 0;
            bool   exists          = false;

            tableData = null;
            var TryGetFontTableFn  = GetFunctionFromVTable <Delegate_TryGetFontTable>(12);
            var ReleaseFontTableFn = GetFunctionFromVTable <Delegate_ReleaseFontTable>(13);
            int hr = TryGetFontTableFn(_fontFace, (uint)openTypeTableTag,
                                       out tableDataDWrite,
                                       out tableSizeDWrite,
                                       out tableContext,
                                       out exists
                                       );

            Marshal.ThrowExceptionForHR(hr);

            if (exists)
            {
                tableData = new byte[tableSizeDWrite];
                Marshal.Copy(tableDataDWrite, tableData, 0, (int)tableSizeDWrite);

                ReleaseFontTableFn(_fontFace, tableContext);
            }
            return(exists);
        }
Пример #2
0
 internal bool TryGetFontTable(OpenTypeTableTag openTypeTableTag, out byte[] tableData)
 {
     throw new NotImplementedException();
 }
Пример #3
0
 internal bool TryGetFontTable(OpenTypeTableTag openTypeTableTag, out byte[] tableData)
 {
 }