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

How to create PangoFont object from TTF font file?

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

TTF 文件中获取 PangoFont 对象的序列调用是什么?

(几个小时前的@Griffin)要从 TTF 文件添加字体,您需要首先确保它首先被添加到 FcConfig,然后检索它的 PangoFont 通过其 pango_font_description_from_string 如下:

//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);