|
|
@@ -45,6 +45,11 @@ this.rulesMinifier = this.rulesMinifier || (() => {
|
|
|
stats.discarded += processed - style.sheet.cssRules.length;
|
|
|
}
|
|
|
});
|
|
|
+ doc.querySelectorAll("[style]").forEach(element => {
|
|
|
+ if (element.style.fontFamily) {
|
|
|
+ element.style.fontFamily.split(",").forEach(fontFamily => rulesData.fonts.used.add(getFontFamily(fontFamily)));
|
|
|
+ }
|
|
|
+ });
|
|
|
const unusedFonts = Array.from(rulesData.fonts.declared).filter(fontFamily => !rulesData.fonts.used.has(fontFamily));
|
|
|
doc.querySelectorAll("style").forEach(style => {
|
|
|
if (style.sheet) {
|
|
|
@@ -73,7 +78,7 @@ this.rulesMinifier = this.rulesMinifier || (() => {
|
|
|
stylesheetContent += rule.cssText;
|
|
|
rulesData.selectors.add(selector);
|
|
|
if (rule.style && rule.style.fontFamily) {
|
|
|
- rule.style.fontFamily.split(",").forEach(fontFamily => rulesData.fonts.used.add(fontFamily.trim()));
|
|
|
+ rule.style.fontFamily.split(",").forEach(fontFamily => rulesData.fonts.used.add(getFontFamily(fontFamily)));
|
|
|
}
|
|
|
}
|
|
|
} catch (error) {
|
|
|
@@ -82,7 +87,7 @@ this.rulesMinifier = this.rulesMinifier || (() => {
|
|
|
}
|
|
|
} else {
|
|
|
if (rule.type == CSSRule.FONT_FACE_RULE && rule.style && rule.style.fontFamily) {
|
|
|
- rulesData.fonts.declared.add(rule.style.fontFamily.trim());
|
|
|
+ rulesData.fonts.declared.add(getFontFamily(rule.style.fontFamily));
|
|
|
}
|
|
|
stylesheetContent += rule.cssText;
|
|
|
}
|
|
|
@@ -132,4 +137,13 @@ this.rulesMinifier = this.rulesMinifier || (() => {
|
|
|
return selector;
|
|
|
}
|
|
|
|
|
|
+ function getFontFamily(fontFamily) {
|
|
|
+ fontFamily = fontFamily.trim()
|
|
|
+ if (fontFamily.match(/^'(.*)'$/)) {
|
|
|
+ return fontFamily.replace(/^'(.*)'$/, "$1");
|
|
|
+ } else {
|
|
|
+ return fontFamily.replace(/^"(.*)"$/, "$1");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
})();
|