Hi Michael,
  I was playing with python directly, so:

$ python
Python 2.7.2 (default, Mar 10 2012, 02:39:52) 
[GCC 4.5.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from matplotlib import font_manager 
>>> font_manager.path
'/home/mmokrejs/.fonts'
>>> font_manager.rcParams
{'axes.formatter.use_locale': False, 'figure.subplot.right': 0.9, 
'mathtext.cal': 'cursive', 'font.fantasy': ['Comic Sans MS', 'Chicago', 
'Charcoal', 'ImpactWestern', 'fantasy'], 'xtick.minor.pad': 4, 
'tk.pythoninspect': False, 'image.aspect': 'equal', 'font.cursive': ['Apple 
Chancery', 'Textile', 'Zapf Chancery', 'Sand', 'cursive'], 
'figure.subplot.hspace': 0.2, 'keymap.fullscreen': 'f', 'examples.directory': 
'/usr/share/doc/matplotlib-1.1.0/examples', 'xtick.direction': 'in', 
'axes.facecolor': 'w', 'mathtext.fontset': 'cm', 'ytick.direction': 'in', 
'keymap.pan': 'p', 'path.snap': True, 'axes.axisbelow': False, 
'lines.markersize': 6, 'figure.dpi': 80, 'text.usetex': False, 'image.origin': 
'upper', 'patch.edgecolor': 'k', 'legend.labelspacing': 0.5, 'ps.useafm': 
False, 'mathtext.bf': 'serif:bold', 'lines.solid_joinstyle': 'round', 
'font.monospace': ['Bitstream Vera Sans Mono', 'DejaVu Sans Mono', 'Andale 
Mono', 'Nimbus Mono L', 'Courier New', 'Courier', 'Fixed', 'Terminal', 
'monospace
'], 'xtick.minor.size': 2, 'axes.formatter.limits': [-7, 7], 
'figure.subplot.wspace': 0.2, 'savefig.edgecolor': 'w', 'image.cmap': 'jet', 
'lines.marker': 'None', 'tk.window_focus': False, 'backend.qt4': 'PyQt4', 
'font.serif': ['Bitstream Vera Serif', 'DejaVu Serif', 'New Century 
Schoolbook', 'Century Schoolbook L', 'Utopia', 'ITC Bookman', 'Bookman', 
'Nimbus Roman No9 L', 'Times New Roman', 'Times', 'Palatino', 'Charter', 
'serif'], 'savefig.facecolor': 'w', 'ytick.minor.size': 2, 'font.stretch': 
'normal', 'text.dvipnghack': None, 'ytick.color': 'k', 'svg.fonttype': 'path', 
'lines.linestyle': '-', 'xtick.color': 'k', 'xtick.major.pad': 4, 
'patch.facecolor': 'b', 'figure.figsize': [8.0, 6.0], 'axes.linewidth': 1.0, 
'keymap.zoom': 'o', 'legend.handletextpad': 0.8, 'mathtext.fallback_to_cm': 
True, 'lines.linewidth': 1.0, 'savefig.dpi': 100, 'verbose.fileo': 
'sys.stdout', 'svg.image_noscale': False, 'docstring.hardcopy': False, 
'font.size': 12, 'ps.fonttype': 3, 'path.simplify': True, 'key
map.all_axes': 'a', 'polaraxes.grid': True, 'text.hinting': True, 
'pdf.compression': 6, 'grid.linewidth': 0.5, 'legend.frameon': True, 
'figure.autolayout': False, 'figure.facecolor': '0.75', 'ps.usedistiller': 
False, 'legend.isaxes': True, 'figure.edgecolor': 'w', 'mathtext.tt': 
'monospace', 'contour.negative_linestyle': 'dashed', 'image.interpolation': 
'bilinear', 'lines.markeredgewidth': 0.5, 'keymap.home': ['h', 'r', 'home'], 
'axes3d.grid': True, 'axes.edgecolor': 'k', 'legend.shadow': False, 
'axes.titlesize': 'large', 'backend': 'GTKAgg', 'xtick.major.size': 4, 
'keymap.xscale': ['k', 'L'], 'legend.fontsize': 'large', 
'lines.solid_capstyle': 'projecting', 'mathtext.it': 'serif:italic', 
'keymap.save': 's', 'font.variant': 'normal', 'toolbar': 'toolbar2', 
'xtick.labelsize': 'medium', 'axes.unicode_minus': True, 'ps.distiller.res': 
6000, 'axes.labelweight': 'normal', 'pdf.fonttype': 3, 'patch.linewidth': 1.0, 
'pdf.inheritcolor': False, 'axes.color_cycle': ['b', 'g', 'r', 'c', 'm', 'y'
, 'k'], 'lines.dash_capstyle': 'butt', 'lines.color': 'b', 
'figure.subplot.top': 0.9, 'pdf.use14corefonts': False, 'legend.markerscale': 
1.0, 'patch.antialiased': True, 'font.style': 'normal', 'keymap.forward': 
['right', 'v'], 'backend_fallback': True, 'legend.fancybox': False, 
'grid.linestyle': ':', 'savefig.extension': 'auto', 'text.color': 'k', 
'mathtext.rm': 'serif', 'legend.loc': 'upper right', 'interactive': False, 
'cairo.format': 'png', 'savefig.orientation': 'portrait', 'svg.image_inline': 
True, 'ytick.major.size': 4, 'axes.grid': False, 'plugins.directory': 
'.matplotlib_plugins', 'grid.color': 'k', 'timezone': 'UTC', 'ytick.major.pad': 
4, 'legend.borderpad': 0.4, 'examples.download': False, 'lines.dash_joinstyle': 
'round', 'datapath': '/usr/share/matplotlib/mpl-data', 'lines.antialiased': 
True, 'text.latex.unicode': False, 'legend.handleheight': 0.7, 'image.lut': 
256, 'figure.subplot.bottom': 0.1, 'text.latex.preamble': [''], 
'legend.numpoints': 2, 'legend.handlelength': 2.0,
 'keymap.grid': 'g', 'font.sans-serif': ['Bitstream Vera Sans', 'DejaVu Sans', 
'Lucida Grande', 'Verdana', 'Geneva', 'Lucid', 'Arial', 'Helvetica', 'Avant 
Garde', 'sans-serif'], 'axes.labelcolor': 'k', 'font.family': 'sans-serif', 
'axes.labelsize': 'medium', 'ytick.minor.pad': 4, 'legend.borderaxespad': 0.5, 
'mathtext.sf': 'sans\\-serif', 'axes.hold': True, 'verbose.level': 'silent', 
'mathtext.default': 'it', 'figure.subplot.left': 0.125, 'legend.columnspacing': 
2.0, 'text.latex.preview': False, 'font.weight': 'normal', 'keymap.yscale': 
'l', 'image.resample': False, 'agg.path.chunksize': 0, 
'path.simplify_threshold': 0.1111111111111111, 'ytick.labelsize': 'medium', 
'ps.papersize': 'letter', 'svg.embed_char_paths': True, 'keymap.back': ['left', 
'c', 'backspace']}
>>> font_manager.findfont('cmb10')
/usr/lib64/python2.7/site-packages/matplotlib/font_manager.py:1216: 
UserWarning: findfont: Font family ['cmb10'] not found. Falling back to 
Bitstream Vera Sans
  (prop.get_family(), self.defaultFamily[fontext]))
'/usr/share/fonts/mathematica-fonts/Vera.ttf'
>>> font_manager.findfont('Utopia')
/usr/lib64/python2.7/site-packages/matplotlib/font_manager.py:1216: 
UserWarning: findfont: Font family ['Utopia'] not found. Falling back to 
Bitstream Vera Sans
  (prop.get_family(), self.defaultFamily[fontext]))
'/usr/share/fonts/mathematica-fonts/Vera.ttf'
>>> font_manager.findfont('monospace')
'/usr/share/fonts/mathematica-fonts/VeraMono.ttf'
>>> font_manager.findfont('sans-serif')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib64/python2.7/site-packages/matplotlib/font_manager.py", line 
1327, in findfont
    font = fontManager.findfont(prop, **kw)
  File "/usr/lib64/python2.7/site-packages/matplotlib/font_manager.py", line 
1172, in findfont
    prop = FontProperties(prop)
  File "/usr/lib64/python2.7/site-packages/matplotlib/font_manager.py", line 
673, in __init__
    self.set_fontconfig_pattern(family)
  File "/usr/lib64/python2.7/site-packages/matplotlib/font_manager.py", line 
893, in set_fontconfig_pattern
    for key, val in self._parse_fontconfig_pattern(pattern).items():
  File "/usr/lib64/python2.7/site-packages/matplotlib/font_manager.py", line 
685, in _parse_fontconfig_pattern
    return parse_fontconfig_pattern(pattern)
  File "/usr/lib64/python2.7/site-packages/matplotlib/fontconfig_pattern.py", 
line 127, in parse
    raise ValueError("Could not parse font string: '%s'\n%s" % (pattern, e))
ValueError: Could not parse font string: 'sans-serif'
Expected end of text (at char 4), (line:1, col:5)
>>> font_manager.findfont('sans\\-serif')
'/usr/share/fonts/mathematica-fonts/Vera.ttf'
>>> [x for x in font_manager.rcParams.keys() if x.startswith('font')]
['font.cursive', 'font.family', 'font.fantasy', 'font.monospace', 
'font.sans-serif', 'font.serif', 'font.size', 'font.stretch', 'font.style', 
'font.variant', 'font.weight']
>>> [x for x in font_manager.rcParams.values() if x.startswith('cm')]
/usr/lib64/python2.7/site-packages/matplotlib/__init__.py:658: UserWarning: 
svg.embed_char_paths is deprecated and replaced with svg.fonttype; please use 
the latter.
  warnings.warn(self.msg_depr % (key, alt))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'int' object has no attribute 'startswith'
>>> [x for x in font_manager.rcParams.values() if str(x).startswith('cm')]
['cm']
>>> [x for x in font_manager.rcParams.items() if x[1]=='cm']
[('mathtext.fontset', 'cm')]
>>> [x for x in font_manager.rcParams.items() if x[1]=='10']
[]
>>> [x for x in font_manager.rcParams.items() if x[1]=='bold']
[]
>>> font_manager.findfont('cmb10')
'/usr/share/fonts/mathematica-fonts/Vera.ttf'
>>> font_manager.findfont('cmtt10')
/usr/lib64/python2.7/site-packages/matplotlib/font_manager.py:1216: 
UserWarning: findfont: Font family ['cmtt10'] not found. Falling back to 
Bitstream Vera Sans
  (prop.get_family(), self.defaultFamily[fontext]))
'/usr/share/fonts/mathematica-fonts/Vera.ttf'
>>> font_manager.findfont('cmss10')
/usr/lib64/python2.7/site-packages/matplotlib/font_manager.py:1216: 
UserWarning: findfont: Font family ['cmss10'] not found. Falling back to 
Bitstream Vera Sans
  (prop.get_family(), self.defaultFamily[fontext]))
