ODTTF файлы обфусцированы.Чтобы использовать их в качестве TTF, вы должны деобфусцировать их.Вы можете использовать этот код:
void DeobfuscateFont(XpsFont font, string outname)
{
using (Stream stm = font.GetStream())
{
using (FileStream fs = new FileStream(outname, FileMode.Create))
{
byte[] dta = new byte[stm.Length];
stm.Read(dta, 0, dta.Length);
if (font.IsObfuscated)
{
string guid = new Guid(font.Uri.GetFileName().Split('.')[0]).ToString("N");
byte[] guidBytes = new byte[16];
for (int i = 0; i < guidBytes.Length; i++)
guidBytes[i] = Convert.ToByte(guid.Substring(i * 2, 2), 16);
for (int i = 0; i < 32; i++)
{
int gi = guidBytes.Length - (i % guidBytes.Length) - 1;
dta[i] ^= guidBytes[gi];
}
}
fs.Write(dta, 0, dta.Length);
}
}
}
После записи в файл .TTF вы можете использовать шрифт.Обратите внимание, что шрифты в файлах XPS являются подмножествами, содержащими только те символы, которые фактически используются в файле XPS, поэтому их не будет полезно использовать, например, в MS-Word в качестве шрифта.