LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: fundawang

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

[复制链接]
发表于 2005-4-21 20:06:01 | 显示全部楼层
老大,解决办法搞好了没
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-21 22:24:59 | 显示全部楼层
200本身应该是没什么编码问题的,况且我sed进行替换跟直接用vi修改应该是没区别的 :/

关键是在fonts.cache-1的修改时间上。我写脚本的时候发现,用 >> 直接加到fonts.cache-1后面的时候,这个文件的修改时间不会变化。这样fontconfig也不会读到这个文件的变化,所以后来又touch了一下。
回复 支持 反对

使用道具 举报

发表于 2005-4-21 23:53:00 | 显示全部楼层
我是这样改的:
"simsun.ttf" 0 "SimSun,宋体:familylang=en,zh-cn:style=Regular ...weight=80...以下略
"simsun.ttf" 1 "NSimSun,新宋体:familylang=en,zh-cn:style=Regular ...weight=80...以下略
"simsunbd.ttf" 0 "SimSun,宋体:familylang=en,zh-cn:style=Bold ...weight=200...以下略
"simsunbd.ttf" 1 "NSimSun,新宋体:familylang=en,zh-cn:style=Bold ...weight=200...以下略

把simsun.ttf做了一个符号链接 -> simsunbd.ttf

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

发表于 2005-4-22 00:06:31 | 显示全部楼层
Post by longlongago
我是这样改的:
"simsun.ttf" 0 "SimSun,宋体:familylang=en,zh-cn:style=Regular ...weight=80...以下略
"simsun.ttf" 1 "NSimSun,新宋体:familylang=en,zh-cn:style=Regular ...weight=80...以下略
"simsunbd.ttf" 0 "SimSun,宋体:familylang=en,zh-cn:style=Bold ...weight=200...以下略
"simsunbd.ttf" 1 "NSimSun,新宋体:familylang=en,zh-cn:style=Bold ...weight=200...以下略

把simsun.ttf做了一个符号链接 -> simsunbd.ttf

不用那么麻烦啊,你直接把Regular改成Bold,80改成200就可以了啊
fundawang兄的补丁还是不错啊,就是在最后一步上有时有些小问题.
回复 支持 反对

使用道具 举报

发表于 2005-4-22 00:26:06 | 显示全部楼层
如果照fundawang的脚本改的话,字体序号重复是否有影响呢?例如simsun.ttf同时对应SimSun和NSimSun两种字体,其序号分别为0和1,如果再加上粗体的两行的话,序号就得编到2和3了吧?

  1. #!/bin/sh
  2. #
  3. # enableboldstyle:       Enable Bold Style for Chinese Fonts
  4. #
  5. dirtoscan="/opt/ttfonts /usr/share/fonts/ttf/chinese"
  6. if [ `id -u` -ne 0 ]
  7. then
  8.         exit 0
  9. fi

  10. if [ `basename $0` == "fc-cache" ];then
  11.   /usr/bin/fc-cache $@
  12. fi

  13. for dir in $dirtoscan;do
  14.      cd ${dir}

  15.      for file in bold_*.ttf;do
  16.         if [ -L ${file} ];then
  17.            rm -f ${file}
  18.         fi
  19.      done

  20.      /usr/bin/fc-cache ${dir}

  21.      for file in *.ttf;do
  22.        if [ `grep "${file}" fonts.cache-1 | grep "style=[rR]egular" | grep 'weight=80' | grep '|zh-cn'  |wc -l` -ne 0 ];then
  23.           ln -sf ${file} bold_${file}
  24.           grep "${file}" fonts.cache-1 | grep "style=[rR]egular" | grep 'weight=80' | grep '|zh-cn'  | sed -e "s/${file}/bold_${file}/i" -e "s/style=[rR]egular/style=Bold/i" -e "s/weight=80/weight=200/" >> fonts.cache-1
  25.        fi
  26.      done

  27.      touch fonts.cache-1
  28. done
  29. exit 0
复制代码
回复 支持 反对

使用道具 举报

发表于 2005-4-22 10:03:06 | 显示全部楼层
终于有粗体了,哈哈
还有个方块字:beat,真想现画一个

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

发表于 2005-4-22 13:35:59 | 显示全部楼层
今天突然发了点神经,想也许fundawang的脚本有时不管用的原因是不是mdv自己造成的阿?而fundawang脚本本来就是没有问题的,只是mdv不配和?
mdv自己装好以后会在fc-cache生成一行有关新宋的配置,那么是不是原来mdv就想通过这种方法来实现粗体?但是由于mdv自己其他软件包的问题使脚本出粗,粗体没有了可能?因为正常的字体是不用什么特别说明就可以正常显示的

我是想到我使用fundawang的补丁生成了fc-cache后再进行了简单修改就有了粗体才有了这种想法
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-22 17:29:59 | 显示全部楼层
我只能保证,我的脚本适用于纯粹的LE2005。我无法保证,你对系统进行了各种稀奇古怪的修改之后,脚本依旧能够生效。

字体序号是一种字体在TTC中的序号,没有必要去碰它。
回复 支持 反对

使用道具 举报

发表于 2005-4-24 08:42:58 | 显示全部楼层
系统LE2005。又不行了?新装了一次,又没有粗体了,就amaroK等的字体编码改了

我找这个帖子重新做一了次就好了
http://www.linuxsir.cn/bbs/showthread.php?t=185703
利用kwrite打开/usr/share/fonts/ttf/chinese/fonts.cache-1文件,点击“查看”按钮打掉“动态文字换行”或直接按F10键,文件内容此时显示为一行,点击“查看”按钮“设置编码”为utf8,选择这一行文字复制粘贴在另一行,将该行中style= Regular改为style=Bold(此处修改可能并非必需),weight=80改为weight=200(注意,将80改为200时必须将80两个数字全部删除,否则由于编码不同会不起作用),保存,重启X,中文粗体显示。

fundawang的那个脚本关于粗题的应该就是处理的这个步骤吧,奇怪我之前有2次用补丁成功,2次又不成功
回复 支持 反对

使用道具 举报

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

本版积分规则

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