public unsafe void GetDisplayGlyphMetrics( ushort *pGlyphIndices, uint glyphCount, GlyphMetrics *glyphMetrics, float emSize, bool useDisplayNatural, bool isSideways, float pixelsPerDip) { var GetGdiCompatibleGlyphMetricsFn = GetFunctionFromVTable <Delegate_GetGdiCompatibleGlyphMetrics>(17); int hr = GetGdiCompatibleGlyphMetricsFn(_fontFace, emSize, pixelsPerDip, //FLOAT pixelsPerDip, IntPtr.Zero, useDisplayNatural, //BOOL useGdiNatural, pGlyphIndices, //__in_ecount(glyphCount) UINT16 const* glyphIndices, glyphCount, //UINT32 glyphCount, glyphMetrics, //__out_ecount(glyphCount) DWRITE_GLYPH_METRICS* glyphMetrics isSideways //BOOL isSideways, ); Marshal.ThrowExceptionForHR(hr); }
internal unsafe void GetDisplayGlyphMetrics(ushort *pGlyphIndices, uint glyphCount, GlyphMetrics *pGlyphMetrics, float emSize, [MarshalAs(UnmanagedType.U1)] bool useDisplayNatural, [MarshalAs(UnmanagedType.U1)] bool isSideways, float pixelsPerDip) { }
internal unsafe void GetDesignGlyphMetrics(ushort *pGlyphIndices, uint glyphCount, GlyphMetrics *pGlyphMetrics) { }
public unsafe void GetDesignGlyphMetrics(ushort *pGlyphIndices, uint glyphCount, GlyphMetrics *glyphMetrics) { var GetDesignGlyphMetricsFn = GetFunctionFromVTable <Delegate_GetDesignGlyphMetrics>(10); int hr = GetDesignGlyphMetricsFn(_fontFace, pGlyphIndices, glyphCount, glyphMetrics, false); Marshal.ThrowExceptionForHR(hr); }