diff --git a/src/calibre/utils/fonts/scanner.py b/src/calibre/utils/fonts/scanner.py index 862b537f35..a7d6a8f3e4 100644 --- a/src/calibre/utils/fonts/scanner.py +++ b/src/calibre/utils/fonts/scanner.py @@ -103,10 +103,16 @@ def font_dirs(): winutil, err = plugins['winutil'] if err: raise RuntimeError('Failed to load winutil: %s'%err) - try: - return [winutil.special_folder_path(winutil.CSIDL_FONTS)] - except ValueError: - return [r'C:\Windows\Fonts'] + paths = {os.path.normcase(r'C:\Windows\Fonts')} + for which in (winutil.CSIDL_FONTS, winutil.CSIDL_LOCAL_APPDATA, winutil.CSIDL_APPDATA): + try: + path = winutil.special_folder_path(winutil.CSIDL_FONTS) + except ValueError: + continue + if which != winutil.CSIDL_FONTS: + path = os.path.join(path, r'Microsoft\Windows\Fonts') + paths.add(os.path.normcase(path)) + return list(paths) if isosx: return [ '/Library/Fonts',