2010-04-25 20 views
3

我有一个PangoFontDescription,我想知道它是否描述了一个等宽字体。如何判断一个字体是否使用GTK和Pango等宽字体?

我所见过的功能pango_font_family_is_monospace()使用Pango API文档中,但几个小时令人费解它仍然不是很清楚,我的关系是PangoFontFamilyPangoFontMapPangoFontPangoFontsetPangoContextPangoFontDescription和我是否需要任何什么之间的后或所有这些来实现我想要的。目前为止,PangoFontDescription是我需要使用的唯一一部分Pango,因为GTK设法将其他所有内容都抽象出来。

谁能帮我解决这个问题吗?

回答

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()。但是,如果没有找到具有该名称的家庭对象,不知道该怎么办。

+1

但pango_font_description_get_family()返回字体系列的名称,而pangofont_family_is_monospace()需要一个实际的PangoFontFamily指针。我不认为这有效。 – unwind 2010-04-25 12:27:38

+0

@unwind:请参阅编辑。 – doublep 2010-04-25 12:31:09

+0

如何从'PangoFontDescription'中获得'PangoContext'?通常'PangoContext'与一个'GtkWidget'关联,但在我看来,我不应该需要一个小部件来确定一个字体是否是等宽字体。 – ptomato 2010-04-25 12:34:43

相关问题