From 2d96b9a83545239bc09151952d762b9ccc056912 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 31 Jan 2014 21:35:34 +0530 Subject: [PATCH] Edit Book: Fix subsetting embedded fonts not processing fonts included in a stylesheet that is itself referenced only by an @import rule --- resources/compiled_coffeescript.zip | Bin 78502 -> 78965 bytes .../ebooks/oeb/polish/font_stats.coffee | 18 +++++++++++++----- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/resources/compiled_coffeescript.zip b/resources/compiled_coffeescript.zip index b8b57bf86a1918c87cf9833b99ebfb5dc9d98fea..cc015df94aeef8b9a64a4aca6eb6bd8b111dddd6 100644 GIT binary patch delta 853 zcmZ`&&ubGw6wccuVppx9O`6(JGpMB5u+3(Rf+enAtPrZS#OOt34aqJIgiYAl6-p@{ z1Q8U840KL{1<^u9Q!hD+cvVoLe?n0NFJh0Pv$Nz!DbBLPzHi=q^S$rQzSs%veh(!U z=YyeWz#C^@UAS1iZapB8K)`#G^os&9x{Y9CN=8k)Q86&q&4%UZX1QYMwp%y)I9@Ug zhbjnW$un5!gipZN(B1APzKAqrx>m)hHLNrTWYizl=R*_N12CA8eCuN=Grhzm~ zrdy#`B~#BNlGp8nnLQTyto=QE93qcLCp_8YPx~mTB}Pj=i|@#4USz&>$$Hv(L4(Hc zt8Kt{vziy_iUgn(m2)9&`Nf7 z@b>I)HbJp*s>m?XIgFf-Q(YFd54}LoaPbMeF7U#nUyuU_d&krFGa8+Q@Kf~G) AApigX delta 400 zcmezRf@RrLmhI0a87GK0UlQ1UNq|wFQ*c(nJ*RJdL0^yXF))Cz{PYEej7k%2XHPGb zWVD=oe<#=EeZ8)m+ZivhY_{Q4Vw6hJQAo?rD~V4_OinGg1z6QtscQqv3-Y#}mw$;HJ%K!wHDTnY-4&-u7c?(*fGJi%OW@(N#}$u8{j zlMisHuqXh*>vgZOqS!6nEdUh&}4-Y&gly3jC`AYxm#JMi<>ZNOrLMaD8^n; zlv ans['text'] = text return ans +process_sheet = (sheet, font_faces) -> + for rule in sheet.cssRules + if rule.type == rule.FONT_FACE_RULE + process_font_face_rule(rule, font_faces) + else if rule.type == rule.IMPORT_RULE and rule.styleSheet + process_sheet(rule.styleSheet, font_faces) + +process_font_face_rule = (rule, font_faces) -> + fd = font_dict(rule.style) + fd['src'] = rule.style.getPropertyValue('src') + font_faces.push(fd) + class FontStats # This class is a namespace to expose functions via the # window.font_stats object. @@ -49,11 +61,7 @@ class FontStats get_font_face_rules: () -> font_faces = [] for sheet in document.styleSheets - for rule in sheet.cssRules - if rule.type == rule.FONT_FACE_RULE - fd = font_dict(rule.style) - fd['src'] = rule.style.getPropertyValue('src') - font_faces.push(fd) + process_sheet(sheet, font_faces) py_bridge.value = font_faces get_font_usage: () ->