TrueType font is missing table

I am having trouble reproducing this, you might want to raise this issue
with the Fedora folks as they do some funny stuff with fonts + packaging
mpl.

Tom

PS this list has moved to matplotlib-users at python.org

···

On Mon, Jul 6, 2015 at 8:43 AM Neal Becker <ndbecker2 at gmail.com> wrote:

Neal Becker wrote:

> Using mpl 1.4.3 on Fedora 22, I'm trying to use stix font (so I can
render
> the unicode lambda label on the x-axis). I have every fedora package
> related to 'stix', I think. It displays ok in qtagg4, but if I try to
save
> to pdf if fails with
>
> RuntimeError Traceback (most recent call
> last) <ipython-input-2-7dee58c07264> in <module>()
> ----> 1 exec(open(r'/usr/tmp/python-8710q1Y.py').read()) # PYTHON-MODE
>
> <string> in <module>()
>
> /usr/lib64/python3.4/site-packages/matplotlib/pyplot.py in savefig(*args,
> **kwargs)
> 575 def savefig(*args, **kwargs):
> 576 fig = gcf()
> --> 577 res = fig.savefig(*args, **kwargs)
> 578 draw() # need this if 'transparent=True' to reset colors
> 579 return res
>
> /usr/lib64/python3.4/site-packages/matplotlib/figure.py in savefig(self,
> *args, **kwargs)
> 1474 self.set_frameon(frameon)
> 1475
> -> 1476 self.canvas.print_figure(*args, **kwargs)
> 1477
> 1478 if frameon:
>
> /usr/lib64/python3.4/site-packages/matplotlib/backend_bases.py in
> print_figure(self, filename, dpi, facecolor, edgecolor, orientation,
> format, **kwargs)
> 2209 orientation=orientation,
> 2210 bbox_inches_restore=_bbox_inches_restore,
> -> 2211 **kwargs)
> 2212 finally:
> 2213 if bbox_inches and restore_bbox:
>
> /usr/lib64/python3.4/site-packages/matplotlib/backends/backend_pdf.py in
> print_pdf(self, filename, **kwargs)
> 2489 file.endStream()
> 2490 else: # we opened the file above; now
> finish
> it off
> -> 2491 file.close()
> 2492
> 2493
>
> /usr/lib64/python3.4/site-packages/matplotlib/backends/backend_pdf.py in
> close(self)
> 523 self.endStream()
> 524 # Write out the various deferred objects
> --> 525 self.writeFonts()
> 526 self.writeObject(self.alphaStateObject,
> 527 dict([(val[0], val[1])
>
> /usr/lib64/python3.4/site-packages/matplotlib/backends/backend_pdf.py in
> writeFonts(self)
> 626 chars = self.used_characters.get(stat_key)
> 627 if chars is not None and len(chars[1]):
> --> 628 fonts[Fx] = self.embedTTF(realpath, chars[1])
> 629 self.writeObject(self.fontObject, fonts)
> 630
>
> /usr/lib64/python3.4/site-packages/matplotlib/backends/backend_pdf.py in
> embedTTF(self, filename, characters)
> 1101
> 1102 if fonttype == 3:
> -> 1103 return embedTTFType3(font, characters, descriptor)
> 1104 elif fonttype == 42:
> 1105 return embedTTFType42(font, characters, descriptor)
>
> /usr/lib64/python3.4/site-packages/matplotlib/backends/backend_pdf.py in
> embedTTFType3(font, characters, descriptor)
> 887 # actual outlines)
> 888 rawcharprocs = ttconv.get_pdf_charprocs(
> --> 889 filename.encode(sys.getfilesystemencoding()),
> glyph_ids)
> 890 charprocs = {}
> 891 for charname, stream in six.iteritems(rawcharprocs):
>
> RuntimeError: TrueType font is missing table
>

forgot to attach the code.

#!/usr/bin/python
# -*- coding: utf-8 -*-
data='''carriers,lambda,per
1,7,1.3e-4
1,8,3.0e-4
1,9,.0014
8,7,4.8e-4
8,8,1.3e-3
8,9,.0075
'''

import pandas as pd
try:
    from StringIO import StringIO
except ImportError:
    from io import StringIO
df = pd.read_csv (StringIO (data))
g = df.groupby ('carriers')
import matplotlib.pyplot as plt

import matplotlib as mpl
#mpl.rcParams['font.family'] = 'stix'
mpl.rc('font', family='DejaVu Sans')
#mpl.rc('font', family='stix')

import itertools
markers = itertools.cycle(['o','s','v'])

fig = plt.figure()
ax = fig.add_subplot(111)
for c, stuff in g:
    plt.semilogy (stuff['lambda'].values, stuff['per'].values,
label='carriers=%s'%c, marker=next(markers))

plt.legend (loc='best')
ax.set_xlabel (' ')
ax.set_ylabel ('per')
plt.grid(which='major', linestyle='solid')
plt.grid(which='minor', linestyle='dashed')
plt.savefig ('per_vs_lambda.pdf')

------------------------------------------------------------------------------
Don't Limit Your Business. Reach for the Cloud.
GigeNET's Cloud Solutions provide you with the tools and support that
you need to offload your IT needs and focus on growing your business.
Configured For All Businesses. Start Your Cloud Today.
https://www.gigenetcloud.com/
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users at lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/matplotlib-users/attachments/20150831/3731352e/attachment-0001.html>