2024-04-30 01:00:11 -05:00
|
|
|
import slugify from 'slugify';
|
|
|
|
|
2024-05-07 05:18:15 -05:00
|
|
|
import { translateFontVariantId } from '@plugin/translators/text/font/gfonts';
|
2024-04-30 01:00:11 -05:00
|
|
|
|
2024-05-06 01:06:14 -05:00
|
|
|
import { FontId } from '@ui/lib/types/shapes/textShape';
|
2024-04-30 01:00:11 -05:00
|
|
|
|
|
|
|
import { items as gfonts } from './gfonts.json';
|
|
|
|
import { GoogleFont } from './googleFont';
|
|
|
|
|
|
|
|
export const translateGoogleFont = (fontName: FontName, fontWeight: number): FontId | undefined => {
|
|
|
|
const googleFont = getGoogleFont(fontName);
|
|
|
|
|
|
|
|
if (googleFont === undefined) return;
|
|
|
|
|
|
|
|
return {
|
|
|
|
fontId: `gfont-${slugify(fontName.family.toLowerCase())}`,
|
|
|
|
fontVariantId: translateFontVariantId(googleFont, fontName, fontWeight)
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2024-05-03 06:43:07 -05:00
|
|
|
export const isGoogleFont = (fontName: FontName): boolean => {
|
|
|
|
return getGoogleFont(fontName) !== undefined;
|
|
|
|
};
|
|
|
|
|
2024-04-30 01:00:11 -05:00
|
|
|
const getGoogleFont = (fontName: FontName): GoogleFont | undefined => {
|
|
|
|
return gfonts.find(font => font.family === fontName.family);
|
|
|
|
};
|