Commits

Anonymous committed 4feca24

Quick fix for unicode file names and correct dict entries.

Comments (0)

Files changed (1)

         output = p.communicate()[0]
         retcode = p.returncode
         if sys.version_info[0] >= 3:
-            output = str (output, "ascii")
+            output = str (output, "utf-8")
     except OSError:
+        _families[None] = None
         _fonts[None] = None
+        return
 
     try:
         for line in output.split ("\n"):
             bold, italic = _getstyle (style)
             _addfont (filename, name, ftype, family, bold, italic)
     except Exception:
+        _families.clear ()
+        _fonts.clear ()
+        _families[None] = None
         _fonts[None] = None
 
 def _initfonts ():
     """
     if not _fonts:
         _initfonts ()
+    if None in _fonts:
+        return None
     return list (_families.keys ())
 
 def find_font (name, bold=False, italic=False, ftype=None):
     """
     if not _fonts:
         _initfonts ()
+    if None in _fonts:
+        return None
 
     if ftype:
         ftype = ftype.lower ()