如何判断一个字体是否是使用GTK和Pango的等宽字体?

时间:2010-04-25 12:16:51

标签: c fonts gtk pango monospace

我有PangoFontDescription,我想知道它是否描述了等宽字体。

我在Pango API文档中看到了函数pango_font_family_is_monospace(),但经过几个小时的困惑之后,我仍然不清楚PangoFontFamilyPangoFontMap,{{之间的关系是什么1}},PangoFontPangoFontsetPangoContext以及我是否需要任何或所有这些来实现我想要的目标。到目前为止,PangoFontDescription是我需要使用的Pango的唯一部分,因为GTK设法抽象其他所有内容。

之前做过此事的人能帮助我吗?

1 个答案:

答案 0 :(得分:3)

您可以使用pango_font_description_get_family(),然后在结果上使用pango_font_family_is_monospace()

编辑:

由于pango_font_description_get_family()只返回一个名称,您可以执行此操作:调用pango_context_list_families()并搜索具有该名称的系列对象。之后,在找到的对象上调用pango_font_family_is_monospace()。但是,如果找不到具有该名称的家庭对象,则不确定该怎么做。