diff --git a/lib/matplotlib/font_manager.py b/lib/matplotlib/font_manager.py index 57c57667206a..5a23960fc46b 100644 --- a/lib/matplotlib/font_manager.py +++ b/lib/matplotlib/font_manager.py @@ -196,11 +196,16 @@ def list_fonts(directory, extensions): recursively under the directory. """ extensions = ["." + ext for ext in extensions] - return [os.path.join(dirpath, filename) - # os.walk ignores access errors, unlike Path.glob. - for dirpath, _, filenames in os.walk(directory) - for filename in filenames - if Path(filename).suffix.lower() in extensions] + if sys.platform == 'win32' and directory == win32FontDirectory(): + return [os.path.join(directory, filename) + for filename in os.listdir(directory) + if os.path.isfile(filename)] + else: + return [os.path.join(dirpath, filename) + # os.walk ignores access errors, unlike Path.glob. + for dirpath, _, filenames in os.walk(directory) + for filename in filenames + if Path(filename).suffix.lower() in extensions] def win32FontDirectory():