[Matplotlib-users] Font issue while trying to save PS/EPS/SVG but not PDF
As suggested by Phil, I'm reposting github issue #2067 on this list. I use MPL 1.2.1 on Windows with Python 2.7.5. In my matplotlibrc I've set sans-serif font to Segoe UI. Now, if I try to save a plot to PDF, MPL saves it fine, but if I try PS or EPS or SVG it fails, because of the font set. (If I don't change the font everything is fine) Here is PDF info from mutool: PDF-1.4 Info object (27 0 R): /CreationDate (D:20130528120149+02'00') /Producer (matplotlib pdf backend) /Creator (matplotlib 1.2.1, http://matplotlib.sf.net) Pages: 1 Retrieving info from pages 1-1... Mediaboxes (1): 1 ( 10 0 R): [ 0 0 576 432 ] Fonts (1): 1 ( 10 0 R): Type3 'SegoeUI' (14 0 R) So I wonder how can MPL output PDF, but can't output PS/EPS, let aside SVG? And here is full trace from IPython: KeyError Traceback (most recent call last) ipython-input-63-6bec7f50eb05 in module() 1 savefig('test.eps') C:\Python27\lib\site-packages\matplotlib\pyplot.pyc in savefig(*args, **kwargs) 470 def savefig(*args, **kwargs): 471 fig = gcf() -- 472 return fig.savefig(*args, **kwargs) 473 474 @docstring.copy_dedent(Figure.ginput) C:\Python27\lib\site-packages\matplotlib\figure.pyc in savefig(self, *args, **kwargs) 1368 kwargs.setdefault('edgecolor', rcParams['savefig.edgecolor']) 1369 - 1370 self.canvas.print_figure(*args, **kwargs) 1371 1372 if transparent: C:\Python27\lib\site-packages\matplotlib\backend_bases.pyc in print_figure(self, filename, dpi, facecolor, edgecolor, orientation, format, **kwargs) 2094 orientation=orientation, 2095 bbox_inches_restore=_bbox_inches_restore, - 2096 **kwargs) 2097 finally: 2098 if bbox_inches and restore_bbox: C:\Python27\lib\site-packages\matplotlib\backend_bases.pyc in print_eps(self, *args, **kwargs) 1841 from backends.backend_ps import FigureCanvasPS # lazy import 1842 ps = self.switch_backends(FigureCanvasPS) - 1843 return ps.print_eps(*args, **kwargs) 1844 1845 def print_pdf(self, *args, **kwargs): C:\Python27\lib\site-packages\matplotlib\backends\backend_ps.pyc in print_eps(self, outfile, *args, **kwargs) 972 973 def print_eps(self, outfile, *args, **kwargs): -- 974 return self._print_ps(outfile, 'eps', *args, **kwargs) 975 976 C:\Python27\lib\site-packages\matplotlib\backends\backend_ps.pyc in _print_ps(self, outfile, format, *args, **kwargs) 1005 self._print_figure(outfile, format, imagedpi, facecolor, edgecolor, 1006orientation, isLandscape, papertype, - 1007**kwargs) 1008 1009 def _print_figure(self, outfile, format, dpi=72, facecolor='w', edgecolor='w', C:\Python27\lib\site-packages\matplotlib\backends\backend_ps.pyc in _print_figure(self, outfile, format, dpi, facecolor, edgecolor, orientation, isLandscape, papertype, **kwargs) 1098 bbox_inches_restore=_bbox_inches_restore) 1099 - 1100 self.figure.draw(renderer) 1101 1102 if dryrun: # return immediately if dryrun (tightbbox=True) C:\Python27\lib\site-packages\matplotlib\artist.pyc in draw_wrapper(artist, renderer, *args, **kwargs) 52 def draw_wrapper(artist, renderer, *args, **kwargs): 53 before(artist, renderer) --- 54 draw(artist, renderer, *args, **kwargs) 55 after(artist, renderer) 56 C:\Python27\lib\site-packages\matplotlib\figure.pyc in draw(self, renderer) 1004 dsu.sort(key=itemgetter(0)) 1005 for zorder, a, func, args in dsu: - 1006 func(*args) 1007 1008 renderer.close_group('figure') C:\Python27\lib\site-packages\matplotlib\artist.pyc in draw_wrapper(artist, renderer, *args, **kwargs) 52 def draw_wrapper(artist, renderer, *args, **kwargs): 53 before(artist, renderer) --- 54 draw(artist, renderer, *args, **kwargs) 55 after(artist, renderer) 56 C:\Python27\lib\site-packages\matplotlib\axes.pyc in draw(self, renderer, inframe) 2084 2085 for zorder, a in dsu: - 2086 a.draw(renderer) 2087 2088 renderer.close_group('axes') C:\Python27\lib\site-packages\matplotlib\artist.pyc in draw_wrapper(artist, renderer, *args, **kwargs) 52 def draw_wrapper(artist, renderer, *args, **kwargs): 53 before(artist, renderer) --- 54 draw(artist, renderer, *args, **kwargs) 55 after(artist, renderer) 56 C:\Python27\lib\site-packages\matplotlib\axis.pyc in draw(self, renderer, *args, **kwargs) 1053
Re: [Matplotlib-users] Font issue while trying to save PS/EPS/SVG but not PDF
Which version of Windows are you on? Apparently, the Segoe UI font is different on Windows 7 and 8 and I'd like to download and test with the correct one. Mike On 05/28/2013 06:12 AM, klo uo wrote: As suggested by Phil, I'm reposting github issue #2067 on this list. I use MPL 1.2.1 on Windows with Python 2.7.5. In my matplotlibrc I've set sans-serif font to Segoe UI. Now, if I try to save a plot to PDF, MPL saves it fine, but if I try PS or EPS or SVG it fails, because of the font set. (If I don't change the font everything is fine) Here is PDF info from mutool: PDF-1.4 Info object (27 0 R): /CreationDate (D:20130528120149+02'00') /Producer (matplotlib pdf backend) /Creator (matplotlib 1.2.1, http://matplotlib.sf.net) Pages: 1 Retrieving info from pages 1-1... Mediaboxes (1): 1 ( 10 0 R): [ 0 0 576 432 ] Fonts (1): 1 ( 10 0 R): Type3 'SegoeUI' (14 0 R) So I wonder how can MPL output PDF, but can't output PS/EPS, let aside SVG? And here is full trace from IPython: KeyError Traceback (most recent call last) ipython-input-63-6bec7f50eb05 in module() 1 savefig('test.eps') C:\Python27\lib\site-packages\matplotlib\pyplot.pyc in savefig(*args, **kwargs) 470 def savefig(*args, **kwargs): 471 fig = gcf() -- 472 return fig.savefig(*args, **kwargs) 473 474 @docstring.copy_dedent(Figure.ginput) C:\Python27\lib\site-packages\matplotlib\figure.pyc in savefig(self, *args, **kwargs) 1368 kwargs.setdefault('edgecolor', rcParams['savefig.edgecolor']) 1369 - 1370 self.canvas.print_figure(*args, **kwargs) 1371 1372 if transparent: C:\Python27\lib\site-packages\matplotlib\backend_bases.pyc in print_figure(self, filename, dpi, facecolor, edgecolor, orientation, format, **kwargs) 2094 orientation=orientation, 2095 bbox_inches_restore=_bbox_inches_restore, - 2096 **kwargs) 2097 finally: 2098 if bbox_inches and restore_bbox: C:\Python27\lib\site-packages\matplotlib\backend_bases.pyc in print_eps(self, *args, **kwargs) 1841 from backends.backend_ps import FigureCanvasPS # lazy import 1842 ps = self.switch_backends(FigureCanvasPS) - 1843 return ps.print_eps(*args, **kwargs) 1844 1845 def print_pdf(self, *args, **kwargs): C:\Python27\lib\site-packages\matplotlib\backends\backend_ps.pyc in print_eps(self, outfile, *args, **kwargs) 972 973 def print_eps(self, outfile, *args, **kwargs): -- 974 return self._print_ps(outfile, 'eps', *args, **kwargs) 975 976 C:\Python27\lib\site-packages\matplotlib\backends\backend_ps.pyc in _print_ps(self, outfile, format, *args, **kwargs) 1005 self._print_figure(outfile, format, imagedpi, facecolor, edgecolor, 1006orientation, isLandscape, papertype, - 1007**kwargs) 1008 1009 def _print_figure(self, outfile, format, dpi=72, facecolor='w', edgecolor='w', C:\Python27\lib\site-packages\matplotlib\backends\backend_ps.pyc in _print_figure(self, outfile, format, dpi, facecolor, edgecolor, orientation, isLandscape, papertype, **kwargs) 1098 bbox_inches_restore=_bbox_inches_restore) 1099 - 1100 self.figure.draw(renderer) 1101 1102 if dryrun: # return immediately if dryrun (tightbbox=True) C:\Python27\lib\site-packages\matplotlib\artist.pyc in draw_wrapper(artist, renderer, *args, **kwargs) 52 def draw_wrapper(artist, renderer, *args, **kwargs): 53 before(artist, renderer) --- 54 draw(artist, renderer, *args, **kwargs) 55 after(artist, renderer) 56 C:\Python27\lib\site-packages\matplotlib\figure.pyc in draw(self, renderer) 1004 dsu.sort(key=itemgetter(0)) 1005 for zorder, a, func, args in dsu: - 1006 func(*args) 1007 1008 renderer.close_group('figure') C:\Python27\lib\site-packages\matplotlib\artist.pyc in draw_wrapper(artist, renderer, *args, **kwargs) 52 def draw_wrapper(artist, renderer, *args, **kwargs): 53 before(artist, renderer) --- 54 draw(artist, renderer, *args, **kwargs) 55 after(artist, renderer) 56 C:\Python27\lib\site-packages\matplotlib\axes.pyc in draw(self, renderer, inframe) 2084 2085 for zorder, a in dsu: - 2086 a.draw(renderer) 2087 2088 renderer.close_group('axes') C:\Python27\lib\site-packages\matplotlib\artist.pyc in
Re: [Matplotlib-users] Font issue while trying to save PS/EPS/SVG but not PDF
On Tue, May 28, 2013 at 4:40 PM, Michael Droettboom wrote: Which version of Windows are you on? Apparently, the Segoe UI font is different on Windows 7 and 8 and I'd like to download and test with the correct one. I'm on Windows XP, but problem was with the name of the font. This font's name is Segoe UI and if I reference it in matplotlibrc as SegoeUI (without space), then it works in all above vector formats. Segoe UI works only in PDF. -- Try New Relic Now We'll Send You this Cool Shirt New Relic is the only SaaS-based application performance monitoring service that delivers powerful full stack analytics. Optimize and monitor your browser, app, servers with just a few lines of code. Try New Relic and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_may ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users