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.55 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":";;;;AAKa,MAAA,qBAAA,uBAA4B,GAA6B,GAAA;AAStE,eAAsB,WAClB,YAEJ,EAAA;AACI,EAAA,MAAM,YAAe,GAAA,YAAA,CAChB,MAAO,CAAA,CAAC,eAAe,KAAM,CAAA,GAAA,CAAI,CAAG,EAAA,UAAU,CAAU,QAAA,CAAA,CAAC,CACzD,CAAA,GAAA,CAAI,CAAC,UACN,KAAA;AACI,IAAA,IAAI,CAAC,qBAAA,CAAsB,GAAI,CAAA,UAAU,CACzC,EAAA;AACI,MAAA,MAAM,EAAE,OAAQ,EAAA,GAAI,MAAM,GAAmB,CAAA,CAAA,EAAG,UAAU,CAAU,QAAA,CAAA,CAAA,CAAA;AACpE,MAAA,MAAM,WAA8B,EAAC,CAAA;AAErC,MAAQ,OAAA,CAAA,OAAA,CAAQ,CAAC,KACjB,KAAA;AACI,QAAA,MAAM,MAAM,KAAM,CAAA,GAAA,CAAA;AAClB,QAAA,MAAM,QAAQ,KAAM,CAAA,KAAA,CAAA;AAEpB,QAAA,MAAM,GAAM,GAAA,KAAA,CAAM,GAAI,CAAA,CAAC,IAAU,MAAA,EAAE,MAAQ,EAAA,IAAA,CAAK,MAAQ,EAAA,KAAA,EAAO,IAAK,CAAA,KAAA,EAAQ,CAAA,CAAA,CAAA;AAG5E,QAAS,QAAA,CAAA,IAAA;AAAA,UACL,GAAG,GAAI,CAAA,GAAA;AAAA,YAAI,CAAC,KACR,KAAA,WAAA;AAAA,cACI;AAAA,gBACI,YAAY,KAAM,CAAA,MAAA;AAAA,gBAClB,WAAW,KAAM,CAAA,KAAA;AAAA,gBACjB,UAAA;AAAA,eACJ;AAAA,cACA,GAAA;AAAA,aACJ;AAAA,WACJ;AAAA,SACJ,CAAA;AAAA,OACH,CAAA,CAAA;AACD,MAAsB,qBAAA,CAAA,GAAA;AAAA,QAClB,UAAA;AAAA,QACA,OAAA,CAAQ,GAAI,CAAA,QAAQ,CAAE,CAAA,IAAA,CAAK,CAAC,GAAQ,KAAA,GAAA,CAAI,IAAK,CAAA,IAAI,CAAC,CAAA;AAAA,OACtD,CAAA;AAAA,KACJ;AAEA,IAAO,OAAA,qBAAA,CAAsB,IAAI,UAAU,CAAA,CAAA;AAAA,GAC9C,CAAA,CAAA;AAEL,EAAA,OAAA,CAAQ,MAAM,OAAQ,CAAA,GAAA,CAAI,YAAY,CAAA,EAAG,KAAK,IAAI,CAAA,CAAA;AACtD;;;;"}