|
|
折腾了3天,终于有个比较令人满意的结果,现在把我的心得整理了一下,与大家分享。
感谢那些帮助过我的朋友们,看了不少前辈们写下的帖子,也向他们表示感谢!
我使用的环境是Gentoo + xorg + fvwm (emegre的最新版)
关于xorg和fvwm的安装就不多说了!
1) 设置xorg.conf
确认使用了:
load "type1"
load "truefree" //这个很重要
load "freetype"
一定要注释掉
#load "xtt"
应为这个设置与truefree冲突
2) 拷贝字体
首先把你使用的字体拷贝到一个特定的目录(我的是/usr/local/share/fonts)
我使用的字体是simsun(直接从Windows得到)和Vera Sans YuanTi(从linux公社下载)
a)配置 Core 字体
(主要是对应-misc-SimSun-medium-r-normal--0-0-0-0-c-0-gb2312.1980-0这样的设定)
强烈推荐运行 ttmkfdir 生成字体描述文件,而不要使用mkfontdir和mkfontscale,应为它
生成的字体描述文件中常常找不出gbk的encoding。
执行:
ttmkfdir /usr/local/share/fonts/ -o /usr/local/share/fonts/fonts.dir
cp /usr/local/share/fonts/fonts.dir /usr/local/share/fonts/fonts.scale
也许你不明白-*-SimSun-medium-r-normal--0-0-0-0-c-0-gb2312.1980-0是怎么定的,显示效果怎样?
其实要弄明白这个问题也很简单,只需要在XWindows下运行
# xfontsel
会出来一个图形化的设定界面,很简单的。
b)配置 Xft 字体
(主要是对应Font "xft:Tahoma:Medium:Size=12:encoding=iso8859-1"这样的设定)
这步就简单了,fc-cache -fv 就会自动把字体加入到了列表
判断安装的字体是否能被使用只需运行
# fc-list
只要列出来的字体都可以在xft中使用
3)设置/etc/fonts/local.conf
我的设置如下:
4)设置中文环境
编辑 /etc/env.d/100i18n 如以下内容(如没有该文件就创建它):
代码:
- # /etc/env.d/100i18n
- CONSOLE_NOT_LOCALIZED=yes
- ENC=gb
- LANGUAGE=en_US.UTF-8:en_US:en:zh_CN:zh_CN.GBK:zh_CN.UTF8
- LANG=zh_CN
- LC_CTYPE=zh_CN
- LC_NUMERIC=zh_CN
- LC_TIME=zh_CN
- LC_COLLATE=zh_CN
- LC_MONETARY=zh_CN
- LC_MESSAGES=zh_CN
- LC_PAPER=zh_CN
- LC_NAME=zh_CN
- LC_ADDRESS=zh_CN
- LC_TELEPHONE=zh_CN
- LC_MEASUREMENT=zh_CN
- LC_IDENTIFICATION=zh_CN
- LC_ALL=zh_CN
复制代码
我是只喜欢英文界面+中文输入支持,如果你要完全中文化只需要:
代码:
LANG=zh_CN.gbk
LC_ALL=zh_CN.gbk
两行就可以了。
然后执行代码:
# env-update
# source /etc/profile
使设置生效(如果你按照完整设置,那么有些程序,如gvim,xchm,就会直接变成中文版)
简单介绍一下LC_ALL、LANG、LC_CTYPE
中文表示变量, 这个只需要设置LANG或LC_ALL或LC_CTYPE中之一就可以,
其中LC_ALL范围最大, 表示全部使用这个local, LANG次之, 只表示使用语言,
LC_ CTYPE影响范围最小, 只定义使用的字符种类
如果你的LANG或是LC_ALL或LC_CTYPE不是某个中文的, 那设置下面内容
(只需要在LANG, LC_CTYPE, LC_ALL中选择一项就可以,UTF8可以修改成其它的中文, 如GB2312等,)
export LC_ALL=zh_CN.UTF-8 #设置全部使用中文, 或
export LANG=zh_CN.UTF-8 # 设置使用中文语言, 或
export LC_CTYPE=zh_CN.UTF8 #设置只是想使用中文输入法, 其它语言还是英文的
#上面只需要设置一个就可以
5)基于gtk1的app
你的gtk1程序已经可以使用字体了,但是在gtk1程序里当然还要指定你究竟要使用什么字体。对gtk1程序使用什么字体有一个全局配置文件/etc/gtk/gtkrc.zh_CN
把我的配置文件贴一下
- style "gtk-default-zh-cn" {
- fontset = "-*-bitstream vera sans-medium-r-normal-*-*-120-*-*-p-*-microsoft-cp1252,\
- -*-simsun-medium-r-normal-*-12-*-*-*-*-*-gbk-0"
- }
- class "GtkWidget" style "gtk-default-zh-cn"
复制代码
6)基于gtk2的app
gtk2程序的全局配置文件是/etc/gtk-2.0/gtkrc
也把我的内容贴上来
- style "user-font" {
- font_name="Vera Sans YuanTi 9"
- }
- class "*" style "user-font"
复制代码
7)fvwm设定
a)使用core字体
Font "-*-Vera Sans YuanYi Mono-medium-r-normal-*-16-*-*-*-*-*-iso8859-*,-*-simsun-medium-r-normal-*-18-*-*-*-*-*-*-*"
需要注意的有2点:
1)一定要使用(")引号,尤其是当你使用和我一样的字体-字体的名字中间含有空格,否则系统将无法加载你定义的字体
2)大家可能也已经注意到,我使用了2个字体,一个对应“英文”,第二个对应“中文”,我在这个地方吃过大亏,总以为定义一个包含有中文/英文的字体就可以搞定一切,实际上还是需要一个中文/一个英文
b)使用xft
Style * Font "Shadow=1 1:StringEncoding=gbk-0:xft:Vera Sans YuanTi Mono:Medium:pixelsize=12:minspace=True:encoding=iso10646-1"
需要注意的是StringEncoding=gbk-0和encoding=iso10646-1一个也不能少,否则中文将会变成乱码,至于这个码值具体设置多少,则要依照你机器上安装的字体而定
8)中文输入法
在~/.xinit中设定
- export XMODIFIERS="@im=scim"
- export XIM=fcitx
- scim -d &
- fvwn2
复制代码
**************************
终于写完了,就这么多了,难免有错误的地方,而且大家使用的环境多少有些不同,还请大家批判的接受! |
|