protected virtual void Dispose(bool disposing) { if (disposing && _font != null) { _font.Dispose(); _font = null; } }
/// <summary> /// Creates and initializes a font from ttf/otf/ttc data /// </summary> /// <param name="data"></param> /// <param name="offset"></param> /// <returns>null if the data was invalid</returns> public static stbtt_fontinfo CreateFont(byte[] data, int offset) { var dataCopy = (byte *)CRuntime.malloc(data.Length); Marshal.Copy(data, 0, new IntPtr(dataCopy), data.Length); var info = new stbtt_fontinfo { isDataCopy = true }; if (stbtt_InitFont_internal(info, dataCopy, offset) == 0) { info.Dispose(); return(null); } return(info); }