我正在使用matplotlib在linux上使用名为FreeSans的ttf字体。我创建了我的数字:
from matplotlib import rc
plt.rcParams['ps.useafm'] = True
rc('font',**{'family':'sans-serif','sans-serif':['FreeSans']})
plt.rcParams['pdf.fonttype'] = 42
plt.figure()
# plot figure...
plt.savefig("myfig.pdf")
当我在另一个程序(例如Mac OS X上的插图画家)上打开它时,字体不会出现,而是使用默认字体,因为FreeSans不可用。
我怎样才能使它成为matplotlib在其生成的每个PDF中嵌入字体?我不介意文件是否更大。感谢。
答案 0 :(得分:10)
使用matplotlib生成pdf时遇到同样的问题。
如果我在pdf中使用TrueType指定有趣,则会嵌入字体:
matplotlib.rc('pdf', fonttype=42)
答案 1 :(得分:2)
你确定它还没有这样做吗?来自网站:
matplotlib具有出色的文本支持,包括数学 表达式,truetype支持栅格和矢量输出,换行符 具有任意旋转的分隔文本和unicode支持。因为 我们将字体直接嵌入到输出文档中,例如用于postscript 或PDF,你在屏幕上看到的是你在硬拷贝中得到的。
在当天,我曾经输出.ps文档,并使用ps2pdf
选项使用-dEmbedAllFonts=true
。