--------------------------------------------------------------------------------
这是我自己汉化GNOME的心得体会,希望对大家有点启发。
假设你已经安装好X以及GNOME,并且以root帐号进行下面的汉化步骤。
X的字体机制:
目前,有两种带有不同特点的子系统:
- 原始的(已有 15 年以上历史)子系统被称为“核心 X 字体子系统”。由这个子系统绘制的字体不是平滑字体,它们由 X 服务器处理,名称类似:
-misc-fixed-medium-r-normal--10-100-75-75-c-60-iso8859-1
- 新的字体子系统被称为“fontconfig”。它允许应用程序直接使用字体文件。fontconfig 经常与“Xft”库一起使用,这会允许应用程序在屏幕上绘制平滑字体。fontconfig 显示的字体更有“人情味儿”。
随着时间的推移,fontconfig/Xft 将会取代核心 X 字体子系统。目前,使用 Qt 3 或 GTK 2 工具包(包括 KDE 和 GNOME 应用程序)的应用程序使用fontconfig 和 Xft 字体子系统;其它部分程序(如 xmms 、gimp) 还在使用核心 X 字体。
Debian(包括 Redhat) 在未来可能会仅支持 fontconfig/Xft 作为默认的本地字体访问方法来取代传统的字体服务器。
注意:以上列出的字体子系统用法有两个例外。它们是 OpenOffice.org(使用它自己的字体绘制技术)和 Mozilla (使用 fontconfig,但不是GTK2)。
Debian汉化步骤简述(11个步骤):
1.在fontconfig的默认配置路径/usr/share/fonts/truetype下创建新文件夹如DIY,随后拷贝字体文件simsun.ttc,tahoma.ttf入内
注意:为了使普通用户也能用上字体,应该修改字体文件的属性
chmod 444 simsun.ttc
chmod 444 tahoma.ttf
2.安装locales,使用dpkg-reconfigure配置它,选上en_US(iso8859-1)以及zh_CN.GBK
3.配置locale为zh_CN.GBK──在/etc/environment文件里添加以下两句
LANG=zh_CN.GBK
XMODIFIERS=@im=fcitx
注意,无须再在任何shell配置文件里设置locale,因为Debian系统最好的配置对象是/etc/environment,以后我会写一篇关于Debian系统启动脚本的文章,请留意
4.dpkg-reconfigure xserver-xfree86配置X,将freetype模块去除,保留xtt模块(它比freetype的字体渲染效果要好,比如说支持粗体)
5.安装相关的工具
引用:apt-get install defoma dfontmgr psfontmgr x-ttcidfont-conf fontconfig libxft2 libxft2-dev libpango1.0-0 zh-autoconvert ttf-arphic-bsmi00lp ttf-arphic-bkai00mp ttf-arphic-gbsn00lp ttf-arphic-gkai00mp xfonts-intl-chinese xfonts-intl-chinese-big manpages-zh
介绍如下:
Debian的特色字体配置工具:
defoma - Debian Font Manager -- automatic font configuration framework
dfontmgr - GUI frontend for defoma, DEbian FOnt MAnager
psfontmgr - PostScript font manager -- part of Defoma, Debian Font Manager
x-ttcidfont-conf - Configure TrueType and CID fonts for X
新一代的字体渲染机制xft2以及它的配置工具fontconfig:
fontconfig - generic font configuration library
libxft2 - advanced font drawing library for X
libxft2-dev - advanced font drawing library for X (development files)
libpango1.0-0 - Layout and rendering of internationalized text
自动中文编码转换工具:
zh-autoconvert - Chinese HZ/GB/BIG5/UNI/UTF7/UTF8 encodings auto-converter
GPL字体:
ttf-arphic-bsmi00lp :文鼎PL细上海宋(Big5 码)
ttf-arphic-bkai00mp :文鼎PL中楷(Big5 码)
ttf-arphic-gbsn00lp :文鼎PL简报宋(GB 码)
ttf-arphic-gkai00mp :文鼎PL简中楷(GB 码)
其他字体:
xfonts-intl-chinese - International fonts for X -- Chinese
xfonts-intl-chinese-big - International fonts for X -- Chinese big
部分中文man手册:
manpages-zh
6.使用dfontmgr注册字体文件(xtt以及xft的配置一次搞定)
有了这个强大的前端,我们可以省却手工或者使用defoma-hints工具创建hints文件的烦琐步骤,而只需按几下鼠标即可注册字体,比如说要注册simsun字体,我们按下"Register Font"按钮,按"next",随后选择/usr/share/fonts/truetype/DIY这个路径下的simsun.ttc字体文件,按下"ok";接着dfontmgr会用一系列的对话框给出该字体文件的所有信息,仔细确认一路按下"ok"即可,最后字体被注册到所有可能的字体子系统包括xfonts以及fontconfig。
随后把下面两句添加到/etc/X11/XF86Config-4文件,使xtt能使用dfontmgr注册的字体集(dfontmgr自动更新fontconfig)
FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/CID"
7.安装firefly补丁(在sources.list中添加源后,dist-upgrade即可升级相关软件为firefly版本)
补充:使用debian.cn99.com的sarge源,添上ustc(中国科技大学)源即可:
# Unofficial packages
# Avaliable components: marillat rareware ustc java misc firefly
deb http://debian.ustc.edu.cn/debian-uo/ sid misc marillat rareware ustc java firefly
8.修改/etc/fonts/fonts.conf文件,使中英文独立显示(估计是调整了替代规则以及优先级)以及firefly补丁生效
这里给出参考的fonts.conf文件:
引用:
引用:
/usr/share/fonts /usr/X11R6/lib/X11/fonts/TTF /usr/X11R6/lib/X11/fonts/Type1 ~/.fonts
mono monospace
sans serif sans-serif
sans sans-serif
Bitstream Vera Serif Times Times New Roman Nimbus Roman No9 L Luxi Serif Mingliu Kochi Mincho AR PL SungtiL GB AR PL Mingti2L Big5 Baekmuk Batang serif
Bitstream Vera Sans Helvetica Arial Verdana Nimbus Sans L Luxi Sans Tahoma Simsun Mingliu Kochi Gothic AR PL KaitiM GB AR PL KaitiM Big5 Baekmuk Dotum sans-serif
Bitstream Vera Sans Mono Courier Courier New Andale Mono Luxi Mono Nimbus Mono L NSimSun PMingLiu monospace
sans-serif serif monospace sans-serif
GulimChe false
DotumChe false
BatangChe false
GungsuhChe false
Bitstream Vera Sans 7.5 false
Bitstream Vera Serif 7.5 false
Bitstream Vera Sans Mono 7.5 false
~/.fonts.conf
local.conf
Times Times New Roman Helvetica Verdana Arial Verdana Courier Courier New
true Helvetica Arial
true Times Times New Roman
serif Bitstream Vera Serif Times New Roman Nimbus Roman No9 L Luxi Serif Times Simsun Mingliu Kochi Mincho AR PL SungtiL GB AR PL Mingti2L Big5 Baekmuk Batang sans-serif Bitstream Vera Sans Verdana Nimbus Sans L Luxi Sans Tahoma Simsun Mingliu Arial Helvetica Kochi Gothic AR PL KaitiM GB AR PL KaitiM Big5 Baekmuk Dotum monospace Bitstream Vera Sans Mono Andale Mono Courier New Luxi Mono Nimbus Mono L SimSun NSimSun PMingLiu Kochi Gothic AR PL KaitiM GB Baekmuk Dotum
roman
roman
matrix 1 0.2 0 1
oblique
medium medium spacing proportional demibold bold
16 8 f 16 8
f
0x0020 0x00a0 0x00ad 0x115f 0x1160 0x1680 0x2000 0x2001 0x2002 0x2003 0x2004 0x2005 0x2006 0x2007 0x2008 0x2009 0x200a 0x200b 0x200c 0x200d 0x200e 0x200f 0x2028 0x2029 0x202a 0x202b 0x202c 0x202d 0x202e 0x202f 0x205f 0x2060 0x2061 0x2062 0x2063 0x206A 0x206B 0x206C 0x206D 0x206E 0x206F 0x3000 0x3164 0xfeff 0xffa0 0xfff9 0xfffa 0xfffb
30
9.安装fcitx,并在GNOME创建启动条目使fcitx开机启动:
cat > ~/.gnomerc << EOF
fcitx &
重启X
10.修改gnome的字体为tahoma,汉化GNOME系统
桌面首选项-->字体
11.修改gtk的配置文件,汉化gtk1,gtk2的应用程序
/etc/gtk-2.0/gtkrc:
#英文用tahoma显示,中文用simsun显示
引用:style "user-font"
{
font_name="Tahoma,Simsun 9"
}
widget_class "*" style "default"
/etc/gtk/gtkrc.zh_CN:
style "gtk-default-zh-cn" {
fontset = "-adobe-helvetica-medium-r-normal--14-*-*-*-*-*-iso8859-1,\
-dynalab-simsun-medium-r-normal--14-*-*-*-*-*-gbk-0,fixed"
}
class "GtkWidget" style "gtk-default-zh-cn"
心得:
1. Sans-serif字体集优先级别最高
2. fcitx的字体显示使用与xft最高优先级别的字体集
3. 为了有最好的网页浏览显示,请安装firefox
4. 由于调整好了fontconfig,于是以后系统所有gtk以及依赖xft的程序如firefox都可以使用自动使用tahoma显示英文,simsun显示中文了,只要把这些程序的中英文都选上tahoma即可