I am trying to generate and save PDFs of Matplotlib figures using the Inter font. I installed Inter with: brew install font-inter An example: import matplotlib.pyplot as plt import matplotlib.font_manager as fm available_fonts = [f.name for f in fm.fontManager.ttflist] if 'Inter' in available_fonts: plt.rcParams['font.family'] = 'Inter' else: print("Inter font is not available. Please ensure it is installed.") plt.rcParams['pdf.fonttype'] = 42 # for compatibility # generate the figure fig, ax = plt.subplots() ax.plot([0, 1], [0, 1]) ax.set_title("Example Plot with Inter Font") plt.show() # save the figure fig.savefig("example_plot.pdf", format='pdf') I have no issues with this except on macOS, where I get the following error about the font's style flags: $ /Users/atom/hemanpro/HeMan/.venv/bin/python /Users/atom/hemanpro/HeMan/misc_tools/addfont.py [13:58:58] 2025-01-02 13:59:29.100 Python[59655:1610342] +[IMKClient subclass]: chose IMKClient_Modern 2025-01-02 13:59:29.100 Python[59655:1610342] +[IMKInputSession subclass]: chose IMKInputSession_Modern Traceback (most recent call last): File "/Users/atom/hemanpro/HeMan/misc_tools/addfont.py", line 25, 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/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 To be clear, the figure is displaying the font correctly: I've tried switching backends before saving the figure to Cairo, but that still gives the same error: matplotlib.use("macosx") (at the top) ... plt.show() plt.switch_backend("Cairo") fig.savefig("example_plot.pdf", format='pdf') I've also tried QtAgg via PySide6. Any ideas on what's going wrong and how to resolve it? Thanks! Continue reading...