【发布时间】:2017-05-02 10:17:30
【问题描述】:
我一直在阅读 pango 的 gnome API,但找不到从我拥有的 ttf 字体文件中获取 PangoFont 的简单方法。
从TTF 文件中获取PangoFont 对象的顺序调用是什么?
【问题讨论】:
我一直在阅读 pango 的 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);
【讨论】: