cannot change font to Helvetica in Matplotlib in Python on Mac OS X 10.6
Question: I am trying to change the matplotlib font to helvetica, which I'd like to use
in a PDF plot. I try the following:

    
    
    import matplotlib
    matplotlib.use('PDF')
    import matplotlib.pylab as plt
    from matplotlib import rc
    plt.rcParams['ps.useafm'] = True
    rc('font',**{'family':'sans-serif','sans-serif':['Helvetica']})
    plt.rcParams['pdf.fonttype'] = 42
    

This does not work -- when I run my code with --verbose-debug, I get the
error:

    
    
    backend WXAgg version 2.8.10.1
    /Library/Frameworks/Python.framework/Versions/6.2/lib/python2.6/site-packages/matplotlib/__init__.py:833: UserWarning:  This call to matplotlib.use() has no effect
    because the the backend has already been chosen;
    matplotlib.use() must be called *before* pylab, matplotlib.pyplot,
    or matplotlib.backends is imported for the first time.
    findfont: Could not match :family=sans-serif:style=normal:variant=normal:weight=normal:stretch=normal:size=medium. Returning /Library/Frameworks/Python.framework/Versions/6.2/lib/python2.6/site-packages/matplotlib/mpl-data/fonts/ttf/Vera.ttf
    Assigning font /F1 = /Library/Frameworks/Python.framework/Versions/6.2/lib/python2.6/site-packages/matplotlib/mpl-data/fonts/ttf/Vera.ttf
    Embedding font /Library/Frameworks/Python.framework/Versions/6.2/lib/python2.6/site-packages/matplotlib/mpl-data/fonts/ttf/Vera.ttf
    Writing TrueType font
    

So apparently it cannot find Helvetica. I am not sure why. I have Helvetica in
the afm directory of mpl-data, and when matplotlib initiates it reads it and
outputs:

    
    
    createFontDict: /Library/Frameworks/Python.framework/Versions/6.2/lib/python2.6/site-packages/matplotlib/mpl-data/fonts/afm/Helvetica.afm
    

Do I need a special .ttf Helvetica font in addition? If so, how can I get it?
I know I have Helvetica on my system since I see it in Illustrator and many
other programs.

I am using Enthought Python distribution as follows:

    
    
    $ python
    Enthought Python Distribution -- http://www.enthought.com
    Version: 6.2-2 (32-bit)
    
    Python 2.6.5 |EPD 6.2-2 (32-bit)| (r265:79063, May 28 2010, 15:13:03) 
    [GCC 4.0.1 (Apple Inc. build 5488)] on darwin
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import matplotlib
    >>> matplotlib.__version__
    '0.99.3'
    

Any ideas how this can be fixed?

thanks.


Answer: The solution is to use fondu to convert the .dfont Helvetica font from Mac OS
X into .ttf, and then place that in the mpl-data/fonts directory that
Matplotlib looks in. That solved the issue.

