Skip to content

[Bug]: findfont: Font family '<font>' not found. despite being present and queriable via fontconfig; never makes it to ~/.cache/matplotlib/fontlist-v330.json either #29912

@nabijaczleweli

Description

@nabijaczleweli

Bug summary

$ fc-list  | grep Math
/home/nabijaczleweli/.fonts/MathJax_Math-Italic.woff: MathJax_Math:style=Italic
$ fc-query ~/.fonts/MathJax_Math-Italic.woff
Pattern has 25 elts (size 32)
        family: "MathJax_Math"(s)
        style: "Italic"(s)
        fullname: "MathJax_Math-Italic"(s)
        file: "/home/nabijaczleweli/.fonts/MathJax_Math-Italic.woff"(s)

All of:

plt.xlabel('t', fontdict={'fontstyle': 'italic', 'family': 'MathJax_Math'})
plt.xlabel('t', fontdict={'family': 'MathJax_Math-Italic'})
plt.xlabel('t', fontdict={'family': 'MathJax_Math:style=Italic'})

fail with the appropriate

findfont: Font family 'MathJax_Math-Italic' not found.

Code for reproduction

curl -SL https://cdn.jsdelivr.net/npm/mathjax@3.2.2/es5/output/chtml/fonts/woff-v2/MathJax_Math-Italic.woff -o ~/.fonts/MathJax_Math-Italic.woff
fc-cache -f
rm ~/.cache/matplotlib/fontlist-v330.json


#!/bin/python3
import matplotlib.pyplot as plt

plt.plot([1,2,3])
plt.xlabel('t', fontdict={'fontstyle': 'italic', 'family': 'MathJax_Math'})
plt.show()
plt.xlabel('t', fontdict={'family': 'MathJax_Math-Italic'})
plt.show()
plt.xlabel('t', fontdict={'family': 'MathJax_Math:style=Italic'})
plt.show()

Actual outcome

findfont: Font family 'MathJax_Math' not found.
findfont: Font family 'MathJax_Math' not found.
findfont: Font family 'MathJax_Math' not found.
findfont: Font family 'MathJax_Math-Italic' not found.
findfont: Font family 'MathJax_Math-Italic' not found.
findfont: Font family 'MathJax_Math-Italic' not found.
findfont: Font family 'MathJax_Math:style=Italic' not found.
findfont: Font family 'MathJax_Math:style=Italic' not found.
findfont: Font family 'MathJax_Math:style=Italic' not found.
$ grep Math ~/.cache/matplotlib/fontlist-v330.json

(but I see other fonts, both from system and ~/.fonts, when grepping for them:

$ grep -F .fonts ~/.cache/matplotlib/fontlist-v330.json
      "fname": "/home/nabijaczleweli/.fonts/Linux MINI4x6.otf",
      "fname": "/home/nabijaczleweli/.fonts/Linux TER16x32.otf",
      "fname": "/home/nabijaczleweli/.fonts/Linux 6x10.otf",
      "fname": "/home/nabijaczleweli/.fonts/Linux ProFont6x11.otf",
      "fname": "/home/nabijaczleweli/.fonts/Linux VGA8x8.otf",
      "fname": "/home/nabijaczleweli/.fonts/Linux VGA8x16.otf",
      "fname": "/home/nabijaczleweli/.fonts/Linux 7x14.otf",
      "fname": "/home/nabijaczleweli/.fonts/Linux 6x8.otf",
      "fname": "/home/nabijaczleweli/.fonts/qfont.otf",
      "fname": "/home/nabijaczleweli/.fonts/Linux PEARL8x8.otf",
      "fname": "/home/nabijaczleweli/.fonts/Linux SUN12x22.otf",
      "fname": "/home/nabijaczleweli/.fonts/Linux 10x18.otf",
      "fname": "/home/nabijaczleweli/.fonts/Linux Acorn8x8.otf",
      "fname": "/home/nabijaczleweli/.fonts/topaz.otf",
      "fname": "/home/nabijaczleweli/.fonts/AmongUs-Regular.ttf",
      "fname": "/home/nabijaczleweli/.fonts/sunfont.otf",
      "fname": "/home/nabijaczleweli/.fonts/Linux SUN8x16.otf",

)

Expected outcome

At least one of these not erroring thrice.

Additional information

No response

Operating system

Debian Bookworm

Matplotlib Version

3.6.3

Matplotlib Backend

TkAgg

Python version

Python 3.11.2

Jupyter version

N/A

Installation

Linux package manager

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions