From 09f5d2a282dd8f58d290781c0be9aebf9af4a83a Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Thu, 23 Oct 2025 21:20:18 -0400 Subject: [PATCH 1/2] Add a fonts loader path and have fonts use that for accessing their data. --- components/mjs/input/tex/extension.js | 6 ++---- components/mjs/output/util.js | 6 +----- ts/components/loader.ts | 1 + 3 files changed, 4 insertions(+), 9 deletions(-) diff --git a/components/mjs/input/tex/extension.js b/components/mjs/input/tex/extension.js index f7cf7ff4e..84c7a4ef3 100644 --- a/components/mjs/input/tex/extension.js +++ b/components/mjs/input/tex/extension.js @@ -1,12 +1,10 @@ import {combineDefaults} from '#js/components/global.js'; -import {hasWindow} from '#js/util/context.js'; -export function fontExtension(id, name, pkg = `@mathjax/${name}`) { +export function fontExtension(id, name, pkg = `[fonts]/${name}`) { if (MathJax.loader) { - const FONTPATH = hasWindow ? `https://cdn.jsdelivr.net/npm/${pkg}` : pkg; const path = name.replace(/-font-extension$/, '-extension'); const jax = (MathJax.config?.startup?.output || 'chtml'); - combineDefaults(MathJax.config.loader, 'paths', {[path]: FONTPATH}); + combineDefaults(MathJax.config.loader, 'paths', {[path]: pkg}); if (!MathJax._.output?.[jax]) { combineDefaults(MathJax.config.loader, 'dependencies', {[`[${path}]/${jax}`]: [`output/${jax}`]}); } diff --git a/components/mjs/output/util.js b/components/mjs/output/util.js index f422745e0..9b462a0ec 100644 --- a/components/mjs/output/util.js +++ b/components/mjs/output/util.js @@ -2,12 +2,8 @@ import {combineDefaults, combineWithMathJax} from '#js/components/global.js'; import {Package} from '#js/components/package.js'; import {hasWindow} from '#js/util/context.js'; -export const FONTPATH = hasWindow - ? 'https://cdn.jsdelivr.net/npm/@mathjax/%%FONT%%-font' - : '@mathjax/%%FONT%%-font'; - export function configFont(font, jax, config, extension = '') { - const path = (config.fontPath || (FONTPATH + extension)); + const path = (config.fontPath || `[fonts]/%%FONT%%-font${extension}`); const name = (font.match(/^[a-z]+:/) ? (font.match(/[^/:\\]*$/) || [jax])[0] : font); combineDefaults(MathJax.config.loader, 'paths', { [name+extension]: (name === font ? path.replace(/%%FONT%%/g, font) : font) diff --git a/ts/components/loader.ts b/ts/components/loader.ts index 34c2e2e56..4539e9073 100644 --- a/ts/components/loader.ts +++ b/ts/components/loader.ts @@ -399,6 +399,7 @@ if (typeof MathJax.loader === 'undefined') { combineDefaults(MathJax.config, 'loader', { paths: { mathjax: Loader.getRoot(), + fonts: context.window ? 'https://cdn.jsdelivr.net/npm/@mathjax' : '@mathjax', }, source: {}, dependencies: {}, From 34355d75ff2be66a795f97d17b5168990352ed4e Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Fri, 24 Oct 2025 10:24:16 -0400 Subject: [PATCH 2/2] Fixes for prettier --- ts/components/loader.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ts/components/loader.ts b/ts/components/loader.ts index 4539e9073..cdfbd0677 100644 --- a/ts/components/loader.ts +++ b/ts/components/loader.ts @@ -399,7 +399,9 @@ if (typeof MathJax.loader === 'undefined') { combineDefaults(MathJax.config, 'loader', { paths: { mathjax: Loader.getRoot(), - fonts: context.window ? 'https://cdn.jsdelivr.net/npm/@mathjax' : '@mathjax', + fonts: context.window + ? 'https://cdn.jsdelivr.net/npm/@mathjax' + : '@mathjax', }, source: {}, dependencies: {},