自定义HexChat的字体

来源:互联网 发布:毁童年h知世本子图片 编辑:程序博客网 时间:2024/06/12 19:51

问题

Hexchat是xchat的分支,同样是使用了GTK库。然而GTK库在Windows上的字体显示得怪怪的,monospace的中文部分竟然是MingLiu字形!

怎样才能自定义monospace字体所真正使用的字体呢?

解决办法

打开hexchat安装目录,例如C:\Program Files\Hexchat,可以发现一个名叫etc的目录。如果没有该目录,那么新建一个叫etc的目录。

在etc下建立pango\pango.aliases文件,文件内容如下:

sans = "dejavu sans,microsoft yahei,simsun,simsun-extb"serif = "dejavu serif,simsun,simsun-extb"monospace = "dejavu sans mono,microsoft yahei,simsun,simsun-extb"

等号左边是字体别名,该别名字体真正使用的字体由等号右边的字体列表定义。

比如定义的monospace字体别名,它会优先在dejavu sans mono中寻找字形,如果找不到那么继续在microsoft yahei中寻找字形,……

如此一来,可以自由的选择与中文字体配合的英文字体,只需将英文字体放在前面。

如果列表中所有的字体都找遍了也没有找到字形,那么会显示成框框。所以在最后加上拥有字形数量最多的fallback字体,在Windows上就是宋体了。

注意事项

  • 字体名大小写无关
  • 字体名中的空格不能缺少
  • 各个字体名之间的逗号两边不能多空格
  • 英文双引号而不是中文双引号

附录

这里有一点麻烦的地方在于字体名是以英文名来指定。所以需要一张字体的中英文名对照表。大多数字体中英文对照表传送门( http://blog.csdn.net/hoxily/article/details/44240395 )。

参考文档

  • win32平台下, GTK+ 2.0 程序的字体设置,http://hi.baidu.com/azhw618/item/94e738f5cf3932b430c199aa
0 0
原创粉丝点击