From 9ccacffe81e0d4a48e4a4b19064460b94c6f77c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20W=C3=BCrtz?= Date: Wed, 5 Jun 2013 11:14:22 +0200 Subject: [PATCH] fixes #2097, pgf: get scalable system-fonts from fontconfig, rely on builtin fonts for tests --- lib/matplotlib/backends/backend_pgf.py | 23 ++++++++++++------ .../test_backend_pgf/pgf_mixedmode.pdf | Bin 24408 -> 14373 bytes lib/matplotlib/tests/test_backend_pgf.py | 8 ++++++ 3 files changed, 23 insertions(+), 8 deletions(-) diff --git a/lib/matplotlib/backends/backend_pgf.py b/lib/matplotlib/backends/backend_pgf.py index 917810b31518..1a7fcf429fa1 100644 --- a/lib/matplotlib/backends/backend_pgf.py +++ b/lib/matplotlib/backends/backend_pgf.py @@ -18,8 +18,6 @@ from matplotlib.text import Text from matplotlib.path import Path from matplotlib import _png, rcParams -from matplotlib import font_manager -from matplotlib.ft2font import FT2Font from matplotlib.cbook import is_string_like, is_writable_file_like from matplotlib.compat import subprocess from matplotlib.compat.subprocess import check_output @@ -29,14 +27,23 @@ # create a list of system fonts, all of these should work with xe/lua-latex system_fonts = [] -for f in font_manager.findSystemFonts(): +if sys.platform == 'win32': + from matplotlib import font_manager + from matplotlib.ft2font import FT2Font + for f in font_manager.win32InstalledFonts(): + try: + system_fonts.append(FT2Font(str(f)).family_name) + except: + pass # unknown error, skip this font +else: + # assuming fontconfig is installed and the command 'fc-list' exists try: - system_fonts.append(FT2Font(str(f)).family_name) - except RuntimeError: - pass # some fonts on osx are known to fail, print? + # search for scalable (non-bitmap) fonts + fc_list = check_output(["fc-list", ":outline,scalable", "family"]) + system_fonts = [f.split(",")[0] for f in fc_list.splitlines()] + system_fonts = list(set(system_fonts)) except: - pass # unknown error, skip this font - + pass def get_texcommand(): """Get chosen TeX system from rc.""" diff --git a/lib/matplotlib/tests/baseline_images/test_backend_pgf/pgf_mixedmode.pdf b/lib/matplotlib/tests/baseline_images/test_backend_pgf/pgf_mixedmode.pdf index 86dfbbc527cf5cfbc7a7aea95a97586e7c77e94a..8f510ea867d909d2b65b613c3bf22e8bdf26617f 100644 GIT binary patch delta 4435 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 delta 14602 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 O{P*dRTueb6_WuAzNLFD0 diff --git a/lib/matplotlib/tests/test_backend_pgf.py b/lib/matplotlib/tests/test_backend_pgf.py index 2a960e493201..0ff6c27be407 100644 --- a/lib/matplotlib/tests/test_backend_pgf.py +++ b/lib/matplotlib/tests/test_backend_pgf.py @@ -138,6 +138,10 @@ def test_pathclip(): if not check_for('xelatex'): raise SkipTest('xelatex + pgf is required') + rc_xelatex = {'font.family': 'serif', + 'pgf.rcfonts': False,} + mpl.rcParams.update(rc_xelatex) + plt.figure() plt.plot([0., 1e100], [0., 1e100]) plt.xlim(0, 1) @@ -152,6 +156,10 @@ def test_mixedmode(): if not check_for('xelatex'): raise SkipTest('xelatex + pgf is required') + rc_xelatex = {'font.family': 'serif', + 'pgf.rcfonts': False,} + mpl.rcParams.update(rc_xelatex) + Y, X = np.ogrid[-1:1:40j, -1:1:40j] plt.figure() plt.pcolor(X**2 + Y**2).set_rasterized(True)