Dapper下英文环境中中文字体的方便设置
今天帮一个同学在一台Acer的本本上装好了Dapper Flight 7,由于遇到了一些困难,而且还把一个一直不明白的中文字体问题搞清楚了,所以收获不小。
Acer的本本型号为Aspire 5502,是在国内买的,配置和国际市场销售的机型略有不同,具体配置见官方网站说明
由于本本是1280x800的宽屏机,安装过程问题不大,就是要用install noapic nolapic来开始,否则引导不了安装程序。主要的问题是,在安装好后第一次进系统时,听到了提示输入用户名及密码的“咚咚咚”的声音,但屏幕是黑的,尽管这样,如果这时继续输入用户名回车、再输入密码回车的话,仍然能神奇的听到系统启动的声音。看来问题就是出在显示上。本来以为是因为屏幕特殊的原因,后来Google了一下,发现还是显卡驱动的问题。
于是切的命令行,修改sources.list,更新系统,并按以下步骤安装了ATI的驱动:
sudo apt-get install linux-restricted-modules-$(uname -r)
sudo apt-get install xorg-driver-fglrx
sudo aticonfig --initial
sudo aticonfig --overlay-type=xv
重启X,终于看到了可爱的图形界面正常。
Dapper给我最深的印象之一,就是对中文支持的大幅度改善。如果你想要漂亮的中文字体以及中文输入法,只要简单的在System>Administration>Language Support里把默认语言选成中文即可,系统会调用Synaptic安装一些关于输入法的软件包,并把字体自动设置好。当然,如果你安装时就用的是中文,可能安装好后中文字体和中文输入法就已经装好了──不过这个我没亲自试过,等待证实。
关键是我一直以来使用的是英文界面,对于非中文界面下的中文字体,在Dapper做出上述改进后,我一直觉得应该有一种像系统自己那样简单的切换的方法来对其进行设置。今天在同学的机器上研究了一下(因为我自己的还是一直用老办法设置的,很长时间也没去理它),终于找到了一个十分干净方便的设置中文字体的办法。
当使用非中文语言做为默认语言时,/etc/fonts/下会有一个指向/usr/share/lang uage-selector/fontconfig/none文件的名字叫做“language-selector.conf”的链接,而当使用中文为默认语言时,这个链接的指向为/usr/share/language-selector/fontconfig/zh_CN。而查看这个zh_CN文件的内容,会发现其中写的就是中文字体的设置。于是只要在默认语言是英语时简单的将language-selector.conf重新指向这个文件,重启X后,所有的中文便会按该文件的设置进行显示。因此只需要写个自定义的字体设置文件并让language-selector.conf链接到它,你就可以轻松并且干净的进行字体自定义了。
举例说明:
-
建立自定义字体文件(如果你不想自定义而是使用系统提供的zh_CN,直接到第四步):
sudo vi /usr/share/language-selector/fontconfig/zh_CN_custom -
输入内容如下:
<fontconfig> <alias> <family>serif</family> <prefer> <family>Bitstream Vera Serif</family> <family>DejaVu Serif</family> <family>Hei</family> <family>LiHei Pro</family> </prefer> </alias> <alias> <family>sans-serif</family> <prefer> <family>Bitstream Vera Sans</family> <family>DejaVu Sans</family> <family>Hei</family> <family>LiHei Pro</family> </prefer> </alias> <alias> <family>monospace</family> <prefer> <family>Bitstream Vera Sans Mono</family> <family>DejaVu Sans Mono</family> <family>Hei</family> <family>LiHei Pro</family> </prefer> </alias> <match target="font"> <test name="family"><string>Hei</string></test> <edit name="autohint" mode="assign"><bool>true</bool></edit> <edit name="hinting" mode="assign"><bool>false</bool></edit> <edit name="antialias" mode="assign"><bool>true</bool></edit> </match> </fontconfig> -
修改Symbol Link(注意,如果你没有建立自定义字体文件,此步直接将链接修改到zh_CN即可。)
sudo unlink /etc/fonts/language-selector.conf sudo ln -s /usr/share/language-selector/fontconfig/zh_CN_custom ./language-selector.conf -
重启X。
不过,在输入法问题上,在中文为默认语言时系统会自动启动scim看守进程(Daemon),而换成英文后就失效了,不知道除了自己写/etc/X/Xsession.d/95xinput这样的启动脚本外,还有没有什么更方便简洁的办法了。

0 条评论