LinuxSir.cn,穿越时空的Linuxsir!

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

OpenSuse Linux下Flash的中文显示问题This is a featured page

[复制链接]
发表于 2009-10-29 14:48:19 | 显示全部楼层 |阅读模式
Linux的Flash里的中文字经常会显示不出来,或显示成广块。网上有一些简单解决办法,即删除/etc/fonts/conf.d/49-sansserif.conf文件。这个文件仅是一个符号链接而已,所以不必备份,直接删除即可。这样操作后,大部分flash确实可以显示中文了,比如开心网的菜地,Google的音乐播放器等。但仔细看就会发现,有少里中文仍然显示不出来,比如* *堂flash游戏里,而且flash里的中文被显示成楷体。这是怎么回事呢?
在* *堂Flash游戏里部分中文字无法显示

经过搜索,发现adinas的博客(http://my.donews.com/adinas/2006 ... kvalkmjusznhrgokhw/ )里写出了原因,Flash插件里把中文字体写死了,搜索中文的顺序是:

   1. AR PL KaitiM GB
   2. AR PL SungtiL GB
   3. AR PL KaitiM Big5
   4. AR PL Mingti2L Big5

也就是说,Flash遇到中文时优先使用AR PL KaitiM GB(文鼎楷体 简体字),如果没找到该字体则使用AR PL SungtiL GB(文鼎宋体 简体字),以此类推。所以只要安装好这些字体,中文就能正常显示了。这些字体对应的OpenSuse包名是:

  1.    1. AR PL KaitiM GB (ttf-arphic-gkai00mp)
  2.    2. AR PL SungtiL GB (ttf-arphic-gbsn00lp)
  3.    3. AR PL KaitiM Big5 (ttf-arphic-bkai00mp)
  4.    4. AR PL Mingti2L Big5 (ttf-arphic-bsmi00lp)
复制代码

现在知道这个原理了,为什么安装了字体后flash里仍有部分中文不能正常显示呢?我猜测可能是字体有点问题(仅是猜测而已,我对字体不太懂)。于是我尝试把文鼎楷体替换成文鼎PL中楷Uni(字体名:AR PL Zenkai Uni,包名:ttf-arphic-ukai)。于是恢复/etc/fonts/conf.d/49-sansserif.conf文件,把最后的sans-serif替换成AR PL Zenkai Uni,并添加一个替换字体的配置:

  1.     <match target="pattern">
  2.         <test qual="all" name="family" compare="eq">
  3.             <string>AR PL KaitiM GB</string>
  4.         </test>
  5.         <edit name="family" mode="assign">
  6.             <string>AR PL Zenkai Uni</string>
  7.         </edit>
  8.     </match>
复制代码

现在再进flash看看,效果要好些,能显示更多的中文字。

上面的图片还是有部分无法正常显示,不清楚到底怎么回事了。也许把文鼎楷体替换成windows的simsun可能会更好些,但我电脑上暂时没有这些字体,不好实验。希望有高手能对这个问题解释一下。

本帖子中包含更多资源

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

x
发表于 2009-10-29 15:41:37 | 显示全部楼层
没研究阿,碰到这些情况一般就不管了,反正不怎么玩flash
回复 支持 反对

使用道具 举报

发表于 2009-11-4 12:11:34 | 显示全部楼层
装个simsun或者雅黑吧。那个估计是默认字体缺字造成的吧?
回复 支持 反对

使用道具 举报

发表于 2009-11-4 12:22:59 | 显示全部楼层
楼主说的情况我也遇到了,感谢楼主分享经验
回复 支持 反对

使用道具 举报

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

本版积分规则

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