<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<!--
If the font still has no generic name, add sans-serif
-->
<match target="pattern">
<test qual="all" name="family" compare="not_eq">
<string>sans-serif</string>
</test>
<test qual="all" name="family" compare="not_eq">
<string>serif</string>
</test>
<test qual="all" name="family" compare="not_eq">
<string>monospace</string>
</test>
<edit name="family" mode="append_last">
<string>WenQuanYi Micro Hei</string>
</edit>
</match>
</fontconfig>
|
其中的“WenQuanYi Micro Hei”就是中文字体“文泉驿微米黑”,你也可以替换成任意你喜欢的中文字体。
重新打开PDF文件,这时候一般就可以见到中文了。
如果还是方框,那就继续往下看
3. PDF文件中指定了系统不存在的中文字体
PDF文件中可以指定显示的字体(第一节举的例子),这样保证了PDF文件在不同的平台上显示的效果是相同的。但如果PDF指定了字体,而文件又没有包含这个字体库,那就只能希望在其它平台上也恰好有这个字体了。
这就是少数中文PDF文件还是不能正常显示的原因!
有些中文PDF文件在windows上制作的时候,出于美观或者其它考虑,作者将字体指定为“宋体”、“雅黑”等在Linux看来的受限字体,并且作者认为所有的电脑都会有这些字体。而如果你的系统上没有这些字体,那就可能会出现问题了。Foxit Reader在这种情况下会用系统默认字体来显示(就是刚才我们改的那个文件),而evince和Adobe Reader都无法显示。Adobe Reader会提示用户去下载一个语言包安装(这个语言包非常大,而且会安装很多受限字体)
但是我非常喜欢轻便易用的evince。那现在就只有改变PDF文件中指定的字体为系统中已有的字体了。如果用Adobe的产品,不仅需要付费,而且还只有windows平台的版本。如果你仔细看了第一节就知道,我们根本就不需要这么复杂,只需要用纯文本的方式打开文件,改掉相应的字体的不行了!
真的这么简单吗?
确实就是这么简单!(计算机的东西本来就是为了简化人们的生活和工作而存在的)
好,你用vi打开不能正常显示中文的PDF文件后 ,先搜索“Font”看看,是不是看到了诸如“SimSun”(宋体)之类的字体跟在它们的后面
于是,我们只需要做一个简单的全局替换就可以了。在vi中,你只需要输入这样的命令
?View Code VIM
:%s/SimSun/wqy-zenhei/g
:%s/TimesNewRoman/wqy-zenhei/g
|
其实就是把文件中所有出现的”SimSun”和”TimesNewRoman”都替换成”wqy-zenhei”(文泉驿正黑)
然后保存退出,再用evince打开,是不是就可以了呢
相关博文
辰域智控app
系统工具 下载
网医联盟app
运动健身 下载
汇丰汇选App
金融理财 下载