MCPcopy
hub / github.com/unjs/fontaine / generateFontFallbacks

Function generateFontFallbacks

packages/fontless/src/css/render.ts:23–41  ·  view source on GitHub ↗
(family: string, data: FontFaceData, fallbacks?: Array<{ name: string, font: string }>)

Source from the content-addressed store, hash-verified

21}
22
23export async function generateFontFallbacks(family: string, data: FontFaceData, fallbacks?: Array<{ name: string, font: string }>): Promise<string[]> {
24 if (!fallbacks?.length)
25 return []
26
27 const fontURL = data.src!.find(s => 'url' in s) as RemoteFontSource | undefined
28 const metrics = await getMetricsForFamily(family) || (fontURL && await readMetrics(fontURL.originalURL || fontURL.url))
29
30 if (!metrics)
31 return []
32
33 const css: string[] = []
34 for (const fallback of fallbacks) {
35 css.push(generateFallbackFontFace(metrics, {
36 ...fallback,
37 metrics: await getMetricsForFamily(fallback.font) || undefined,
38 }))
39 }
40 return css
41}
42
43const formatMap: Record<string, string> = {
44 woff2: 'woff2',

Callers 1

addFontFaceDeclarationFunction · 0.90

Calls 2

getMetricsForFamilyFunction · 0.90
readMetricsFunction · 0.90

Tested by

no test coverage detected