@nowline/export-core 0.0.0-dev.20260601071750.g04bdff9 → 0.0.0-dev.20260603150914.g70caedb
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/fonts/browser.d.ts +10 -0
- package/dist/fonts/browser.d.ts.map +1 -0
- package/dist/fonts/browser.js +43 -0
- package/dist/fonts/browser.js.map +1 -0
- package/dist/fonts/index.d.ts +1 -0
- package/dist/fonts/index.d.ts.map +1 -1
- package/dist/fonts/index.js +1 -0
- package/dist/fonts/index.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
- package/src/fonts/browser.ts +47 -0
- package/src/fonts/index.ts +1 -0
- package/src/index.ts +1 -0
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { ResolvedFontPair } from '../types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Return the canonical bundled DejaVu font pair decoded with browser-compatible
|
|
4
|
+
* APIs (`atob`). Result is cached after the first call so the ~1 MB decode only
|
|
5
|
+
* runs once per page. Safe to call before wasm initialization.
|
|
6
|
+
*/
|
|
7
|
+
export declare function loadBundledFontsForBrowser(): ResolvedFontPair;
|
|
8
|
+
/** Test seam: drop the cached pair so isolated tests start fresh. */
|
|
9
|
+
export declare function _clearBrowserFontsCache(): void;
|
|
10
|
+
//# sourceMappingURL=browser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../src/fonts/browser.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAWpD;;;;GAIG;AACH,wBAAgB,0BAA0B,IAAI,gBAAgB,CAY7D;AAED,qEAAqE;AACrE,wBAAgB,uBAAuB,IAAI,IAAI,CAE9C"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
// Browser-compatible bundled font loader.
|
|
2
|
+
//
|
|
3
|
+
// Same bundled DejaVu bytes as loadBundledSans/loadBundledMono (Node), but
|
|
4
|
+
// decoded with `atob()` instead of Node's `Buffer.from()` so the module
|
|
5
|
+
// bundles cleanly for the browser (the Free/Pro web apps, Playwright legs).
|
|
6
|
+
//
|
|
7
|
+
// Usage: `loadBundledFontsForBrowser()` returns a cached `ResolvedFontPair`
|
|
8
|
+
// synchronously after the first call. Call it once at module init or lazy-once
|
|
9
|
+
// inside your `loadWasm` / font-loading step.
|
|
10
|
+
//
|
|
11
|
+
// Node callers: use `loadBundledSans()` / `loadBundledMono()` from bundled.ts.
|
|
12
|
+
import { MONO_BASE64, SANS_BASE64 } from '../generated/bundled-fonts.js';
|
|
13
|
+
function b64ToBytes(b64) {
|
|
14
|
+
const binary = atob(b64);
|
|
15
|
+
const out = new Uint8Array(binary.length);
|
|
16
|
+
for (let i = 0; i < binary.length; i++)
|
|
17
|
+
out[i] = binary.charCodeAt(i);
|
|
18
|
+
return out;
|
|
19
|
+
}
|
|
20
|
+
let cachedFonts;
|
|
21
|
+
/**
|
|
22
|
+
* Return the canonical bundled DejaVu font pair decoded with browser-compatible
|
|
23
|
+
* APIs (`atob`). Result is cached after the first call so the ~1 MB decode only
|
|
24
|
+
* runs once per page. Safe to call before wasm initialization.
|
|
25
|
+
*/
|
|
26
|
+
export function loadBundledFontsForBrowser() {
|
|
27
|
+
if (!cachedFonts) {
|
|
28
|
+
cachedFonts = {
|
|
29
|
+
sans: { name: 'DejaVu Sans', bytes: b64ToBytes(SANS_BASE64), source: 'bundled' },
|
|
30
|
+
mono: {
|
|
31
|
+
name: 'DejaVu Sans Mono',
|
|
32
|
+
bytes: b64ToBytes(MONO_BASE64),
|
|
33
|
+
source: 'bundled',
|
|
34
|
+
},
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
return cachedFonts;
|
|
38
|
+
}
|
|
39
|
+
/** Test seam: drop the cached pair so isolated tests start fresh. */
|
|
40
|
+
export function _clearBrowserFontsCache() {
|
|
41
|
+
cachedFonts = undefined;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=browser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/fonts/browser.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,EAAE;AACF,2EAA2E;AAC3E,wEAAwE;AACxE,4EAA4E;AAC5E,EAAE;AACF,4EAA4E;AAC5E,+EAA+E;AAC/E,8CAA8C;AAC9C,EAAE;AACF,+EAA+E;AAE/E,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAGzE,SAAS,UAAU,CAAC,GAAW;IAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;IACzB,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE;QAAE,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACtE,OAAO,GAAG,CAAC;AACf,CAAC;AAED,IAAI,WAAyC,CAAC;AAE9C;;;;GAIG;AACH,MAAM,UAAU,0BAA0B;IACtC,IAAI,CAAC,WAAW,EAAE,CAAC;QACf,WAAW,GAAG;YACV,IAAI,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE;YAChF,IAAI,EAAE;gBACF,IAAI,EAAE,kBAAkB;gBACxB,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC;gBAC9B,MAAM,EAAE,SAAS;aACpB;SACJ,CAAC;IACN,CAAC;IACD,OAAO,WAAW,CAAC;AACvB,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,uBAAuB;IACnC,WAAW,GAAG,SAAS,CAAC;AAC5B,CAAC"}
|
package/dist/fonts/index.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export { _clearBrowserFontsCache, loadBundledFontsForBrowser } from './browser.js';
|
|
1
2
|
export { BUNDLED_MONO_PATH, BUNDLED_SANS_PATH, clearBundledCache, loadBundledMono, loadBundledSans, } from './bundled.js';
|
|
2
3
|
export { ALIASES, aliasCandidate, type FontCandidate, isAlias, type PlatformProbe, probeListFor, } from './probe-list.js';
|
|
3
4
|
export type { ResolveOptions, ResolveResult } from './resolve.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/fonts/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,eAAe,GAClB,MAAM,cAAc,CAAC;AACtB,OAAO,EACH,OAAO,EACP,cAAc,EACd,KAAK,aAAa,EAClB,OAAO,EACP,KAAK,aAAa,EAClB,YAAY,GACf,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/fonts/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AACnF,OAAO,EACH,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,eAAe,GAClB,MAAM,cAAc,CAAC;AACtB,OAAO,EACH,OAAO,EACP,cAAc,EACd,KAAK,aAAa,EAClB,OAAO,EACP,KAAK,aAAa,EAClB,YAAY,GACf,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC"}
|
package/dist/fonts/index.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export { _clearBrowserFontsCache, loadBundledFontsForBrowser } from './browser.js';
|
|
1
2
|
export { BUNDLED_MONO_PATH, BUNDLED_SANS_PATH, clearBundledCache, loadBundledMono, loadBundledSans, } from './bundled.js';
|
|
2
3
|
export { ALIASES, aliasCandidate, isAlias, probeListFor, } from './probe-list.js';
|
|
3
4
|
export { FontResolveError, resolveFonts } from './resolve.js';
|
package/dist/fonts/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/fonts/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,eAAe,GAClB,MAAM,cAAc,CAAC;AACtB,OAAO,EACH,OAAO,EACP,cAAc,EAEd,OAAO,EAEP,YAAY,GACf,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/fonts/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AACnF,OAAO,EACH,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,eAAe,GAClB,MAAM,cAAc,CAAC;AACtB,OAAO,EACH,OAAO,EACP,cAAc,EAEd,OAAO,EAEP,YAAY,GACf,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { displayLabel, getProp, getProps, hasProp, type PropertyHost, roadmapTitle, } from './ast-helpers.js';
|
|
2
|
+
export { _clearBrowserFontsCache, loadBundledFontsForBrowser } from './fonts/browser.js';
|
|
2
3
|
export { BUNDLED_MONO_PATH, BUNDLED_SANS_PATH, clearBundledCache, loadBundledMono, loadBundledSans, } from './fonts/bundled.js';
|
|
3
4
|
export { ALIASES, aliasCandidate, type FontCandidate, isAlias, type PlatformProbe, probeListFor, } from './fonts/probe-list.js';
|
|
4
5
|
export { FontResolveError, type ResolveOptions, type ResolveResult, resolveFonts, } from './fonts/resolve.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,YAAY,EACZ,OAAO,EACP,QAAQ,EACR,OAAO,EACP,KAAK,YAAY,EACjB,YAAY,GACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACH,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,eAAe,GAClB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACH,OAAO,EACP,cAAc,EACd,KAAK,aAAa,EAClB,OAAO,EACP,KAAK,aAAa,EAClB,YAAY,GACf,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACH,gBAAgB,EAChB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,YAAY,GACf,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EACH,KAAK,YAAY,EACjB,UAAU,EACV,eAAe,EACf,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,WAAW,EACX,KAAK,YAAY,EACjB,WAAW,EACX,cAAc,GACjB,MAAM,eAAe,CAAC;AACvB,YAAY,EACR,YAAY,EACZ,QAAQ,EACR,UAAU,EACV,SAAS,EACT,aAAa,EACb,cAAc,EACd,WAAW,EACX,aAAa,EACb,YAAY,EACZ,gBAAgB,GACnB,MAAM,YAAY,CAAC;AACpB,OAAO,EACH,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,cAAc,GACjB,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,YAAY,EACZ,OAAO,EACP,QAAQ,EACR,OAAO,EACP,KAAK,YAAY,EACjB,YAAY,GACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,uBAAuB,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AACzF,OAAO,EACH,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,eAAe,GAClB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACH,OAAO,EACP,cAAc,EACd,KAAK,aAAa,EAClB,OAAO,EACP,KAAK,aAAa,EAClB,YAAY,GACf,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACH,gBAAgB,EAChB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,YAAY,GACf,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EACH,KAAK,YAAY,EACjB,UAAU,EACV,eAAe,EACf,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,WAAW,EACX,KAAK,YAAY,EACjB,WAAW,EACX,cAAc,GACjB,MAAM,eAAe,CAAC;AACvB,YAAY,EACR,YAAY,EACZ,QAAQ,EACR,UAAU,EACV,SAAS,EACT,aAAa,EACb,cAAc,EACd,WAAW,EACX,aAAa,EACb,YAAY,EACZ,gBAAgB,GACnB,MAAM,YAAY,CAAC;AACpB,OAAO,EACH,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,cAAc,GACjB,MAAM,YAAY,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { displayLabel, getProp, getProps, hasProp, roadmapTitle, } from './ast-helpers.js';
|
|
2
|
+
export { _clearBrowserFontsCache, loadBundledFontsForBrowser } from './fonts/browser.js';
|
|
2
3
|
export { BUNDLED_MONO_PATH, BUNDLED_SANS_PATH, clearBundledCache, loadBundledMono, loadBundledSans, } from './fonts/bundled.js';
|
|
3
4
|
export { ALIASES, aliasCandidate, isAlias, probeListFor, } from './fonts/probe-list.js';
|
|
4
5
|
export { FontResolveError, resolveFonts, } from './fonts/resolve.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,YAAY,EACZ,OAAO,EACP,QAAQ,EACR,OAAO,EAEP,YAAY,GACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACH,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,eAAe,GAClB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACH,OAAO,EACP,cAAc,EAEd,OAAO,EAEP,YAAY,GACf,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACH,gBAAgB,EAGhB,YAAY,GACf,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAEH,UAAU,EACV,eAAe,EACf,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,WAAW,EAEX,WAAW,EACX,cAAc,GACjB,MAAM,eAAe,CAAC;AAavB,OAAO,EACH,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,cAAc,GACjB,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,YAAY,EACZ,OAAO,EACP,QAAQ,EACR,OAAO,EAEP,YAAY,GACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,uBAAuB,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AACzF,OAAO,EACH,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,eAAe,GAClB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACH,OAAO,EACP,cAAc,EAEd,OAAO,EAEP,YAAY,GACf,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACH,gBAAgB,EAGhB,YAAY,GACf,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAEH,UAAU,EACV,eAAe,EACf,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,WAAW,EAEX,WAAW,EACX,cAAc,GACjB,MAAM,eAAe,CAAC;AAavB,OAAO,EACH,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,cAAc,GACjB,MAAM,YAAY,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nowline/export-core",
|
|
3
|
-
"version": "0.0.0-dev.
|
|
3
|
+
"version": "0.0.0-dev.20260603150914.g70caedb",
|
|
4
4
|
"description": "Nowline export-core — shared types, font resolver, unit converter, PDF page-size types",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"engines": {
|
|
@@ -34,8 +34,8 @@
|
|
|
34
34
|
"assets/"
|
|
35
35
|
],
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@nowline/
|
|
38
|
-
"@nowline/
|
|
37
|
+
"@nowline/layout": "0.0.0-dev.20260603150914.g70caedb",
|
|
38
|
+
"@nowline/core": "0.0.0-dev.20260603150914.g70caedb"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
41
|
"@types/node": "^25.9.1",
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
// Browser-compatible bundled font loader.
|
|
2
|
+
//
|
|
3
|
+
// Same bundled DejaVu bytes as loadBundledSans/loadBundledMono (Node), but
|
|
4
|
+
// decoded with `atob()` instead of Node's `Buffer.from()` so the module
|
|
5
|
+
// bundles cleanly for the browser (the Free/Pro web apps, Playwright legs).
|
|
6
|
+
//
|
|
7
|
+
// Usage: `loadBundledFontsForBrowser()` returns a cached `ResolvedFontPair`
|
|
8
|
+
// synchronously after the first call. Call it once at module init or lazy-once
|
|
9
|
+
// inside your `loadWasm` / font-loading step.
|
|
10
|
+
//
|
|
11
|
+
// Node callers: use `loadBundledSans()` / `loadBundledMono()` from bundled.ts.
|
|
12
|
+
|
|
13
|
+
import { MONO_BASE64, SANS_BASE64 } from '../generated/bundled-fonts.js';
|
|
14
|
+
import type { ResolvedFontPair } from '../types.js';
|
|
15
|
+
|
|
16
|
+
function b64ToBytes(b64: string): Uint8Array {
|
|
17
|
+
const binary = atob(b64);
|
|
18
|
+
const out = new Uint8Array(binary.length);
|
|
19
|
+
for (let i = 0; i < binary.length; i++) out[i] = binary.charCodeAt(i);
|
|
20
|
+
return out;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
let cachedFonts: ResolvedFontPair | undefined;
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Return the canonical bundled DejaVu font pair decoded with browser-compatible
|
|
27
|
+
* APIs (`atob`). Result is cached after the first call so the ~1 MB decode only
|
|
28
|
+
* runs once per page. Safe to call before wasm initialization.
|
|
29
|
+
*/
|
|
30
|
+
export function loadBundledFontsForBrowser(): ResolvedFontPair {
|
|
31
|
+
if (!cachedFonts) {
|
|
32
|
+
cachedFonts = {
|
|
33
|
+
sans: { name: 'DejaVu Sans', bytes: b64ToBytes(SANS_BASE64), source: 'bundled' },
|
|
34
|
+
mono: {
|
|
35
|
+
name: 'DejaVu Sans Mono',
|
|
36
|
+
bytes: b64ToBytes(MONO_BASE64),
|
|
37
|
+
source: 'bundled',
|
|
38
|
+
},
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
return cachedFonts;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/** Test seam: drop the cached pair so isolated tests start fresh. */
|
|
45
|
+
export function _clearBrowserFontsCache(): void {
|
|
46
|
+
cachedFonts = undefined;
|
|
47
|
+
}
|
package/src/fonts/index.ts
CHANGED