在提交ACM的Camera-Ready Paper时,被告知论文中有使用 Type-3 字体,应该改为 Type-1。
解释:由于Type-1 和 True Type 都是矢量字体,而 Type-3 并不是,所以放大或者打印时,会出现问题。
原因:可能会有三种原因,Python画的图,OriginLab画的图, 画的流程图。
Python:
-
原因:paper中出现Type3字体的是使用python的matplotlib画图时,默认设置是使用Type3,因此导致Type3字体的引入。
-
检查方法:
- windows可以安装 Adobe Acrobat,然后打开pdf文件,在
文件->属性->字体
中查看是否含有Type3字体 - linux中使用命令:
pdffonts MY_PDF.pdf
- macos可以使用
brew install poppler
来安装pdffonts
- windows可以安装 Adobe Acrobat,然后打开pdf文件,在
-
解决方法:将python中matplotlib的默认字体设置调整为其他类型
- 查找matplotlibrc的位置:
sudo find / -name "matplotlibrc"
(一般都是在你安装的python环境子文件夹下,如~/anaconda3/envs/yolo3/lib/python3.6/site-packages/matplotlib/mpl-data/matplotlibrc
) - 将
和
两项的值均设置为42即可。
- 还有一种临时方法就是直接在你的code中直接添加两个设置项:
[''] = 42
,[''] = 42
。
- 查找matplotlibrc的位置:
-
其他问题:
如果texstudio在读取生成带有type 42字体的eps时,无法在pdf中显示具体文字。可以在python中生成pdf文件,然后用Adobe Acrobat另存为eps。不显示文字
参考链接
参考链接
OriginLab:
-
问题描述:
origin 导出eps时,字体的嵌入做的很不好。默认情况字体导出设置是:Use Outlines Fonts。即把图片中字符根据轮廓转成曲线保存,不保留字体信息。
理论上这样出来的eps都是曲线不存在字体,是不会有问题的。但偏偏origin导出的eps转成会变成“type3"字体类型信息。 -
解决方法:
- 方法1(推荐):origin本身具备导出嵌入字体的功能。具体操作:
File -> Export Graphs -> Open Dialog -> 弹出导出图片对话框
。
Image Type 选择eps格式,然后一直拖下来,找到Image Setting->Eps options->Fonts
, 选择"Adobe Type1"+"Use Built-in Fonts"
即可。
这样导出的eps文件,只要不含中文字体,就会正确嵌入英文字体。
注:Origin 8.5.1 SR2版本,貌似该方法不起作用,可能是Bug。 - 方法2:eps2eps命令是包含在texlive发行版中的小工具,它能把一个eps图片中字体全部曲线化,转换后的eps再转成pdf时,不带任何字体信息。用法:eps2eps (经过我自己的试验,该方法不起作用。大家可以自己尝试一下。)
- 如果含有中文,origin不支持导出嵌入正确的中文字体的eps图,但可以选择字体曲线化,即选Use OutlineFonts导出,再用eps2eps转换下即可。或者用Adobe Distiller转换为PDF后,再用acrobat打开,另存为eps格式回去即可。
- 方法1(推荐):origin本身具备导出嵌入字体的功能。具体操作:
参考链接
- 原因:画的图看似是TrueType的,但是带了一个CID,所以会议的编辑也会建议你修改为Type1或者TrueType的。
- 解决方法:使用Acrobat pro把该插图的pdf文件导出为PowerPoint演示文稿(.pptx),打开pptx可以发现其中包含的公式字符都变成了有点模糊的bitmap,然后再把pptx另存为PDF即可,原本字体中的TrueType(CID)变成了普通的TrueType字体。
参考链接