evince可以读大部分中文PDF文档的。升级之后,发现无法阅读china-pub的PDF电子书,仅显示文档中的英文和图片内容,中文部分空白。按照网上的方法安装了poppler-data以及xpdf-chinese-simplified后仍然无法正常显示,中文显示为方块。

于是联想到应该是字体设置问题。搜索后发现和flash的中文问题如出一辙,fonts配置文件中sans-serif部分将英文字体设置在中文字体上面,flash10会取优先级最高的英文字体,而又不会像其他linux程序那样取候补的中文字体,导致出现中文方块口口问题。Flash Player 10.1 此问题已经修复。evince还存在此问题,于是得到解决办法。

sudo gedit /etc/fonts/conf.d/69-language-selector-zh-cn.conf

<fontconfig>
<match target=”pattern”>
<test qual=”any” name=”family”>
<string>serif</string>
</test>
<edit name=”family” mode=”prepend” binding=”strong”>
<string>DejaVu Serif</string>
<string>AR PL UMing CN</string>
<string>AR PL UKai CN</string>
<string>AR PL ZenKai Uni</string>
<string>AR PL ShanHeiSun Uni</string>
<string>Bitstream Vera Serif</string>
<string>WenQuanYi Bitmap Song</string>
</edit>
</match>
<match target=”pattern”>
<test qual=”any” name=”family”>
<string>sans-serif</string>
</test>
<edit name=”family” mode=”prepend” binding=”strong”>
<string>WenQuanYi Bitmap Song</string>
<string>AR PL UMing CN</string>
<string>AR PL UKai CN</string>
<string>AR PL ZenKai Uni</string>
<string>WenQuanYi Zen Hei</string>
<string>Bitstream Vera Sans</string>
<string>AR PL ShanHeiSun Uni</string>
<string>DejaVu Sans</string>
</edit>
</match>
<match target=”pattern”>
<test qual=”any” name=”family”>
<string>monospace</string>
</test>
<edit name=”family” mode=”prepend” binding=”strong”>
<string>DejaVu Sans Mono</string>
<string>Bitstream Vera Sans Mono</string>
<string>WenQuanYi Bitmap Song</string>
<string>AR PL UMing CN</string>
<string>AR PL UKai CN</string>
<string>AR PL ZenKai Uni</string>
<string>WenQuanYi Zen Hei</string>
<string>AR PL ShanHeiSun Uni</string>
</edit>
</match>
</fontconfig>

注意蓝色修改部分,即将第一个sans-serif字体改为中文字体。