tav-media
Version:
Cross platform media editing framework
33 lines (32 loc) • 910 B
JavaScript
const fontNames = ['Arial', 'Courier New', 'Georgia', 'Times New Roman', 'Trebuchet MS', 'Verdana'];
export const defaultFontNames = (() => {
return ['emoji'].concat(...fontNames);
})();
export const getFontFamilies = (name, style = '') => {
if (!name)
return [];
const nameChars = name.split(' ');
let names = [];
if (nameChars.length === 1) {
names.push(name);
}
else {
names.push(nameChars.join(''));
names.push(nameChars.join(' '));
}
const fontFamilies = names.reduce((pre, cur) => {
if (!style) {
pre.push(`"${cur}"`);
}
else {
pre.push(`"${cur} ${style}"`);
pre.push(`"${cur}-${style}"`);
}
return pre;
}, []);
// Fallback font when style is not found.
if (style !== '') {
fontFamilies.push(`"${name}"`);
}
return fontFamilies;
};