今天提交论文的时候,edas 系统一直提示 Font font_16 is of type Type 3。感觉是图片问题,于是把图片全都注释掉再提交,果然没有问题。那么图片为什么会提示这个问题呢,网上搜了一下,发现是因为 Python 使用 matplotlib 画图的时候默认是使用 Type 3 字体,但是这个 Type 3 字体对于 edas 系统来说就是不兼容的,所以就提示这个错误。解决方法也很简单,只要把 matplotlib 画图的字体设为 True Type 即可。
一、Python matplotlib 解决字体兼容问题
解决方法如下,在代码最前面加上下面语句,生成 Ture Type 也就是 Type 42 字体:
mport matplotlib matplotlib.rcParams['pdf.fonttype'] = 42 matplotlib.rcParams['ps.fonttype'] = 42
这使得 matplotlib to 使用 Type 42 字体来生成 PostScript 和 PDF 文件。
此外,也可以设置如下:
matplotlib.rcParams['text.usetex'] = True
也可以这样强制生成 Type 1 fonts, 不过可能会改变图形,推荐使用第一种方法。
二、从源文件彻底解决问题
此外,还有一种方法解决的更为彻底。
1、首先找到并修改 `matplotlib` 文件
2、如果你不知道该文件的位置,在 python 中输入以下命令:
>>> import matplotlib >>> matplotlib.matplotlib_fname() '/home/foo/.config/matplotlib/matplotlibrc'
3、修改以下两项即可:
pdf.fonttype : 42 ps.fonttype : 42
参考文献: