WEB开发网
开发学院操作系统OpenSUSE openSUSE flash中文显示问题求解 阅读

openSUSE flash中文显示问题求解

 2010-06-12 21:49:03 来源:WEB开发网   
核心提示:Linux的Flash里的中文字经常会显示不出来,或显示成广块,openSUSE flash中文显示问题求解,网上有一些简单解决办法,即删除/etc/fonts/conf.d/49-sansserif.conf文件,但我电脑上暂时没有这些字体,不好实验,这个文件仅是一个符号链接而已,所以不必备份

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

在* *堂Flash游戏里部分中文字无法显示
经过搜索,发现adinas的博客http://my.donews.com/adinas/2006/12/...mjusznhrgokhw/ 里写出了原因,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. AR PL KaitiM GB (ttf-arphic-gkai00mp)  
  2. AR PL SungtiL GB (ttf-arphic-gbsn00lp)  
  3. AR PL KaitiM Big5 (ttf-arphic-bkai00mp)  
  4. 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,并添加一个替换字体的配置:
代码:
 

  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> 

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

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

openSUSE flash

Tags:openSUSE flash

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接