private static FontFamily LoadFontFamilyFromMemory(byte[] memory)
{
FontFamily result = null;
FontFamily[] familiesBefore = fontManager.Families.ToArray();
GCHandle handle = GCHandle.Alloc(memory, GCHandleType.Pinned);
try
{
IntPtr fontMemPtr = handle.AddrOfPinnedObject();
fontManager.AddMemoryFont(fontMemPtr, memory.Length);
result = fontManager.Families.Except(familiesBefore).FirstOrDefault();
}
finally
{
handle.Free();
}
loadedFontRegistry[result.Name] = result;
return result;
}