-
-
Notifications
You must be signed in to change notification settings - Fork 7.9k
[Bug]: Warning: Font Family not found #20850
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Similar to #13139 |
Adding documentation tag since the example itself is slightly incorrect.. "font.family": "serif",
"font.serif": [], It's really overriding the default Matplotlib serif font-family as an empty list; whereas it really should've been untouched (i.e., the defaults mentioned at: https://matplotlib.org/stable/tutorials/text/usetex.html#sphx-glr-tutorials-text-usetex-py) I'm not sure why the example was designed in this way.. if the fonts were available you should've got a PGF/PDF with these fonts: pdffonts pgf_fonts.pdf
name type encoding emb sub uni object ID
------------------------------------ ----------------- ---------------- --- --- --- ---------
BXGEVL+DejaVuSerif Type 3 Custom yes yes no 52 0
GCWXDV+DejaVuSans-Oblique Type 3 Custom yes yes no 23 0
FJGZKM+DejaVuSansMono Type 3 Custom yes yes no 40 0
BMQQDV+DejaVuSans Type 3 Custom yes yes no 28 0
TVXSBT+ComicNeue-Regular Type 3 Custom yes yes no 15 0 However, with the current example; serif font-family isn't found (because the list is essentially empty!); this is what you get: $ pdffonts pgf_fonts.pdf
name type encoding emb sub uni object ID
------------------------------------ ----------------- ---------------- --- --- --- ---------
BMQQDV+DejaVuSans Type 3 Custom yes yes no 28 0
GCWXDV+DejaVuSans-Oblique Type 3 Custom yes yes no 23 0
FJGZKM+DejaVuSansMono Type 3 Custom yes yes no 51 0
TVXSBT+ComicNeue-Regular Type 3 Custom yes yes no 15 0 Note the missing serif font... Fix is pretty simple, something like: import matplotlib.pyplot as plt
plt.rcParams.update({
+ # Use LaTeX default serif font-family.
+ # https://matplotlib.org/stable/tutorials/text/usetex.html#sphx-glr-tutorials-text-usetex-py
"font.family": "serif",
- # Use LaTeX default serif font.
- "font.serif": [],
# Use specific cursive fonts.
"font.cursive": ["Comic Neue", "Comic Sans MS"],
}) You're welcome to create a PR :) |
I'll go for it |
Do not remove serif font family in pgf example to avoid Warning
The empy list is suggested here: https://matplotlib.org/stable/tutorials/text/pgf.html (section "Font specification"). So, either this is correct or that section of the documentation should also be modified. In any case, |
Do not remove serif font family in pgf example to avoid Warning Add requested changes Revert "Fix matplotlib#20850" This reverts commit 0bff071.
That seems to be correct if the pgf backend is used. However, in https://matplotlib.org/stable/gallery/userdemo/pgf_fonts.html pdf is not used. Adding
first in the example file may help. (I'll add a PR.) |
Wasn't that easy... The sentence "You can also use the LaTeX default Computer Modern fonts by clearing the lists for rcParams["font.serif"]" is currently not correct since the code: matplotlib/lib/matplotlib/backends/backend_pgf.py Lines 47 to 55 in 68d6b79
will use the default Matplotlib font instead. (Unless pdflatex is used, in which case the fonts are not set.) So, I've changed this to
which then will not set it to the default font. Not sure if it will break anything else. |
Bug summary
Usign Latex fonts as recommended here throws a Warning:
Code for reproduction
Actual outcome
The Bug is also visible in your Docs.
https://matplotlib.org/stable/gallery/userdemo/pgf_fonts.html
Expected outcome
No Warning should get thrown everytime
Operating system
Ubuntu
Matplotlib Version
3.4.2
Matplotlib Backend
TkAgg
Python version
3.9.5
Jupyter version
No response
Other libraries
No response
Installation
pip
Conda channel
No response
The text was updated successfully, but these errors were encountered: