当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 3 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 解决升级后 ttf-opensymbol :failed to write cache 的问题!
帖子发表于 : 2007-07-23 3:11 

注册: 2007-03-06 22:58
帖子: 110
送出感谢: 0 次
接收感谢: 1
近来系统升级,发现ttf-opensymbol在设置时有问题,导致openoffice等相关包不能升级,log如下:
引用:
Updating fontconfig cache...
/usr/share/fonts: failed to write cache
/usr/share/fonts/X11: failed to write cache
/usr/share/fonts/X11/100dpi: failed to write cache
/usr/share/fonts/X11/75dpi: failed to write cache
/usr/share/fonts/X11/Type1: failed to write cache
/usr/share/fonts/X11/encodings: failed to write cache
/usr/share/fonts/X11/encodings/large: failed to write cache
/usr/share/fonts/X11/misc: failed to write cache
/usr/share/fonts/X11/util: failed to write cache
/usr/share/fonts/truetype: failed to write cache
/usr/share/fonts/truetype/arphic: failed to write cache
/usr/share/fonts/truetype/baekmuk: failed to write cache
/usr/share/fonts/truetype/freefont: failed to write cache
/usr/share/fonts/truetype/kochi: failed to write cache
/usr/share/fonts/truetype/thai: failed to write cache
/usr/share/fonts/truetype/ttf-arabeyes: failed to write cache
/usr/share/fonts/truetype/ttf-bengali-fonts: failed to write cache
/usr/share/fonts/truetype/ttf-bitstream-vera: failed to write cache
/usr/share/fonts/truetype/ttf-dejavu: failed to write cache
/usr/share/fonts/truetype/ttf-devanagari-fonts: failed to write cache
/usr/share/fonts/truetype/ttf-gentium: failed to write cache
/usr/share/fonts/truetype/ttf-gujarati-fonts: failed to write cache
/usr/share/fonts/truetype/ttf-kannada-fonts: failed to write cache
/usr/share/fonts/truetype/ttf-lao: failed to write cache
/usr/share/fonts/truetype/ttf-malayalam-fonts: failed to write cache
/usr/share/fonts/truetype/ttf-mgopen: failed to write cache
/usr/share/fonts/truetype/ttf-oriya-fonts: failed to write cache
/usr/share/fonts/truetype/ttf-punjabi-fonts: failed to write cache
/usr/share/fonts/truetype/ttf-tamil-fonts: failed to write cache
/usr/share/fonts/truetype/ttf-telugu-fonts: failed to write cache
/usr/share/fonts/type1: failed to write cache
/usr/share/fonts/type1/gsfonts: failed to write cache
/usr/share/X11/fonts: failed to write cache
/usr/share/X11/fonts/100dpi: failed to write cache
/usr/share/X11/fonts/75dpi: failed to write cache
/usr/share/X11/fonts/Type1: failed to write cache
/usr/share/X11/fonts/encodings: failed to write cache
/usr/share/X11/fonts/encodings/large: failed to write cache
/usr/share/X11/fonts/misc: failed to write cache
/usr/share/X11/fonts/util: failed to write cache
/usr/local/share/fonts: failed to write cache
/var/lib/defoma/fontconfig.d: failed to write cache
/var/lib/defoma/fontconfig.d/A: failed to write cache
/var/lib/defoma/fontconfig.d/B: failed to write cache
/var/lib/defoma/fontconfig.d/C: failed to write cache
/var/lib/defoma/fontconfig.d/D: failed to write cache
/var/lib/defoma/fontconfig.d/E: failed to write cache
/var/lib/defoma/fontconfig.d/F: failed to write cache
/var/lib/defoma/fontconfig.d/G: failed to write cache
/var/lib/defoma/fontconfig.d/H: failed to write cache
/var/lib/defoma/fontconfig.d/J: failed to write cache
/var/lib/defoma/fontconfig.d/K: failed to write cache
/var/lib/defoma/fontconfig.d/L: failed to write cache
/var/lib/defoma/fontconfig.d/M: failed to write cache
/var/lib/defoma/fontconfig.d/N: failed to write cache
/var/lib/defoma/fontconfig.d/O: failed to write cache
/var/lib/defoma/fontconfig.d/P: failed to write cache
/var/lib/defoma/fontconfig.d/R: failed to write cache
/var/lib/defoma/fontconfig.d/S: failed to write cache
/var/lib/defoma/fontconfig.d/T: failed to write cache
/var/lib/defoma/fontconfig.d/U: failed to write cache
/var/lib/defoma/fontconfig.d/V: failed to write cache
/var/lib/defoma/fontconfig.d/a: failed to write cache
/var/lib/defoma/fontconfig.d/j: failed to write cache
/var/lib/defoma/fontconfig.d/m: failed to write cache
/var/lib/defoma/fontconfig.d/u: failed to write cache


研究后发现,fc-cache 在做cache 时,
1) 目录不存在,会fail;
2) 目录中没有字体,也会fail;

由于最新的ttf-opensymbol是对/usr/local/share/fonts和/var/lib/defoma/fontconfig.d作扫描,它们中一个目录不存在,一个目录中没有字体,因此,cache会失败。

因此,现在可以根据cache失败的原理,做一些patch性的动作:
1) 如果cache的目录不存在,则创建一个或link一个过去
2) 如果目录中没有字体,拷一个字体过去就OK了。

解决办法:
1) sudo ln -s /usr/share/fonts /usr/local/share/fonts
2) sudo cp tahoma.ttf /var/lib/defoma/fontconfig.d

当然,由于以前ttf-opensymbol需要对字体目录touch一次,所以touch最好还是做一下吧。


页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2007-07-23 14:09 

注册: 2007-07-17 15:04
帖子: 20
送出感谢: 0 次
接收感谢: 0 次
我按照楼主提供的解决方法做了,但是好像还是不行哟!


页首
 用户资料  
 
3 楼 
 文章标题 :
帖子发表于 : 2007-07-23 19:07 

注册: 2007-03-06 22:58
帖子: 110
送出感谢: 0 次
接收感谢: 1
要把所有字体目录touch一遍的说,让他们日期一样。不然就会fail.

touch没问题后,还出现ttf-opensymbol failed,再像这样做。

touch的贴子参见:
http://forum.ubuntu.org.cn/viewtopic.php?t=51888&highlight=


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 3 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 4 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译