0
Fork 0
mirror of https://github.com/penpot/penpot-exporter-figma-plugin.git synced 2025-01-10 09:00:08 -05:00
penpot-exporter-figma-plugin/plugin-src/translators/text/gfonts/translateGoogleFont.ts
Alex Sánchez c013e80962
Custom Fonts (#82)
* wip

* moved logic to validate custom fonts

* missing fonts section

* lint

* refactor and improve

* simplify resize

* refactor

* Implemente custom fonts

* styling plugin

* styling plugin

* minor styling fix

* changeset

* fix

* fix eslint

---------

Co-authored-by: Jordi Sala Morales <jordism91@gmail.com>
2024-05-03 13:43:07 +02:00

27 lines
859 B
TypeScript

import slugify from 'slugify';
import { translateFontVariantId } from '@plugin/translators/text/gfonts';
import { FontId } from '@ui/lib/types/text/textContent';
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)
};
};
export const isGoogleFont = (fontName: FontName): boolean => {
return getGoogleFont(fontName) !== undefined;
};
const getGoogleFont = (fontName: FontName): GoogleFont | undefined => {
return gfonts.find(font => font.family === fontName.family);
};