4

非システム フォントを 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" に戻ります。見苦しい出力が予想されます。

どうすればそれを成功させることができますか?

どうもありがとう

4

0 に答える 0