LinuxSir.cn,穿越时空的Linuxsir!

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

[tip] LE2005中文附加包设置脚本

[复制链接]
发表于 2005-4-17 10:16:37 | 显示全部楼层 |阅读模式
据先前dns的帖子称,LE2005的libxft已经添加了粗体的代码,但fontconfig尚未添加相应的补丁。为了解决这个问题和其它一些问题,我写了这个脚本。

使用方法:
  1. bunzip2 LE2005-all-in-one.sh.bz2
  2. chmod 0755 LE2005-all-in-one.sh
  3. sudo ./LE2005-all-in-one.sh
复制代码


这个脚本的工作原理是这样的:
  • 将系统原来的fc-cache命令用alias转成我的脚本。这样对系统的影响是最小的,而且可以适应更多通用的情况。
  • 在我的脚本(/usr/bin/fc-cache-enableboldstyle)中,为指定目录中的字体通过修改fonts.cache-1添加粗体样式。
  • 此脚本会自动设置amarok、G_FILENAME_ENCODING和GST_ID3_TAG_ENCODING,将其设置为GB18030。
  • 此安装脚本只需执行一次,也不影响以后的任何使用习惯。所以推荐在刚刚装好后的clean system中立刻执行。当然,由于添加了检测代码,多次执行也不会造成多余的输出。


脚本本身可识别的目录只有系统默认的/usr/share/fonts/ttf/chinese。所以,如果你想添加新的字体,比如SimSun,有两种方法:
  • 将其复制到/usr/share/fonts/ttf/chinese目录
  • 在/usr/bin/fc-cache-enableboldstyle文件中添加你的目录


如有任何问题,欢迎报告。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
发表于 2005-4-17 22:56:21 | 显示全部楼层
就是它!就是它!就是它!
回复 支持 反对

使用道具 举报

发表于 2005-4-17 23:20:16 | 显示全部楼层
it doesn't work here i am afraid.
how to make it work?

请等待我confirm

似乎添加条目,修改条目的结果是
“RegulaBold”而不是"Bold"
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-17 23:23:38 | 显示全部楼层
哪个部分不行呢?粗体么?你可能需要注销才能看到效果。
回复 支持 反对

使用道具 举报

发表于 2005-4-18 14:39:57 | 显示全部楼层
fundawang你的那个脚本可能真的有问题啊
我也安装了,而且我的目录中有英文字体也有中文字体,你的脚本生成的结果是不一样的,英文的全是Bold,而中文的全是regular。
然后我把所有的regular改成bold后中文就有了粗体了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-18 15:05:00 | 显示全部楼层
把这个命令的结果贴出来
  1. ls /usr/share/fonts/ttf/chinese
  2. /usr/bin/fc-cache -f /usr/share/fonts/ttf/chinese
  3. cat /usr/share/fonts/ttf/chinese/fonts.cache-1
  4. /usr/bin/fc-cache-enableboldstyle
  5. cat /usr/share/fonts/ttf/chinese/fonts.cache-1
复制代码
回复 支持 反对

使用道具 举报

发表于 2005-4-18 16:14:51 | 显示全部楼层
这是结果
不过要去掉.txt
没有办法,因为.cache-1不是有效的后缀阿

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2005-4-18 16:53:25 | 显示全部楼层
不过,我发现好像kde自己生成的那些pdf(打印成pdf)里面无论什么字体都没有粗体,斜体
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-18 17:22:30 | 显示全部楼层
Post by qingkong
这是结果
不过要去掉.txt
没有办法,因为.cache-1不是有效的后缀阿

我要的是修改后的结果,你这个是修改前的。而且你的系统很不干净,为什么要在chinese目录中放英文字体?

有些中文字体没有生成粗体,是因为它们的style写得不规范。因为这个脚本在NewSung和SimSun试过,没有问题的。仔细看我的脚本,style=Regular才是标准的写法,你的很多字体都写的是style=regular。你试试改改/usr/bin/fc-cache-enableboldstyle这个文件,在style=Regular后面加上/i,也就是
  1. s/style=Regular/style=Bold/[color=red]i[/color]
复制代码
回复 支持 反对

使用道具 举报

发表于 2005-4-18 19:34:29 | 显示全部楼层
Post by fundawang
我要的是修改后的结果,你这个是修改前的。而且你的系统很不干净,为什么要在chinese目录中放英文字体?

有些中文字体没有生成粗体,是因为它们的style写得不规范。因为这个脚本在NewSung和SimSun试过,没有问题的。仔细看我的脚本,style=Regular才是标准的写法,你的很多字体都写的是style=regular。你试试改改/usr/bin/fc-cache-enableboldstyle这个文件,在style=Regular后面加上/i,也就是
  1. s/style=Regular/style=Bold/[color=red]i[/color]
复制代码

我为什么不能在那些目录放置我想放置的字体呢?大家都是一样的字体,当然也可以在一起啊,我从rh7.2的年代就这么干了阿
而且,我使用firefly的补丁,没有问题阿。甚至在mdv2005下面使用ml的fontconfig也没有问题啊。不用再用其他的补丁,他们的粗体都正常。(当然你不建议这个用法,但对于我来说没有什么问题,比竟,我遇到的最不常见的字体是big5)
我没有加/i,只是把他们都替换成了bold,大家都显示正常了。而没有替换以前,汉字就是没有办法使用粗体阿

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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