<h3 dir="auto">Problem</h3>
<p dir="auto">I'm always frustrated when I want to find the font "Arial Black", because the family name of this font is "Arial".<br>
I would like it if we could search a font by it's name.</p>
<p dir="auto">Here is an example how I search the font "Arial Black":</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="import matplotlib.font_manager as fm
print(fm.findfont(&quot;Arial Black&quot;))"><pre class="notranslate"><code class="notranslate">import matplotlib.font_manager as fm
print(fm.findfont("Arial Black"))
</code></pre></div>
<p dir="auto">Here is the output:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="C:\Users\jerem\Desktop&gt;py font.py
findfont: Font family ['Arial Black'] not found. Falling back to DejaVu Sans.
C:\Users\jerem\AppData\Local\Programs\Python\Python310\Lib\site-packages\matplotlib\mpl-data\fonts\ttf\DejaVuSans.ttf"><pre class="notranslate"><code class="notranslate">C:\Users\jerem\Desktop&gt;py font.py
findfont: Font family ['Arial Black'] not found. Falling back to DejaVu Sans.
C:\Users\jerem\AppData\Local\Programs\Python\Python310\Lib\site-packages\matplotlib\mpl-data\fonts\ttf\DejaVuSans.ttf
</code></pre></div>
<p dir="auto">When I say name of the font, I am talking about this name in yellow:<br>
<a target="_blank" rel="noopener noreferrer nofollow" href="https://user-images.githubusercontent.com/34408507/162241258-8efe6bae-bd13-40f2-9673-a2ff36bba9d7.png"><img src="https://user-images.githubusercontent.com/34408507/162241258-8efe6bae-bd13-40f2-9673-a2ff36bba9d7.png" alt="image" style="max-width: 100%;"></a></p>
<h3 dir="auto">Proposed solution</h3>
<p dir="auto">I proposed to add a field "name" to matplotlib.font_manager.FontProperties class: <a href="https://github.com/matplotlib/matplotlib/blob/v3.5.1/lib/matplotlib/font_manager.py#L596-L947">https://github.com/matplotlib/matplotlib/blob/v3.5.1/lib/matplotlib/font_manager.py#L596-L947</a></p>
<p dir="auto">The following Ubuntu fonts are installed on my system:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="/home/edwin/.fonts/Ubuntu-LI.ttf: Ubuntu,Ubuntu Light:style=Light Italic,Italic
/home/edwin/.fonts/Ubuntu-L.ttf: Ubuntu,Ubuntu Light:style=Light,Regular
/home/edwin/.fonts/Ubuntu-M.ttf: Ubuntu,Ubuntu Light:style=Medium,Bold
/home/edwin/.fonts/Ubuntu-BI.ttf: Ubuntu:style=Bold Italic
/home/edwin/.fonts/Ubuntu-RI.ttf: Ubuntu:style=Italic
/home/edwin/.fonts/Ubuntu-R.ttf: Ubuntu:style=Regular
/home/edwin/.fonts/Ubuntu-MI.ttf: Ubuntu,Ubuntu Light:style=Medium Italic,Bold Italic
/home/edwin/.fonts/Ubuntu-B.ttf: Ubuntu:style=Bold"><pre class="notranslate"><code class="notranslate">/home/edwin/.fonts/Ubuntu-LI.ttf: Ubuntu,Ubuntu Light:style=Light Italic,Italic
/home/edwin/.fonts/Ubuntu-L.ttf: Ubuntu,Ubuntu Light:style=Light,Regular
/home/edwin/.fonts/Ubuntu-M.ttf: Ubuntu,Ubuntu Light:style=Medium,Bold
/home/edwin/.fonts/Ubuntu-BI.ttf: Ubuntu:style=Bold Italic
/home/edwin/.fonts/Ubuntu-RI.ttf: Ubuntu:style=Italic
/home/edwin/.fonts/Ubuntu-R.ttf: Ubuntu:style=Regular
/home/edwin/.fonts/Ubuntu-MI.ttf: Ubuntu,Ubuntu Light:style=Medium Italic,Bold Italic
/home/edwin/.fonts/Ubuntu-B.ttf: Ubuntu:style=Bold
</code></pre></div>
<p dir="auto">Ubuntu Light is shown with two family names: Ubuntu and Ubuntu Light. In XeTeX I can select the font directly by naming Ubuntu Light, but I cannot do the same in matplotlib:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="matplotlib.rcParams['font.family'] = 'Ubuntu Light'"><pre class="notranslate"><code class="notranslate">matplotlib.rcParams['font.family'] = 'Ubuntu Light'
</code></pre></div>
<p dir="auto">Instead, I must use a more obscure (albeit more technically correct) method:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="matplotlib.rcParams['font.family'] = 'Ubuntu'
matplotlib.rcParams['font.weight'] = 200"><pre class="notranslate"><code class="notranslate">matplotlib.rcParams['font.family'] = 'Ubuntu'
matplotlib.rcParams['font.weight'] = 200
</code></pre></div>
<p dir="auto">It would be convenient if Ubuntu Light could be addressed directly by its 'common' name.</p>