mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Do not retry unsupported fonts every time the scanner is run
This commit is contained in:
parent
5b70d13765
commit
2844f87ba8
@ -13,7 +13,7 @@ from threading import Thread
|
|||||||
|
|
||||||
from calibre import walk, prints, as_unicode
|
from calibre import walk, prints, as_unicode
|
||||||
from calibre.constants import config_dir, iswindows, isosx, plugins, DEBUG
|
from calibre.constants import config_dir, iswindows, isosx, plugins, DEBUG
|
||||||
from calibre.utils.fonts.metadata import FontMetadata
|
from calibre.utils.fonts.metadata import FontMetadata, UnsupportedFont
|
||||||
from calibre.utils.fonts.utils import panose_to_css_generic_family
|
from calibre.utils.fonts.utils import panose_to_css_generic_family
|
||||||
from calibre.utils.icu import sort_key
|
from calibre.utils.icu import sort_key
|
||||||
|
|
||||||
@ -221,6 +221,7 @@ class Scanner(Thread):
|
|||||||
def build_families(self):
|
def build_families(self):
|
||||||
families = defaultdict(list)
|
families = defaultdict(list)
|
||||||
for f in self.cached_fonts.itervalues():
|
for f in self.cached_fonts.itervalues():
|
||||||
|
if not f: continue
|
||||||
lf = icu_lower(f['font-family'] or '')
|
lf = icu_lower(f['font-family'] or '')
|
||||||
if lf:
|
if lf:
|
||||||
families[lf].append(f)
|
families[lf].append(f)
|
||||||
@ -266,7 +267,11 @@ class Scanner(Thread):
|
|||||||
|
|
||||||
def read_font_metadata(self, path, fileid):
|
def read_font_metadata(self, path, fileid):
|
||||||
with lopen(path, 'rb') as f:
|
with lopen(path, 'rb') as f:
|
||||||
|
try:
|
||||||
fm = FontMetadata(f)
|
fm = FontMetadata(f)
|
||||||
|
except UnsupportedFont:
|
||||||
|
self.cached_fonts[fileid] = {}
|
||||||
|
else:
|
||||||
data = fm.to_dict()
|
data = fm.to_dict()
|
||||||
data['path'] = path
|
data['path'] = path
|
||||||
self.cached_fonts[fileid] = data
|
self.cached_fonts[fileid] = data
|
||||||
|
Loading…
x
Reference in New Issue
Block a user