这是一篇流水账,本来不想写,但我还是写了。因为在事务缠身“十万火急”的催命符影响下,我还是顺利地解决了“Bad font: Type3 font”的问题。
事情是这样的。今年终于又中了一篇SIGCOMM。其中的心酸这里就不说了,说说后续。中了文章以后,我就投入了其它紧急项目中,完全没有时间来修改审稿人的意见。终于在Camera-ready版本截稿的三天前,我开始准备论文,幸运的是审稿人都觉得我这个文章写得比较成熟,要改的地方不多,我迅速地一天就改完了。然而,当我上传一稿到HotCRP系统时,提示“Bad font: Type3 font”。
我立马意识到,坏了!因为这是python画图的时候用的默认字体Font Type 3, 而不是Font Type 42。显然,论文中10几张图都要重画!
此时的我,还在东莞出差中,然而数据备份在深圳的电脑上,当我尝试远程访问时,发现网络连接错误!此时,离截稿时间还有两天。
我连夜回到了深圳。
当我回到深圳园区上班时,收到同事发来会议邀请,一定要我去给开发人员做一个技术培训。于是,还没来得及打开备份文件夹的时候,就被拉到了会议中,一天就这样过去了。
当我从交付项目中脱身出来,时间已经是下午5点。没办法,只能推掉晚上部门的聚餐(可惜了我特意要求点的红烧甲鱼……)
说回“Bad font: Type3 font”的问题。在网上搜索了一下,找到以下解决方法:http://phyletica.org/matplotlib-fonts/
I finally stumbled across an example matplotlibrc, and after some searching found two key settings: pdf.fonttype and ps.fonttype. You have to change these settings from the default of 3 to the alternative 42. You can do this in your matplotlibrc file with:
pdf.fonttype : 42
ps.fonttype : 42
Or, you can change these settings in your code using:
import matplotlib matplotlib.rcParams['pdf.fonttype'] = 42
matplotlib.rcParams['ps.fonttype'] = 42
This causes matplotlib to use Type 42 (a.k.a. TrueType) fonts for PostScript and PDF files. This allows you to avoid Type 3 fonts without limiting yourself to the stone-age technology of Type 1 fonts.
我采用的是直接修改matplotlibrc文件,修改完后发现部分eps图片直接显示为空白。其中,直接用裸python2.7画的图是正常的,但是用Jupter Python3.6画的图是空白的。
要自闭了。
还好我是老司机,尝试Jupter Python3.6画图时先生成PDF,然后再导出eps, 然后在latex (论文编辑工具)把eps加载转换成pdf。编译,上传,提示成功!
此时已经是凌晨12点,上传成功的一刻,办公室的灯正好关闭,偌大的房间,空无一人,乌漆ma黑。然而我内心是平静的,有一点考试结束,铃声响起时的释然。
事情是这样的。今年终于又中了一篇SIGCOMM。其中的心酸这里就不说了,说说后续。中了文章以后,我就投入了其它紧急项目中,完全没有时间来修改审稿人的意见。终于在Camera-ready版本截稿的三天前,我开始准备论文,幸运的是审稿人都觉得我这个文章写得比较成熟,要改的地方不多,我迅速地一天就改完了。然而,当我上传一稿到HotCRP系统时,提示“Bad font: Type3 font”。
我立马意识到,坏了!因为这是python画图的时候用的默认字体Font Type 3, 而不是Font Type 42。显然,论文中10几张图都要重画!
此时的我,还在东莞出差中,然而数据备份在深圳的电脑上,当我尝试远程访问时,发现网络连接错误!此时,离截稿时间还有两天。
我连夜回到了深圳。
当我回到深圳园区上班时,收到同事发来会议邀请,一定要我去给开发人员做一个技术培训。于是,还没来得及打开备份文件夹的时候,就被拉到了会议中,一天就这样过去了。
当我从交付项目中脱身出来,时间已经是下午5点。没办法,只能推掉晚上部门的聚餐(可惜了我特意要求点的红烧甲鱼……)
说回“Bad font: Type3 font”的问题。在网上搜索了一下,找到以下解决方法:http://phyletica.org/matplotlib-fonts/
I finally stumbled across an example matplotlibrc, and after some searching found two key settings: pdf.fonttype and ps.fonttype. You have to change these settings from the default of 3 to the alternative 42. You can do this in your matplotlibrc file with:
pdf.fonttype : 42
ps.fonttype : 42
Or, you can change these settings in your code using:
import matplotlib matplotlib.rcParams['pdf.fonttype'] = 42
matplotlib.rcParams['ps.fonttype'] = 42
This causes matplotlib to use Type 42 (a.k.a. TrueType) fonts for PostScript and PDF files. This allows you to avoid Type 3 fonts without limiting yourself to the stone-age technology of Type 1 fonts.
我采用的是直接修改matplotlibrc文件,修改完后发现部分eps图片直接显示为空白。其中,直接用裸python2.7画的图是正常的,但是用Jupter Python3.6画的图是空白的。
要自闭了。
还好我是老司机,尝试Jupter Python3.6画图时先生成PDF,然后再导出eps, 然后在latex (论文编辑工具)把eps加载转换成pdf。编译,上传,提示成功!
此时已经是凌晨12点,上传成功的一刻,办公室的灯正好关闭,偌大的房间,空无一人,乌漆ma黑。然而我内心是平静的,有一点考试结束,铃声响起时的释然。