您的位置:首页 > 运维架构

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

2013-05-10 14:41 246 查看
客户端缺省情况下运行时,当然是很难看,因为没有使用正常的汉字字体来显示。因为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中文显示问题
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: