openSUSE flash中文显示问题求解
2010-06-12 21:49:03 来源:WEB开发网Linux的Flash里的中文字经常会显示不出来,或显示成广块。网上有一些简单解决办法,即删除/etc/fonts/conf.d/49-sansserif.conf文件。这个文件仅是一个符号链接而已,所以不必备份,直接删除即可。这样操作后,大部分flash确实可以显示中文了,比如开心网的菜地,Google的音乐播放器等。但仔细看就会发现,有少里中文仍然显示不出来,比如* *堂flash游戏里,而且flash里的中文被显示成楷体。这是怎么回事呢?
在* *堂Flash游戏里部分中文字无法显示
经过搜索,发现adinas的博客http://my.donews.com/adinas/2006/12/...mjusznhrgokhw/ 里写出了原因,Flash插件里把中文字体写死了,搜索中文的顺序是:
- AR PL KaitiM GB
- AR PL SungtiL GB
- AR PL KaitiM Big5
- AR PL Mingti2L Big5
也就是说,Flash遇到中文时优先使用AR PL KaitiM GB(文鼎楷体 简体字),如果没找到该字体则使用AR PL SungtiL GB(文鼎宋体 简体字),以此类推。所以只要安装好这些字体,中文就能正常显示了。这些字体对应的OpenSuse包名是:
代码:
- AR PL KaitiM GB (ttf-arphic-gkai00mp)
- AR PL SungtiL GB (ttf-arphic-gbsn00lp)
- AR PL KaitiM Big5 (ttf-arphic-bkai00mp)
- R 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,并添加一个替换字体的配置:
代码:
- <match target="pattern">
- <test qual="all" name="family" compare="eq">
- <string>AR PL KaitiM GB</string>
- </test>
- <edit name="family" mode="assign">
- <string>AR PL Zenkai Uni</string>
- </edit>
</match>现在再进flash看看,效果要好些,能显示更多的中文字。
上面的图片还是有部分无法正常显示,不清楚到底怎么回事了。也许把文鼎楷体替换成windows的simsun可能会更好些,但我电脑上暂时没有这些字体,不好实验。希望有高手能对这个问题解释一下。
- ››flash文件的压缩方法(swf文件压缩瘦身)
- ››Flash鼠绘教程:临摹徐悲鸿的骏马图
- ››Flash实例:AS3制作茶杯震动动画
- ››Flash AS 3.0实例教程:Main类打造发散效果
- ››Flash cs3仿真艺术设计3.6:运用遮罩打造焦点效果...
- ››Flash cs3仿真艺术设计4.1:阴影的基本运用
- ››Flash CS4教程:3d工具实例和骨骼工具
- ››flash加载外部文本文件的3种方法
- ››flash在有限的页面内制作大的地图
- ››Flash教程:AS代码制作计时器方法
- ››Flash AS教程:propertydata问题解决
- ››FlashFXP v4.0.0 Build 1486 RC2 [烈火汉化]
更多精彩
赞助商链接