Я пытаюсь загрузить не системный шрифт в мое приложение GTK. Я пытался использовать панго для достижения этой цели. Вот мой код:
string fontPath = "res/fonts/FreeSans.ttf";
const FcChar8 *fontFile = (const FcChar8*) fontPath.c_str();
FcBool fontAddStatus = FcConfigAppFontAddFile(FcConfigGetCurrent(), fontFile);
if(fontAddStatus)
{
FcFontSet *fontSet = FcConfigGetFonts (FcConfigGetCurrent(), FcSetApplication);
PangoFontDescription *desc = pango_fc_font_description_from_pattern(fontSet->fonts[0], false);
pango_font_description_set_family(desc, "FreeSans");
PangoAttribute *attr = pango_attr_font_desc_new(desc);
PangoAttrList *attrs = gtk_label_get_attributes(GTK_LABEL(lbl_0));
pango_attr_list_change(attrs, attr);
pango_layout_set_attributes (gtk_label_get_layout(GTK_LABEL(lbl_0)), attrs);
}
Когда я запускаю этот код, он дает мне:
Pango-WARNING **: не удалось загрузить шрифт «FreeSans Not-Rotated 10», возвращаясь к «Sans Not-Rotated 10», ожидался ужасный вывод
Как я могу сделать это успешно?
Большое спасибо
Задача ещё не решена.
Других решений пока нет …