是否有一个地方可以获得所有使用GTK的系统上保证存在的字体列表?我需要一种方法为某些图设置一个合理的默认字体,当然必须存在合理的默认字体。
编辑:如果没有保证特定字体存在,是否有一种简单的方法可以获得一些理智的默认可扩展sans-serif字体?我不关心细节。
编辑#2:如果在GTK上无法保证什么,有人可以给我很好的平台特定的默认可扩展sans-serif字体,保证在任何合理的Windows和* nix / X11安装中出现?
答案 0 :(得分:4)
任何使用GTK的系统都不保证字体存在,因为GTK是一个跨平台的工具包,并且不会安装任何自己的字体。
根据渲染图形的方式(Cairo?),任何文本都应该以默认字体绘制。 编辑:听起来好像是在使用gdk_draw_layout()
来绘制文字。这需要PangoLayout
个参数。如果您使用PangoLayout
获得gtk_widget_create_pango_layout()
,那么它应该已经具有合理的默认字体集。您甚至可以使用PangoContext
获取pango_layout_get_context()
,然后在其上调用pango_context_get_font_description()
来查找字体。
如果您还使用GNOME,则可以使用GConf检查/desktop/gnome/interface/font-name
,/desktop/gnome/interface/monospace-font-name
和/desktop/gnome/interface/document-font-name
键的值。
答案 1 :(得分:2)
您应该在GTK +中使用的默认字体是“Sans”,“Monospace”和“Serif”。我不相信保证存在任何特定字体。