Ответ 1
У меня такая же проблема при создании pdf с matplotlib.
Интересно, если я укажу, используя TrueType в pdf, шрифт будет встроен:
matplotlib.rc('pdf', fonttype=42)
Я использую шрифт, называемый шрифтом ttf под названием FreeSans на linux с matplotlib. Я создаю свою фигуру как:
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 файл, который он создает? Я не против, если файл больше. Спасибо.
У меня такая же проблема при создании pdf с matplotlib.
Интересно, если я укажу, используя TrueType в pdf, шрифт будет встроен:
matplotlib.rc('pdf', fonttype=42)
Вы уверены, что это уже не делает? На веб-сайте:
matplotlib имеет отличную текстовую поддержку, включая математическую выражения, поддержка truetype для растровых и векторных выходов, newline разделенный текст с произвольными вращениями и поддержка юникода. Потому как мы вставляем шрифты непосредственно в выходные документы, например, для postscript или PDF, то, что вы видите на экране, - это то, что вы получаете в печатном виде.
В тот же день я использовал вывод документа .ps и использовал ps2pdf
с опцией -dEmbedAllFonts=true
.