pixi.js
Version:
<p align="center"> <a href="https://pixijs.com" target="_blank" rel="noopener noreferrer"> <img height="150" src="https://files.pixijs.download/branding/pixijs-logo-transparent-dark.svg?v=1" alt="PixiJS logo"> </a> </p> <br/> <p align="center">
1 lines • 3.47 kB
Source Map (JSON)
{"version":3,"file":"getFontCss.mjs","sources":["../../../../src/scene/text-html/utils/getFontCss.ts"],"sourcesContent":["import { Cache } from '../../../assets/cache/Cache';\nimport { type FontFaceCache } from '../../../assets/loader/parsers/loadWebFont';\nimport { loadFontCSS } from './loadFontCSS';\n\n/** @internal */\nexport const FontStylePromiseCache = new Map<string, Promise<string>>();\n\n/**\n * takes the font families and returns a css string that can be injected into a style tag\n * It will contain the font families and the font urls encoded as base64\n * @param fontFamilies - The font families to load\n * @returns - The css string\n * @internal\n */\nexport async function getFontCss(\n fontFamilies: string[],\n)\n{\n const fontPromises = fontFamilies\n .filter((fontFamily) => Cache.has(`${fontFamily}-and-url`))\n .map((fontFamily) =>\n {\n if (!FontStylePromiseCache.has(fontFamily))\n {\n const { entries } = Cache.get<FontFaceCache>(`${fontFamily}-and-url`);\n const promises: Promise<string>[] = [];\n\n entries.forEach((entry) =>\n {\n const url = entry.url;\n const faces = entry.faces;\n\n const out = faces.map((face) => ({ weight: face.weight, style: face.style }));\n\n // load each out font with the correct style\n promises.push(\n ...out.map((style) =>\n loadFontCSS(\n {\n fontWeight: style.weight,\n fontStyle: style.style,\n fontFamily,\n },\n url,\n ),\n ),\n );\n });\n FontStylePromiseCache.set(\n fontFamily,\n Promise.all(promises).then((css) => css.join('\\n')),\n );\n }\n\n return FontStylePromiseCache.get(fontFamily);\n });\n\n return (await Promise.all(fontPromises)).join('\\n');\n}\n"],"names":[],"mappings":";;;;AAKO,MAAM,qBAAA,uBAA4B,GAAA;AASzC,eAAsB,WAClB,YAAA,EAEJ;AACI,EAAA,MAAM,YAAA,GAAe,YAAA,CAChB,MAAA,CAAO,CAAC,eAAe,KAAA,CAAM,GAAA,CAAI,CAAA,EAAG,UAAU,CAAA,QAAA,CAAU,CAAC,CAAA,CACzD,GAAA,CAAI,CAAC,UAAA,KACN;AACI,IAAA,IAAI,CAAC,qBAAA,CAAsB,GAAA,CAAI,UAAU,CAAA,EACzC;AACI,MAAA,MAAM,EAAE,OAAA,EAAQ,GAAI,MAAM,GAAA,CAAmB,CAAA,EAAG,UAAU,CAAA,QAAA,CAAU,CAAA;AACpE,MAAA,MAAM,WAA8B,EAAC;AAErC,MAAA,OAAA,CAAQ,OAAA,CAAQ,CAAC,KAAA,KACjB;AACI,QAAA,MAAM,MAAM,KAAA,CAAM,GAAA;AAClB,QAAA,MAAM,QAAQ,KAAA,CAAM,KAAA;AAEpB,QAAA,MAAM,GAAA,GAAM,KAAA,CAAM,GAAA,CAAI,CAAC,IAAA,MAAU,EAAE,MAAA,EAAQ,IAAA,CAAK,MAAA,EAAQ,KAAA,EAAO,IAAA,CAAK,KAAA,EAAM,CAAE,CAAA;AAG5E,QAAA,QAAA,CAAS,IAAA;AAAA,UACL,GAAG,GAAA,CAAI,GAAA;AAAA,YAAI,CAAC,KAAA,KACR,WAAA;AAAA,cACI;AAAA,gBACI,YAAY,KAAA,CAAM,MAAA;AAAA,gBAClB,WAAW,KAAA,CAAM,KAAA;AAAA,gBACjB;AAAA,eACJ;AAAA,cACA;AAAA;AACJ;AACJ,SACJ;AAAA,MACJ,CAAC,CAAA;AACD,MAAA,qBAAA,CAAsB,GAAA;AAAA,QAClB,UAAA;AAAA,QACA,OAAA,CAAQ,GAAA,CAAI,QAAQ,CAAA,CAAE,IAAA,CAAK,CAAC,GAAA,KAAQ,GAAA,CAAI,IAAA,CAAK,IAAI,CAAC;AAAA,OACtD;AAAA,IACJ;AAEA,IAAA,OAAO,qBAAA,CAAsB,IAAI,UAAU,CAAA;AAAA,EAC/C,CAAC,CAAA;AAEL,EAAA,OAAA,CAAQ,MAAM,OAAA,CAAQ,GAAA,CAAI,YAAY,CAAA,EAAG,KAAK,IAAI,CAAA;AACtD;;;;"}