Как встроить шрифты в PDF-файлы, созданные Matplotlib? - PullRequest
11 голосов
/ 29 января 2012

Я использую шрифт, называемый шрифтом 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")

Когда я открываю его в другой программе (например, в Illustrator в Mac OS X), шрифт не отображается и вместо него используется шрифт по умолчанию, поскольку FreeSans недоступен.

Как мне сделать так, чтобы matplotlib вставлял шрифт в каждый создаваемый PDF-файл? Я не против, если файл больше. Спасибо.

Ответы [ 2 ]

10 голосов
/ 02 апреля 2014

У меня та же проблема при создании pdf с помощью matplotlib.

Интересно, если я укажу использование TrueType в pdf, шрифт будет вставлен:

matplotlib.rc('pdf', fonttype=42)
2 голосов
/ 29 января 2012

Вы уверены, что он этого еще не делает? С сайта:

matplotlib имеет отличную текстовую поддержку, в том числе математическую выражения, поддержка TrueType для растровых и векторных выходов, новая строка разделенный текст с произвольными поворотами и поддержкой юникода. Так как мы встраиваем шрифты непосредственно в выходные документы, например, для postscript или PDF, то, что вы видите на экране, - это то, что вы получаете на бумажном носителе.

В свое время я выводил документ .ps и использовал ps2pdf с опцией -dEmbedAllFonts=true.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...