|
@@ -291,11 +291,22 @@ this.fontsMinifier = this.fontsMinifier || (() => {
|
|
|
}
|
|
}
|
|
|
const font = declarations.children.filter(node => node.property == "font").tail;
|
|
const font = declarations.children.filter(node => node.property == "font").tail;
|
|
|
if (font) {
|
|
if (font) {
|
|
|
- for (let node = font.data.value.children.tail; node && node.data.type != "WhiteSpace"; node = node.prev) {
|
|
|
|
|
- if (node.data.type == "String" || node.data.type == "Identifier") {
|
|
|
|
|
- fontFamilyNames.push(getFontFamily(cssTree.generate(node.data)));
|
|
|
|
|
|
|
+ let familyName = "";
|
|
|
|
|
+ const findPreviousComma = node => {
|
|
|
|
|
+ for (; node && !(node.data.type == "Operator" && node.data.value == ","); node = node.prev);
|
|
|
|
|
+ return node;
|
|
|
|
|
+ }
|
|
|
|
|
+ for (let node = font.data.value.children.tail; node && (node.data.type != "WhiteSpace" || findPreviousComma(node)); node = node.prev) {
|
|
|
|
|
+ if (node.data.type == "Operator" && node.data.value == "," && familyName) {
|
|
|
|
|
+ fontFamilyNames.push(getFontFamily(familyName));
|
|
|
|
|
+ familyName = "";
|
|
|
|
|
+ } else {
|
|
|
|
|
+ familyName = cssTree.generate(node.data) + familyName;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+ if (familyName) {
|
|
|
|
|
+ fontFamilyNames.push(getFontFamily(familyName));
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
return fontFamilyNames;
|
|
return fontFamilyNames;
|
|
|
}
|
|
}
|