如何从TTF字体文件创建PangoFont对象?

3

我一直在阅读gnome的API文档,但是找不到一个简单的方法来从我的ttf字体文件中获取PangoFont。

如何调用序列以从TTF文件获取PangoFont对象?

1个回答

2

(@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);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接