Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork7.9k
Closed
Labels
Milestone
Description
Bug summary
I have installed the font Inter withbrew install font-inter
and successfully imported it into matplotlib such that the figure from the plot below displays correctly with the Inter font as specified; however, when it comes to saving, I get the error below in "actual outcome".
Code for reproduction
importmatplotlibimportmatplotlib.pyplotaspltimportmatplotlib.font_managerasfmmatplotlib.use("QtAgg")# Ensure 'Inter' is availableavailable_fonts= [f.nameforfinfm.fontManager.ttflist]if'Inter'inavailable_fonts:plt.rcParams['font.family']='Inter'else:print("Inter font is not available. Please ensure it is installed.")# generate a test plot and save itfig,ax=plt.subplots()ax.plot([0,1], [0,1])ax.set_title("Example Plot with Inter Font")plt.show()fig.savefig("example_plot.pdf",format='pdf')
Actual outcome
Traceback (most recent call last): File "/Users/atom/hemanpro/HeMan/misc_tools/addfont.py", line 18, in <module> fig.savefig("example_plot.pdf", format='pdf') ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/atom/hemanpro/HeMan/.venv/lib/python3.13/site-packages/matplotlib/figure.py", line 3490, in savefig self.canvas.print_figure(fname, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/Users/atom/hemanpro/HeMan/.venv/lib/python3.13/site-packages/matplotlib/backends/backend_qtagg.py", line 75, in print_figure super().print_figure(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/Users/atom/hemanpro/HeMan/.venv/lib/python3.13/site-packages/matplotlib/backend_bases.py", line 2184, in print_figure result = print_method( filename, ...<3 lines>... bbox_inches_restore=_bbox_inches_restore, **kwargs) File "/Users/atom/hemanpro/HeMan/.venv/lib/python3.13/site-packages/matplotlib/backend_bases.py", line 2040, in <lambda> print_method = functools.wraps(meth)(lambda *args, **kwargs: meth( ~~~~^ *args, **{k: v for k, v in kwargs.items() if k not in skip})) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/atom/hemanpro/HeMan/.venv/lib/python3.13/site-packages/matplotlib/backends/backend_pdf.py", line 2789, in print_pdf file.finalize() ~~~~~~~~~~~~~^^ File "/Users/atom/hemanpro/HeMan/.venv/lib/python3.13/site-packages/matplotlib/backends/backend_pdf.py", line 827, in finalize self.writeFonts() ~~~~~~~~~~~~~~~^^ File "/Users/atom/hemanpro/HeMan/.venv/lib/python3.13/site-packages/matplotlib/backends/backend_pdf.py", line 973, in writeFonts fonts[Fx] = self.embedTTF(filename, chars) ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/Users/atom/hemanpro/HeMan/.venv/lib/python3.13/site-packages/matplotlib/backends/backend_pdf.py", line 1416, in embedTTF sf = font.style_flags ^^^^^^^^^^^^^^^^ File "/opt/homebrew/Cellar/python@3.13/3.13.1/Frameworks/Python.framework/Versions/3.13/lib/python3.13/enum.py", line 726, in __call__ return cls.__new__(cls, value) ~~~~~~~~~~~^^^^^^^^^^^^ File "/opt/homebrew/Cellar/python@3.13/3.13.1/Frameworks/Python.framework/Versions/3.13/lib/python3.13/enum.py", line 1207, in __new__ raise exc File "/opt/homebrew/Cellar/python@3.13/3.13.1/Frameworks/Python.framework/Versions/3.13/lib/python3.13/enum.py", line 1184, in __new__ result = cls._missing_(value) File "/opt/homebrew/Cellar/python@3.13/3.13.1/Frameworks/Python.framework/Versions/3.13/lib/python3.13/enum.py", line 1480, in _missing_ raise ValueError( ...<2 lines>... ))ValueError: <flag 'StyleFlags'> invalid value 589824 given 0b0 10010000000000000000 allowed 0b0 00000000000000000011.venvFAIL
Expected outcome
The figure is saved as a PDF with the Inter font.
Additional information
This only occurs on my macOS installation of Python 3.13.1 with matplotlib 3.10.0.
Operating system
macOS Sequoia 15.2
Matplotlib Version
3.10.0
Matplotlib Backend
QtAgg, cairo, macosx
Python version
3.13.1
Jupyter version
No response
Installation
pip