我一直在阅读gnome的API文档,但是找不到一个简单的方法来从我的ttf字体文件中获取PangoFont。
如何调用序列以从TTF文件获取PangoFont对象?
(@Griffin 几个小时前的回答) 要添加来自 TTF
文件的字体,您需要首先确保将其添加到 FcConfig
中,然后通过下面的 pango_font_description_from_string
检索其 PangoFont
:
//first add to FcConfig
std::string FontPath = "/path/to/font.ttf"
const FcChar8 * fontFile = (const FcChar8 *)FontPath.c_str();
FcBool fontAddStatus = FcConfigAppFontAddFile(FcConfigGetCurrent(), fontFile);
//then retrieve it via its fontDescriptor with pango
PangoFontDescription * desc = pango_font_description_from_string("SOME-FONT-FAMILY SOME-STYLE");
PangoFontMap* pfm = pango_cairo_font_map_get_default();
PangoFont* font = pango_font_map_load_font(pfm, context, desc);