public static void AddFont(Stream stream)
{
var ptr = Marshal.AllocCoTaskMem((int)stream.Length);
var data = new byte[stream.Length];
stream.Read(data, 0, (int)stream.Length);
Marshal.Copy(data, 0, ptr, (int)stream.Length);
FontCollection.AddMemoryFont(ptr, (int)stream.Length);
stream.Close();
Marshal.FreeCoTaskMem(ptr);
}