关于OpenERP客户端字体问题的一点心得

客户端缺省情况下运行时,当然是很难看,因为没有使用正常的汉字字体来显示。因为OpenERP客户端UI是基于GTK的,所以修改OpenERP客户端字体其实是修改GTK里汉字字体的显示。

GTK下相关的两个配置文件一个是etc\gtk-2.0\gtkrc,一个是etc\pango\pango.aliases。
对于中文操作系统下,我们可以不用直接修改gtkrc,而是以之为蓝本,新建一个文件,其名称为gtkrc.zh_CN。其内容大致如下:

gtk-theme-name = "MS-Windows"

gtk-icon-theme-name = "Tango"

gtk-fallback-icon-theme = "hicolor"

gtk-alternative-button-order = 1

gtk-alternative-sort-arrows = 1

gtk-auto-mnemonics = 1

gtk-show-input-method-menu = 0

gtk-show-unicode-menu = 0





style "user-font" {

  font_name = "serif 10"

}



widget_class "*" style "user-font"

widget "*" style "user-font"



gtk-font-name="SimSun 10"

 

这里的自定义字体风格并没有使用什么网上流行的写法,即类似这样的:

style "user-font" {

  font_name = "simsun 10"

}

为什么,这是为了显示斜体字时系统不会出现类似这样的警告信息:

PangoWarning: couldn't load font "SimSun Italic Not-Rotated 10", falling back to "Sans Italic Not-Rotated 10", expect ugly output.

 

那么中文怎么能用serif 呢?这就要靠pango.aliases里对字体集的定义进行处理。在pango.aliases里,找到serif字体集,修改成如下内容:

serif  = "times new roman,angsana new,Microsoft YaHei,simsun,mingliu,gulimche,ms gothic,kartika,latha,mangal,raavi"

这样英文或斜体就使用英文字体,中文按“雅黑、宋体”的顺序来使用。


有一点要提醒的是,缺省的pango.aliases中,mingliu全部是在simsun前,这导致Openerp客户端中的汉字很多看起来是繁体字,所以大家可以把所有的simsun放到mingliu前。

参考:

关于OpenERP客户端字体问题的一点心得

Windows下GTK中文显示问题

你可能感兴趣的:(open)