LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 617|回复: 0

让linux自己选择中英文字体带来的问题

[复制链接]
发表于 2004-11-22 21:12:20 | 显示全部楼层 |阅读模式
让linux自己选择中英文字体带来的问题

我按照下面的方法增加两种字体后,效果很好,中文自动选择simsun,英文自动选择tahoma,非常漂亮.但是在修改GNOME的字体后 (/etc/gnome/gtkrc.zh_CN),再重启linux,发现GNOME所有的中文都改成了simsun,英文却还是原来很虚的样子,是哪个地方没有改到呢还是/etc/gnome/gtkrc.zh_CN文件只认simsun那句话呢?  请高手指点!



附: 为 Redhat Linux 添加新字体 (转贴)


[注]
以下过程在 Redhat 9.0 上测试通过.

准备要安装的字体, 如: simsun.ttc, tahoma.ttf... 根据发行注记里所言分别为核心 X 字体子系统和 fontconfig 字体子系统添加字体:
为核心 X 字体子系统添加字体

[注]
以下部分应该对 Redhat 9.0 之前的版本也适用, 因为 核心 X 字体子系统存在 于迄今为止的版本中.
"如果你想给你的 Red Hat Linux 9 系统添加新字体,根据使用新字体的字体子系统而定 ,你必须明确所需步骤。对于核心 X 字体子系统,你必须:
1. 创建 /usr/share/fonts/local/ 目录(如果它不存在):
mkdir /usr/share/fonts/local/"

- 这一步没问题.

"如果你必须要创建 /usr/share/fonts/local/,你就必须把它添加到 X 字体服务器的 路 径中:
chkfontpath --add /usr/share/fonts/local/"

- 如果是刚创建的 /usr/share/fonts/local/, 那么执行这一行命令会提示错误 因为系统在这个目录里找不到 fonts.dir 文件, 然后就不 add.. 不过没关系, 这一步跳过去, 在第三步之后做.
"2. 把新字体文件复制到 /usr/share/fonts/local/ 中"
- 照做.

"3. 使用以下命令来更新字体信息:
ttmkfdir -d /usr/share/fonts/local/ -o /usr/share/fonts/local/fonts.scale"

- 照做. 然后:
1) 把 fonts.scale 拷贝出来一份 fonts.dir.
2) chkfontpath --add /usr/share/fonts/local/

"4. 使用以下命令来重新启动 xfs 字体服务器:
service xfs reload"

- 这一步我没成功, 因为我发现 redhat 9 里面没有 service 这个命令. 于是 用笨办法解决: 退出 X, 再 startx.

以上这些步骤做完之后, 所有 gtk 1.2 的程序里有关字体的部分 (如 xmms 的字体设置 里) 都多出来我们要的新字体, 像 simsun, tahoma. 这时可以在程序内部直接使用了. 比如我们让歌曲列表里的中文使用 simsum, 英文使用 tahoma, 可以这样做:

1) 先在 xmms 的 Fonts 里勾上选项 "Use fontsets" - 让 xmms 支持双字节的 中文字体;
2) 在 播放清单 部分浏览字体, 选择使用 simsum: -misc-simsun-medium-r-normal-*-*-120-*-*-c-*-koi8-r (不用拷这个, 选上 simsun 它自己就出来了)

对于英文字体的要用 tahoma 就这么来, 一点小技巧:

把这段 "-misc-simsun-medium-r-normal-*-*-120-*-*-c-*-koi8-r" ^x 剪切下来, 再选字体为 tahoma, 出现这个:

-microsoft-tahoma-medium-r-normal-*-*-120-*-*-p-*-viscii1.1-1

好了, 在后面加个逗号, 把刚才剪切的那段东东 ^v 粘贴在后面成为:

-microsoft-tahoma-medium-r-normal-*-*-120-*-*-p-*-viscii1.1-1,
-misc-simsun-medium-r-normal-*-*-120-*-*-c-*-koi8-r

这么一行, 保存一下, 于是歌曲列表就会对中文使用 simsum, 英文使用 tahoma. 再把这行拷下面 Main Window 的字体里 (要勾上 "Use X font"), 这时 xmms 主窗 口里的字体 (像那条来回滚动的歌曲信息的字体) 也和歌曲列表里的一样了.

注意, 我刚才说的是程序内部, 就象 xmms 的歌曲列表一样, 而 程序本身, 即 xmms 自 己的窗口却还是又粗又大的字体, 这时需要改 gtk 的字体设置:

1) 用 root 账号: vi /etc/gtk/gtkrc.zh_CN
2) 把原来的:

fontset = "-adobe-helvetica-medium-r-normal--16-*-*-*-*-*-iso8859-1,
-*-*-medium-r-normal--16-*-*-*-*-*-gb2312.1980-0,*-r-*"

改成和我们上面用在 xmms 里的字体一样:

fontset =
"-microsoft-tahoma-medium-r-normal-*-*-120-*-*-p-*-viscii1.1-1,
-misc-simsun-medium-r-normal-*-*-120-*-*-c-*-koi8-r"

3) 保存退出, 关掉 xmms 这些程序, 再重新打开, 效果就出来了! Enjoy!


为 fontconfig 字体子系统添加字体

[注]
以下除了 "图形化地安装字体" 部分为 Rehat 9.0 独有, 其他应该在之前版本也适 用, 大家试试.

这部分简单多了, 看 redhat 9 发行注记:

"把新字体添加到 fontconfig 字体子系统比较简单明了;只需把新字体复制到 /usr/share/fonts/ 目录中即可(个体用户可以把新字体复制到 ~/.fonts/ 目录中来修 改他们的个人字体配置)

复制了新字体后,使用 fc-cache 来更新字体信息缓存:

fc-cache

(这里的 应该是 /usr/share/fonts/ 或 ~/.fonts/ 目录。)"

- 我是按这个办法把字体拷 ~/.fonts/ 下面做成功的. (不想使用 root 用户, hh) "个体用户还可以图形化地安装字体。方法是:在 Nautilus 中浏览 fonts:///,然后把 新字体文件拖放到那里。"

- 而这个办法我失败了, 无论我用普通用户还是 root 用户, 都无法把字体文件 拷贝或者 "拖放" 到 Nautilus 的 fonts:/// 文件夹里. 不知道原因, 只好放弃.

按第一种方式添加成功后, 在 gtk 2 的程序里设置字体的部分都可以自由使用新字体 比如在控制中心里把应用程序字体都改成 simsum. (另外, 我发现 10 号大小的 simsun 效果最好, 不使用单色也非常清晰, 可以考虑使用) 总的来说, 为 Redhat Linux 添加新字体并没有什么太难太神秘的东西, 我个人做完之 后 觉得并没有想像中那么难, 尤其是 gtk 1.2 程序的字体部分, 不必改别人说过的那么多
文件, 而实际只要添加完字体, 改个 /etc/gtk/gtkrc.zh_CN 就搞定了.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表