(Использование Python 3.6.1 на Win10, в virtualenv, в котором, как правило, просто установлен numpy / pandas / matplotlib, для обработки чисел. Я не установил Tkinter и предпочел бы оставить его таким.)
У меня есть следующий тестовый код, пытающийся визуализировать текст MathML статически:
import matplotlib
matplotlib.use('agg')
import matplotlib.pyplot as plot
def render(mathml):
plot.clf()
plot.rc('font', family='monospace', size=72)
plot.axis('off')
plot.text(0, 0, f'{mathml}')
plot.savefig(f'hax.png')
render('$lorem^{ipsum}$')
В результате test.png
показывает текст шрифтом по умолчанию (DejaVu Sans Oblique), а не в моноширинном пространстве.шрифт:

Явное указание шрифта (например, family='Courier New'
) также не оказывает никакого влияния, а также не изменяет формат вывода.Размер текста должным образом изменяется, и не появляется никаких ошибок или предупреждений - вывод не показывает правильный шрифт.
Что здесь происходит?Как я могу это исправить?