之前一直没有注意的问题,用gnuplot生成的eps文件其实并没有真正的嵌入字体信息。这会使生成的pdf无法通过IEEE的技术审查。
之前用的脚本开头是这样定义的
reset
unset multiplot
set size 0.35,0.35
set origin 0,0
set terminal postscript eps enhanced "Helvetica" 14看上去是指定嵌入了"Helvetica"字体,可实际上却没有,后来经过反复的google发现gnulot还有一个不常用的关键字专门用来管嵌入字体的问题的--fontfile。
fontfile参数是用来指定要嵌入字体文件的位置的,原生支持pfa格式的字体文件。虽然fontfile的帮助文件说fontfile参数支持ttf格式的字体文件,并会on-the-fly的生成pfa文件进行嵌入,但是需要额外的软件支持,并需要设定一些环境变量,反正没有搞明白,如果您知道如何设定请告知一下O(∩_∩)O~。
为了能正确的嵌入字体,首先生成Helvetica字体的pfa文件,我用的是ttf2pt1。
生成需要的pfa字体后,后面的事情就变得轻松了,脚本中加入相应的fontfile就可以了
reset
unset multiplot
set size 0.35,0.35
set origin 0,0
set terminal postscript eps enhanced "Helvetica" 14 fontfile "Helvetica.pfa"
嵌入字体后的eps文件明显比嵌入前大了很多,从20k左右变到了200k。
最后看一下最终pdf的效果
左边的图是嵌入了Helvetica字体的,右边的图是没有嵌入字体的,注意两个图片中字母“G”和“R”,你会发现明显的不同。这是因为,Adobe Reader因为找不到Helvetica字体信息,用Arial字体进行了替换造成的。
https://blog.sciencenet.cn/blog-483379-438961.html
上一篇:
面向效用的社会化网络数据K匿名发布下一篇:
Latex不常用宏包介绍(4)