openSUSE flash中文顯示問題求解
Linux的Flash里的中文字經(jīng)常會(huì)顯示不出來(lái),或顯示成廣塊。網(wǎng)上有一些簡(jiǎn)單解決辦法,即刪除/etc/fonts/conf.d/49-sansserif.conf文件。這個(gè)文件僅是一個(gè)符號(hào)鏈接而已,所以不必備份,直接刪除即可。這樣操作后,大部分flash確實(shí)可以顯示中文了,比如開心網(wǎng)的菜地,Google的音樂播放器等。但仔細(xì)看就會(huì)發(fā)現(xiàn),有少里中文仍然顯示不出來(lái),比如* *堂flash游戲里,而且flash里的中文被顯示成楷體。這是怎么回事呢?
在* *堂Flash游戲里部分中文字無(wú)法顯示
經(jīng)過搜索,發(fā)現(xiàn)adinas的博客http://my.donews.com/adinas/2006/12/...mjusznhrgokhw/ 里寫出了原因,F(xiàn)lash插件里把中文字體寫死了,搜索中文的順序是:
- AR PL KaitiM GB
- AR PL SungtiL GB
- AR PL KaitiM Big5
- AR PL Mingti2L Big5
也就是說(shuō),F(xiàn)lash遇到中文時(shí)優(yōu)先使用AR PL KaitiM GB(文鼎楷體 簡(jiǎn)體字),如果沒找到該字體則使用AR PL SungtiL GB(文鼎宋體 簡(jiǎn)體字),以此類推。所以只要安裝好這些字體,中文就能正常顯示了。這些字體對(duì)應(yīng)的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)
現(xiàn)在知道這個(gè)原理了,為什么安裝了字體后flash里仍有部分中文不能正常顯示呢?我猜測(cè)可能是字體有點(diǎn)問題(僅是猜測(cè)而已,我對(duì)字體不太懂)。于是我嘗試把文鼎楷體替換成文鼎PL中楷Uni(字體名:AR PL Zenkai Uni,包名:ttf-arphic-ukai)。于是恢復(fù)/etc/fonts/conf.d/49-sansserif.conf文件,把最后的sans-serif替換成AR PL Zenkai Uni,并添加一個(gè)替換字體的配置:
代碼:
- <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>現(xiàn)在再進(jìn)flash看看,效果要好些,能顯示更多的中文字。
上面的圖片還是有部分無(wú)法正常顯示,不清楚到底怎么回事了。也許把文鼎楷體替換成windows的simsun可能會(huì)更好些,但我電腦上暫時(shí)沒有這些字體,不好實(shí)驗(yàn)。希望有高手能對(duì)這個(gè)問題解釋一下。
【編輯推薦】