我有一个用林间空地制作的继承项目。在调试了一些automake和gettext问题之后,我设法让它针对gtk + 1.2编译。 (它的旧代码不断适应类似用途。)不幸的是,我以前从未使用过GTK。代码在C中,在CentOS 6上开发。
编译时,它应该看起来像这样(我已经设法挖掘的旧版本的屏幕截图):
相反,当我在我的系统上编译它时,它看起来像这样:
即,所有按钮,窗口等都存在,但看起来字体已经变得超大了。我猜这只是将代码指向一组更好的字体的问题,但可能不是。有没有人遇到过这种事情?如果是这样,有没有人对从何处开始研究如何解决问题有所了解?
更新:
所以我在XML文件中找到了标签的设置。例如,左上角的GUNN On按钮是这样定义的:
<child>
<widget class="GtkToggleButton" id="gunn2_on_tog">
<property name="can_focus">yes</property>
<property name="label" translatable="yes">GUNN On</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="active">no</property>
<property name="width-request">72</property>
<property name="height-request">24</property>
<property name="visible">yes</property>
<signal name="toggled" handler="on_gunn2_on_tog_toggled" />
</widget>
<packing>
<property name="x">8</property>
<property name="y">16</property>
</packing>
</child>
我似乎需要做一些Pango标记:https://developer.gnome.org/pango/stable/PangoMarkupFormat.html,但我还在挖掘过程中。
更新2:
我设法将glade文件转换为最近的版本,以便安装在计算机上的glade将打开它。林间空地应用程序中的字体界面字体看起来很好。直到我编译并运行该程序才能使字体失控。我也尝试通过首选项菜单更改我的系统字体首选项,但无济于事。
更新3:
我已经能够更改字体了。最后。我编辑了/ etc / gtk / gtkrc并添加了行
style "default-text" {
fontset = "-adobe-helvetica-medium-o-normal--10-100-75-75-p-57-iso10646-1,-*-r-*-iso10646-1,*"
}
widget "*" style "default-text"
最后。它仍然不完美,我不完全理解它。但进步。
答案 0 :(得分:1)
所以,最后我找到了答案。
作为gtk 1.2应用程序,程序最终会尊重系统(或本地).gtkrc文件。
fontset旁边的长字符串是X逻辑字体描述(wikipedia)。
程序xfontsel(在xorg-x11-apps yum包中为CentOS提供)允许用户选择他们想要的字符串。我对gtkrc文件的最终选择是:
style "default-text" {
fontset = "-adobe-helvetica-medium-r-normal--*-80-*-*-*-*-*-*"
}
widget "*" style "default-text"
这给了我以下结果:
我确信,自从最早提到GTK + 1.2.10开始于2001年左右,这将是Stack Exchange未来的一个非常有用的帖子。希望有这个问题的其他人至少会发现这个有用。
在我的gtkrc中,并非我在近15年的论坛帖子中找到的这种样式定义的每个例子都有效。我猜它与我系统上的某些字体有关。