Files
nothoughts/node_modules/pixi.js/lib/scene/text/canvas/utils/fontStringFromTextStyle.js
2025-08-04 18:57:35 +02:00

30 lines
928 B
JavaScript

'use strict';
"use strict";
const genericFontFamilies = [
"serif",
"sans-serif",
"monospace",
"cursive",
"fantasy",
"system-ui"
];
function fontStringFromTextStyle(style) {
const fontSizeString = typeof style.fontSize === "number" ? `${style.fontSize}px` : style.fontSize;
let fontFamilies = style.fontFamily;
if (!Array.isArray(style.fontFamily)) {
fontFamilies = style.fontFamily.split(",");
}
for (let i = fontFamilies.length - 1; i >= 0; i--) {
let fontFamily = fontFamilies[i].trim();
if (!/([\"\'])[^\'\"]+\1/.test(fontFamily) && !genericFontFamilies.includes(fontFamily)) {
fontFamily = `"${fontFamily}"`;
}
fontFamilies[i] = fontFamily;
}
return `${style.fontStyle} ${style.fontVariant} ${style.fontWeight} ${fontSizeString} ${fontFamilies.join(",")}`;
}
exports.fontStringFromTextStyle = fontStringFromTextStyle;
//# sourceMappingURL=fontStringFromTextStyle.js.map