最近有客户反馈,用Illusatrator打开火并输出的pdf文件时,提示缺少字体,并显示方块乱码的问题。
我们测试后确实有这个问题,初步判断是字体的问题,有的火并用户并没有类似问题发生,网上也有不少同样问题的帖子,但一下还没找到根源问题。请了解的读者补充解决方案。
我们尝试后建议的解决方案是:
针对主要问题是提示缺少Arial,ArialBlack,TT79771083tCID-WinCharSetFFFF-H等等字体。一个方案是设计时改用其他字体(我们发现其他字体不会有类似问题),还有一个方案是用Acrobat打开输出的pdf,然后再打印一边生成一个新的pdf文件,这时内嵌字体,即输出的pdf包含字体,也可称为转曲。
一般情况下,此时字体就可转曲了,这个新的pdf拿到Illustrator中打开就没有问题,正常显示。
但如果碰到用Illustrator虽然打开没有乱码,但还是提示缺少字体,用了替换字体显示。这时在Illustrator打开后做替换字体的操作,具体方法:文字--查找字体--选择没有的字体,选择“系统”,找到替代字体,然后选择“更改”。
一步到位的解决方法:
使用工具:FontCreator或其他第三方造字工具。
ai(Illustrator)打开VariPrint输出的PDF时字体显示乱码或报缺字的主要有2原因。
1)ai识别PDF中的字体的名称是Font Family名字,而VariPrint输出的PDF中的字体名称是Postscript name
2)客户安装的字体本身之Font Family Name和Postscript Name字体设计者或篡改者乱命名,导致不一致,或者Postscript Name中存在空格,“-”和特殊字符,导致后续应用软件会过滤掉空格和特殊字符。这样就对应不起来了。
最简单的解决方法,也是终极方案:
即修改Postscript name的名字,把原来名字中空格,“-”和特殊字符全部去除。
注:这个修改对本身字体不造成任何改动。但注意,如果您已经用这款字体制作了文件,那么当打开老的文件时会报错字体找不到,原因就是字体名字修改了,这时您只要把老的文件重新选一下字体保存即可。
需要说明的名称问题:
字体文件的文件名,随便命名,对识别没有任何影像。
Font Family Name,
Full Font Name
Postscript Name
具体方法:
第一步,先看看错误的由来和现象说明,举例说明(本例只做说明只用,有关版本等其他信息先预先做了屏蔽,说明),假设:
字体文件的文件名:abc.ttf
Font Family Name:Sample-font 40
Full Font Name:Sample-font 40
Postscript Name:Sample-font 40
把字体安装到Windows/Fonts文件夹,即安装字体。此时您可看到具体的字体名称了。
用ai制作一个测试文件
注:字体选择中可看到的名称为Sample-font 40 Regular
保存为PDF,并检查该PDF中字体属性。您可看到字体名字为Sample-font-40,这时原本font与40之间的空格变为“-”符号了。
再用VariPrint制作测试文件,注意:字体选择可看到为Sample-font 40
打印到PDF,并检查PDF字体属性,您可看到字体名字为Sample-font40,这时原本font与40之间的空格被删除掉了。
然后用ai打开VariPrint输出的PDF,报错缺字。这时一定报错的,因为Fonts里没有安装的名字为Sample-font40字体。
第二步:解决方法。就是最初提到的用造字工具把字体命名改掉。假设改为最单纯的所有涉及名称的地方都改为SampleFont40
因为这款字体是韩文字体,所以把韩文语言下的设置也一起改掉
用ai制作测试文件,这里看到的可选的字体名称为SampleFont40 Regular
保存为PDF,并检查字体属性,字体名称为Samplefont40。
用VariPrint制作测试文件,可看到字体选择为SampleFont40
打印到PDF,并检查字体属性,SampleFont40
用ai打开该PDF不报错缺字了。
完毕!
还有一个方法:
在Illustrator中新开一个VariPrint.pdf同样尺寸的空白页面,然后“置入”VariPrint1.pdf,这时所有字体显示都保留,此时如果要对文件中内容进行再编辑,可以“对象”-“拼合透明度”后进行。
这个方法的缺点是字体“拼合透明度”后没法再改了。
还有一个方法是先开一个空白大版页,然后用“置入”方式导入VariPrint生成的PDF。注意置入时。“链接”选项前面一定要打勾!
有关Helvetica字体乱码的问题,请参看下面帖子:
http://www.haiyaatech.com/bbs/article.asp?Id=759&page=1