'/usr/share/fonts/mathematica-fonts/Vera.ttf'
>>>


Michael Droettboom wrote:
> On 03/26/2012 04:36 PM, Martin Mokrejs wrote:
>> Hi,
>>    I wondered why the matplotlib.font_manager.rcParams contains sometimes
>> escaped minus signs in font names:
>>>>> font_manager.rcParams['mathtext.sf']
>> 'sans\\-serif'
>>>>> font_manager.findfont('sans-serif')
>> Traceback (most recent call last):
>>    File "<stdin>", line 1, in<module>
>>    File "/usr/lib64/python2.7/site-packages/matplotlib/font_manager.py", 
>> line 1327, in findfont
>>      font = fontManager.findfont(prop, **kw)
>>    File "/usr/lib64/python2.7/site-packages/matplotlib/font_manager.py", 
>> line 1172, in findfont
>>      prop = FontProperties(prop)
>>    File "/usr/lib64/python2.7/site-packages/matplotlib/font_manager.py", 
>> line 673, in __init__
>>      self.set_fontconfig_pattern(family)
>>    File "/usr/lib64/python2.7/site-packages/matplotlib/font_manager.py", 
>> line 893, in set_fontconfig_pattern
>>      for key, val in self._parse_fontconfig_pattern(pattern).items():
>>    File "/usr/lib64/python2.7/site-packages/matplotlib/font_manager.py", 
>> line 685, in _parse_fontconfig_pattern
>>      return parse_fontconfig_pattern(pattern)
>>    File 
>> "/usr/lib64/python2.7/site-packages/matplotlib/fontconfig_pattern.py", line 
>> 127, in parse
>>      raise ValueError("Could not parse font string: '%s'\n%s" % (pattern, e))
>> ValueError: Could not parse font string: 'sans-serif'
>> Expected end of text (at char 4), (line:1, col:5)
>>>>> font_manager.findfont('sans\\-serif')
>> '/usr/share/fonts/mathematica-fonts/Vera.ttf'
>>
>> And there is nothing to read in the help string for this function, definitely
>> a place where the escaping should be explained.
>>
>>>>> help(font_manager.findfont)
>>>>>
>> Anyway, I think the requirement for the escaping should be removed, it 
>> should be
>> escaped internally in the routine. So why is it so? For historic reasons? ;-)
> 
> I've never seen this happen before.  Are you setting "mathtext.sf" in a 
> matplotlibrc file or in Python code?  Can you provide either so I can 
> see if I can reproduce the problem here?

