Когда я называю PrivateFontCollection. Метод AddFontFile в Mono.net Это всегда возвращает стандартное семейство шрифтов. Об этой ошибке уже сообщили на нескольких веб-сайтах, но насколько я знаю без способа решить ее. Сама ошибка еще не исправлена в Монобиблиотеках. Есть ли какое-либо обходное решение для него?
Править: Как реакция на ответе прихвостня я отправлю код:
PrivateFontCollection pfc = new PrivateFontCollection();
pfc.AddFontFile("myFontFamily.ttf");
myFontFamily = pfc.Families[0x00];
Font myFont = new Font(myFontFamily,14.0f);
Я знаю, что этот код будет хорошо работать на Microsoft. Сетевая платформа, но при выполнении на Моно, это просто дает стандартное семейство шрифтов (я думаю, что это - Arial) с названием myFontFamily.ttf
Нашел это сообщение в Google. Если это утешает, у меня та же проблема с AddMemoryFont (отлично работает в Windows, mono дает мне общий шрифт). Если это утешает, похоже, что это проблема с Mono, а не с вашим кодом.
Если копаться в исходном коде, то System.Windows.Drawing.PrivateFontCollection - это в основном просто оболочка для GDIPlus.GdipPrivateAddFontFile, которая сама по себе является оболочкой для FcConfigAppFontAddFile fontconfig. Причина, по которой он не вызывает никаких ошибок, заключается в том, что GDIplus не проверяет возвращаемое значение из fontconfig, поэтому кажется, что fontconfig не может прочитать шрифт по какой-либо причине, но GDIplus не знает об этом , поэтому PrivateFontCollection тоже.