mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Conversion: When subsetting fonts, handle multiple @font-face rules referring to the same physical font
This commit is contained in:
parent
ae00ff119a
commit
0b40e8a864
@ -36,7 +36,15 @@ class SubsetFonts(object):
|
|||||||
self.oeb.manifest.remove(font['item'])
|
self.oeb.manifest.remove(font['item'])
|
||||||
font['rule'].parentStyleSheet.deleteRule(font['rule'])
|
font['rule'].parentStyleSheet.deleteRule(font['rule'])
|
||||||
|
|
||||||
|
fonts = {}
|
||||||
for font in self.embedded_fonts:
|
for font in self.embedded_fonts:
|
||||||
|
item, chars = font['item'], font['chars']
|
||||||
|
if item.href in fonts:
|
||||||
|
fonts[item.href]['chars'] |= chars
|
||||||
|
else:
|
||||||
|
fonts[item.href] = font
|
||||||
|
|
||||||
|
for font in fonts.itervalues():
|
||||||
if not font['chars']:
|
if not font['chars']:
|
||||||
self.log('The font %s is unused. Removing it.'%font['src'])
|
self.log('The font %s is unused. Removing it.'%font['src'])
|
||||||
remove(font)
|
remove(font)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user