See above. In python. I just wondered whether it was typo or escaping. Still 
think
it should be hidden to the user.


>> Isn't the escaping a cause for the seemingly missing fonts, like reported 
>> here?
>> http://www.mail-archive.com/matplotlib-users@lists.sourceforge.net/msg22860.html
> 
> No -- that appears to be caused by either using the wrong font name or 
> having an outdated font cache.
> 
>>
>>
>> I am also getting:
>>
>> /usr/lib64/python2.7/site-packages/matplotlib/font_manager.py:1216: 
>> UserWarning: findfont: Font family ['cmb10'] not found. Falling back to 
>> Bitstream Vera Sans
>>    (prop.get_family(), self.defaultFamily[fontext]))
>> /usr/lib64/python2.7/site-packages/matplotlib/font_manager.py:1216: 
>> UserWarning: findfont: Font family ['cmtt10'] not found. Falling back to 
>> Bitstream Vera Sans
>>    (prop.get_family(), self.defaultFamily[fontext]))
>> /usr/lib64/python2.7/site-packages/matplotlib/font_manager.py:1216: 
>> UserWarning: findfont: Font family ['cmss10'] not found. Falling back to 
>> Bitstream Vera Sans
>>    (prop.get_family(), self.defaultFamily[fontext]))
>>
>> The font to be used is assembled from several fields in the rcParams. I 
>> guess from:
>>
>>>>> [x for x in font_manager.rcParams.keys() if x.startswith('font')]
>> ['font.cursive', 'font.family', 'font.fantasy', 'font.monospace', 
>> 'font.sans-serif', 'font.serif', 'font.size', 'font.stretch', 'font.style', 
>> 'font.variant', 'font.weight']
>>>>> [x for x in font_manager.rcParams.values() if x.startswith('cm')]
>> /usr/lib64/python2.7/site-packages/matplotlib/__init__.py:658: UserWarning: 
>> svg.embed_char_paths is deprecated and replaced with svg.fonttype; please 
>> use the latter.
>>    warnings.warn(self.msg_depr % (key, alt))
>> Traceback (most recent call last):
>>    File "<stdin>", line 1, in<module>
>> AttributeError: 'int' object has no attribute 'startswith'
>>>>> [x for x in font_manager.rcParams.items() if x[1]=='cm']
>> [('mathtext.fontset', 'cm')]
>> What else is used to give out the 'cmb10', 'cmtt10' and 'cmss10'?
> 
> These are hardcoded in the mathtext engine and used when 
> `mathtext.fontset` is set to `cm`.

So my case (defaults).

> 
> Have you tried deleting your font cache?  (~/.matplotlib/fontList.cache)

Ah, thanks for the full PATH, I couldn't find it. ;-) Yes, removing the file 
helped
me as well to get rid of the UserWarning message.

Martin

------------------------------------------------------------------------------
This SF email is sponsosred by:
Try Windows Azure free for 90 days Click Here 
http://p.sf.net/sfu/sfd2d-msazure
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to