导出PDF:找不到字体

时间:2018-06-19 09:05:42

标签: macos matplotlib

我正在尝试将我的数字导出为PDF格式。我遇到的问题是,当我想编辑它时(在本例中是由macOS上的Graphic)编辑器找不到该字体。我的问题是,我该如何解决这个问题?我可以安装' matplotlib使用的字体?

实施例

import matplotlib.pyplot as plt

fig, ax = plt.subplots()

ax.plot([0,1], [0,1])

plt.savefig('test.pdf')

此PDF在预览中看起来很好:

enter image description here

但在编辑中,它给出了胡言乱语:

enter image description here

失败的解决方案

设置

matplotlib.rc("pdf", fonttype=42)

(见this answer)。

部分工作解决方案

安装所有matplotlib的字体有什么作用。我跟着this answer找到了所有matplotlib的ttfs,并安装了它们。这有效并解决了这个问题。

但是...... 这确实解决了启用LaTeX时的问题,

import matplotlib

matplotlib.rcParams['text.usetex'] = True

如何安装matplotlib现在使用的字体?

  

这里的解决方案是导出为SVG。但是,由于某种原因,我的系统需要很长时间(参见this bug)。

2 个答案:

答案 0 :(得分:0)

您正在使用什么pdf编辑器?我不知道如何检查尝试解决此问题的方法是否有效...但是我总是使用此代码将图像保存为pdf或png:

plt.savefig('test.pdf', edgecolor='none', bbox_inches="tight")

答案 1 :(得分:0)

我找到了解决方法。这是在编辑之前将所有字体转换为轮廓。一种实现方法是使用带有return begin() + size()选项的GhostScript,如this answer中所述:

-dNoOutputFonts