From f7bb92f2106ac990b817123720a4deff91273212 Mon Sep 17 00:00:00 2001 From: Eric Firing Date: Tue, 17 Sep 2013 10:28:44 -1000 Subject: [PATCH] BUG: in font_manager, handle unicode output from fontconfig OS X uses utf-8 filesystem encoding, so the bytes returned by fontconfig need to be interpreted as unicode using the system encoding. --- lib/matplotlib/font_manager.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/matplotlib/font_manager.py b/lib/matplotlib/font_manager.py index aae654d36802..662423324e74 100644 --- a/lib/matplotlib/font_manager.py +++ b/lib/matplotlib/font_manager.py @@ -20,6 +20,7 @@ found. """ from __future__ import absolute_import, division, print_function, unicode_literals +import sys import six from six.moves import cPickle as pickle @@ -276,7 +277,7 @@ def get_fontconfig_fonts(fontext='ttf'): return fontfiles if pipe.returncode == 0: - output = str(output) + output = six.text_type(output, sys.getfilesystemencoding()) for line in output.split('\n'): fname = line.split(':')[0] if (os.path.splitext(fname)[1][1:] in fontext and