解决机房电脑无法显示 KaTeX 数学公式的巨型运算符
前言
机房电脑无法显示数学公式的巨型运算符,也不能说字体加载失败,就是该有符号的地方空在那。
刚来机房就发现这个问题了,洛谷渲染也是 KaTeX,大型运算符每次都要拖出去搜一搜,哦,原来这是求和啊,哦,原来这是连乘啊。
那为什么一直没解决呢?懒得搞,并且搞过一次,发现难度有点大就放弃了。虽然至今都不知道是什么原因。
那为什么现在又想解决了呢?发现《圆方树学习笔记 —— 一种关于点双连通分量的思考方式》加载时间要很久,去调试性能发现是 MathJax 的原因(真的慢啊),换上 KaTeX 快是快了,但是自己看着博客字体有问题很难受(尽管别人能正常看)。
所以就开始了修复。
解决过程
容易发现是字体原因,KaTeX_Size1/2/3/4 这些字体造成无法显示 \(\sum,\prod,\bigcap\) 等巨型运算符。
容易找到 css 源码:
@font-face {
font-family: KaTeX_Size1;
font-style: normal;
font-weight: 400;
src: url(fonts/KaTeX_Size1-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size1-Regular.woff) format("woff"),url(fonts/KaTeX_Size1-Regular.ttf) format("truetype")
}
通过抓包发现只加载了 woff2。

我一开始以为是 woff2 格式不支持,写了个油猴脚本,用正则去掉了 woff2 和 woff,只留下 ttf,发现还是不能!不是字体格式的原因。
去找到了一个网站,发现字体能正常打开,那么文件没问题了。当然去看了它是怎么显示的,竟然是用 canvas 画出来的,不太感兴趣,也不太现实,我 MathJax 渲染都费劲了,用 canvas 一个一个画过来不成?
网站导出 svg 吸引了我,下载了一个压缩包,里面是所有字符的 svg。我想,把这些 svg 重新打包成一个字体不就行了吗?
找到这个网站给设计师用的,可以用图标生成字体。为了让图标和真实的字符对应上,我还特地写了个油猴的 patch:
// ==UserScript==
// @name font-generator
// @namespace http://tampermonkey.net/
// @version 2025-09-01
// @description help input the code
// @author XuYueming
// @match https://icomoon.io/app/
// @icon https://www.google.com/s2/favicons?sz=64&domain=icomoon.io
// @require https://code.jquery.com/jquery-3.6.0.min.js
// ==/UserScript==
(function() {
'use strict';
$(window).on('load', () =>
$('<button>Button</button>')
.css({
position: 'fixed',
bottom: '20px',
right: '20px',
padding: '10px 20px',
background: '#f39c12',
color: '#fff',
border: 'none',
borderRadius: '5px',
cursor: 'pointer',
zIndex: 9999
})
.appendTo('body')
.click(() =>
$('div.glyph.unit.clearfix.fs-prevSize.pbs.hoverE-hidden-parent').each(function () {
const $span = $(this).find('span.glyphName');
const $input = $(this).find('input.ng-pristine.ng-untouched.ng-valid');
$input.val($span.text().split('_')[0]);
})
)
);
})();
花费了一点时间,四个都做好了字体,上传到博客园的文件中,还强制改了后缀名为 zip,不然不让上传,1、2、3、4。诶嘿,一试才发现,跨域了。
js 如何内嵌字体?哦,唐了,这个用 data url 不就行了。一番折腾,成是成功了,但是这效果不对啊,怎么符号往上面挪了一点?追求完美的我忍不了,尝试解决,发现不太好搞。
那就再换一种方法。接下来其实我也不知道怎么搞了,随便搞搞,毕竟之前有过搞自己手写字体的经验(虽然只有一点罢了)。去到这个网站,上传了字体。鬼使神差地点了 preview,跳转到了这里,发现各个符号罗列了出来,再一看,诶!他怎么能用字体了?到 style 里一看,好家伙,他就是用 data url 渲染的,我直接拷贝过来不就行了吗?当时其中玄妙等到以后再研究吧。
到 KaTeX 官网上查看了效果,发现没有任何问题!
代码
使用油猴浏览器扩展,新建扩展,输入以下内容并保存即可。
原理是劫持 stylesheet 和动态插入的 css 文件,将 KaTeX_Size1/2/3/4 替换成了对应的 data url。
可以自定义 checkHref 函数的判断逻辑,返回真就尝试进行替换字体。
// ==UserScript==
// @name fix KaTeX math formula's display
// @namespace http://tampermonkey.net/
// @version 2025-09-01
// @description use custom font to replace KaTeX_Size1~4, which fixed the KaTeX. for more info, see https://www.cnblogs.com/XuYueming/p/19068348
// @author XuYueming
// @match *://*/*
// @run-at document-end
// ==/UserScript==
(function () {
"use strict";
const base64TTF = [
'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ACAAMgAwADEANAAtADIAMAAxADgAIABLAGgAYQBuACAAQQBjAGEAZABlAG0AeQBLAGEAVABlAFgAXwBTAGkAegBlADEAUgBlAGcAdQBsAGEAcgBGAG8AbgB0AEYAbwByAGcAZQAgADIALgAwACAAOgAgAEsAYQBUAGUAWABfAFMAaQB6AGUAMQAtAFIAZQBnAHUAbABhAHIASwBhAFQAZQBYAF8AUwBpAHoAZQAxAC0AUgBlAGcAdQBsAGEAcgBWAGUAcgBzAGkAbwBuACAAMQAuADEAOwAgAHQAdABmAGEAdQB0AG8AaABpAG4AdAAgACgAdgAxAC4AOAAuADMAKQBLAGEAVABlAFgAXwBTAGkAegBlADEALQBSAGUAZwB1AGwAYQByAEMAbwBwAHkAcgBpAGcAaAB0ACAAKABjACkAIAAyADAAMAA5AC0AMgAwADEAMAAsACAARABlAHMAaQBnAG4AIABTAGMAaQBlAG4AYwBlACwAIABJAG4AYwAuACAAKAA8AHcAdwB3AC4AbQBhAHQAaABqAGEAeAAuAG8AcgBnAD4AKQAKAEMAbwBwAHkAcgBpAGcAaAB0ACAAKABjACkAIAAyADAAMQA0AC0AMgAwADEAOAAgAEsAaABhAG4AIABBAGMAYQBkAGUAbQB5ACAAKAA8AHcAdwB3AC4AawBoAGEAbgBhAGMAYQBkAGUAbQB5AC4AbwByAGcAPgApACwACgB3AGkAdABoACAAUgBlAHMAZQByAHYAZQBkACAARgBvAG4AdAAgAE4AYQBtAGUAIABLAGEAVABlAFgAXwBTAGkAegBlADEALgAKAAoAVABoAGkAcwAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUAIABpAHMAIABsAGkAYwBlAG4AcwBlAGQAIAB1AG4AZABlAHIAIAB0AGgAZQAgAFMASQBMACAATwBwAGUAbgAgAEYAbwBuAHQAIABMAGkAYwBlAG4AcwBlACwAIABWAGUAcgBzAGkAbwBuACAAMQAuADEALgAKAFQAaABpAHMAIABsAGkAYwBlAG4AcwBlACAAYQB2AGEAaQBsAGEAYgBsAGUAIAB3AGkAdABoACAAYQAgAEYAQQBRACAAYQB0ADoACgBoAHQAdABwADoALwAvAHMAYwByAGkAcAB0AHMALgBzAGkAbAAuAG8AcgBn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c2VkIHVuZGVyIHRoZSBTSUwgT3BlbiBGb250IExpY2Vuc2UsIFZlcnNpb24gMS4xLgpUaGlzIGxpY2Vuc2UgYXZhaWxhYmxlIHdpdGggYSBGQVEgYXQ6Cmh0dHA6Ly9zY3JpcHRzLnNpbC5vcmcvT0ZMaHR0cDovL3NjcmlwdHMuc2lsLm9yZy9PRkwAQwBvAHAAeQByAGkAZwBoAHQAIAAoAGMAKQAgADIAMAAwADkALQAyADAAMQAwACAARABlAHMAaQBnAG4AIABTAGMAaQBlAG4AYwBlACwAIABJAG4AYwAuAAoAQwBvAHAAeQByAGkAZwBoAHQAIAAoAGMAKQAgADIAMAAxADQALQAyADAAMQA4ACAASwBoAGEAbgAgAEEAYwBhAGQAZQBtAHkASwBhAFQAZQBYAF8AUwBpAHoAZQAyAFIAZQBnAHUAbABhAHIARgBvAG4AdABGAG8AcgBnAGUAIAAyAC4AMAAgADoAIABLAGEAVABlAFgAXwBTAGkAegBlADIALQBSAGUAZwB1AGwAYQByAEsAYQBUAGUAWABfAFMAaQB6AGUAMgAtAFIAZQBnAHUAbABhAHIAVgBlAHIAcwBpAG8AbgAgADEALgAxADsAIAB0AHQAZgBhAHUAdABvAGgAaQBuAHQAIAAoAHYAMQAuADgALgAzACkASwBhAFQAZQBYAF8AUwBpAHoAZQAyAC0AUgBlAGcAdQBsAGEAcgBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADAAOQAtADIAMAAxADAALAAgAEQAZQBzAGkAZwBuACAAUwBjAGkAZQBuAGMAZQAsACAASQBuAGMALgAgACgAPAB3AHcAdwAuAG0AYQB0AGgAagBhAHgALgBvAHIAZwA+ACkACgBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADEANAAtADIAMAAxADgAIABLAGgAYQBuACAAQQBjAGEAZABlAG0AeQAgACgAPAB3AHcAdwAuAGsAaABhAG4AYQBjAGEAZABlAG0AeQAuAG8AcgBnAD4AKQAsAAoAdwBpAHQAaAAgAFIAZQBzAGUAcgB2AGUAZAAgAEYAbwBuAHQAIABOAGEAbQBlACAASwBhAFQAZQBYAF8AUwBpAHoAZQAyAC4ACgAKAFQAaABpAHMAIABGAG8AbgB0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ACAAUwBjAGkAZQBuAGMAZQAsACAASQBuAGMALgAKAEMAbwBwAHkAcgBpAGcAaAB0ACAAKABjACkAIAAyADAAMQA0AC0AMgAwADEAOAAgAEsAaABhAG4AIABBAGMAYQBkAGUAbQB5AEsAYQBUAGUAWABfAFMAaQB6AGUAMwBSAGUAZwB1AGwAYQByAEYAbwBuAHQARgBvAHIAZwBlACAAMgAuADAAIAA6ACAASwBhAFQAZQBYAF8AUwBpAHoAZQAzAC0AUgBlAGcAdQBsAGEAcgBLAGEAVABlAFgAXwBTAGkAegBlADMALQBSAGUAZwB1AGwAYQByAFYAZQByAHMAaQBvAG4AIAAxAC4AMQA7ACAAdAB0AGYAYQB1AHQAbwBoAGkAbgB0ACAAKAB2ADEALgA4AC4AMwApAEsAYQBUAGUAWABfAFMAaQB6AGUAMwAtAFIAZQBnAHUAbABhAHIAQwBvAHAAeQByAGkAZwBoAHQAIAAoAGMAKQAgADIAMAAwADkALQAyADAAMQAwACwAIABEAGUAcwBpAGcAbgAgAFMAYwBpAGUAbgBjAGUALAAgAEkAbgBjAC4AIAAoADwAdwB3AHcALgBtAGEAdABoAGoAYQB4AC4AbwByAGcAPgApAAoAQwBvAHAAeQByAGkAZwBoAHQAIAAoAGMAKQAgADIAMAAxADQALQAyADAAMQA4ACAASwBoAGEAbgAgAEEAYwBhAGQAZQBtAHkAIAAoADwAdwB3AHcALgBrAGgAYQBuAGEAYwBhAGQAZQBtAHkALgBvAHIAZwA+ACkALAAKAHcAaQB0AGgAIABSAGUAcwBlAHIAdgBlAGQAIABGAG8AbgB0ACAATgBhAG0AZQAgAEsAYQBUAGUAWABfAFMAaQB6AGUAMwAuAAoACgBUAGgAaQBzACAARgBvAG4AdAAgAFMAbwBmAHQAdwBhAHIAZQAgAGkAcwAgAGwAaQBjAGUAbgBzAGUAZAAgAHUAbgBkAGUAcgAgAHQAaABlACAAUwBJAEwAIABPAHAAZQBuACAARgBvAG4AdAAgAEwAaQBjAGUAbgBzAGUALAAgAFYAZQByAHMAaQBvAG4AIAAxAC4AMQAuAAoAVABoAGkAcwAgAGwAaQBjAGUAbgBzAGUAIABhAHYAYQBpAGwAYQBiAGwAZQAgAHcAaQB0AGgAIABhACAARgBB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ACAAOgAgAEsAYQBUAGUAWABfAFMAaQB6AGUANAAtAFIAZQBnAHUAbABhAHIASwBhAFQAZQBYAF8AUwBpAHoAZQA0AC0AUgBlAGcAdQBsAGEAcgBWAGUAcgBzAGkAbwBuACAAMQAuADEAOwAgAHQAdABmAGEAdQB0AG8AaABpAG4AdAAgACgAdgAxAC4AOAAuADMAKQBLAGEAVABlAFgAXwBTAGkAegBlADQALQBSAGUAZwB1AGwAYQByAEMAbwBwAHkAcgBpAGcAaAB0ACAAKABjACkAIAAyADAAMAA5AC0AMgAwADEAMAAsACAARABlAHMAaQBnAG4AIABTAGMAaQBlAG4AYwBlACwAIABJAG4AYwAuACAAKAA8AHcAdwB3AC4AbQBhAHQAaABqAGEAeAAuAG8AcgBnAD4AKQAKAEMAbwBwAHkAcgBpAGcAaAB0ACAAKABjACkAIAAyADAAMQA0AC0AMgAwADEAOAAgAEsAaABhAG4AIABBAGMAYQBkAGUAbQB5ACAAKAA8AHcAdwB3AC4AawBoAGEAbgBhAGMAYQBkAGUAbQB5AC4AbwByAGcAPgApACwACgB3AGkAdABoACAAUgBlAHMAZQByAHYAZQBkACAARgBvAG4AdAAgAE4AYQBtAGUAIABLAGEAVABlAFgAXwBTAGkAegBlADQALgAKAAoAVABoAGkAcwAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUAIABpAHMAIABsAGkAYwBlAG4AcwBlAGQAIAB1AG4AZABlAHIAIAB0AGgAZQAgAFMASQBMACAATwBwAGUAbgAgAEYAbwBuAHQAIABMAGkAYwBlAG4AcwBlACwAIABWAGUAcgBzAGkAbwBuACAAMQAuADEALgAKAFQAaABpAHMAIABsAGkAYwBlAG4AcwBlACAAYQB2AGEAaQBsAGEAYgBsAGUAIAB3AGkAdABoACAAYQAgAEYAQQBRACAAYQB0ADoACgBoAHQAdABwADoALwAvAHMAYwByAGkAcAB0AHMALgBzAGkAbAAuAG8AcgBnAC8ATwBGAEwAaAB0AHQAcAA6AC8ALwBzAGMAcgBpAHAAdABzAC4AcwBpAGwALgBvAHIAZwAvAE8ARgBMAAIAAAAAAAD/gwAyAAAAAAAAAAAAAAAAAAAAAAAAADMAMwAAAAEAAQADAAsADAASAD4APwBAAF4AYACsANgBAgEDAQQApQEFAQYBBwEIAQkBCgELAQwBDQEOAQ8BEAERARIBEwEUARUBFgEXARgBGQEaARsBHAEdAR4BHwEgASEBIgEjASQBJQV0aWxkZQd1bmkwMzAyCXRpbGRlY29tYgd1bmkyMzA4B3VuaTIzMDkHdW5pMjMwQQd1bmkyMzBCB3VuaTIzOUIHdW5pMjM5Qwd1bmkyMzlEB3VuaTIzOUUHdW5pMjM5Rgd1bmkyM0EwB3VuaTIzQTEHdW5pMjNBMgd1bmkyM0EzB3VuaTIzQTQHdW5pMjNBNQd1bmkyM0E2B3VuaTIzQTcHdW5pMjNBOAd1bmkyM0E5B3VuaTIzQUEHdW5pMjNBQgd1bmkyM0FDB3VuaTIzQUQHdW5pMjNCNwd1bmkyN0U4B3VuaTI3RTkHdW5pRTAwMAd1bmlFMDAxB3VuaUUxNTAHdW5pRTE1MQd1bmlFMTUyB3VuaUUxNTMHdW5pRTE1NA=='
];
function isCompelete(url) {
return url.indexOf("://") > 0 || url.indexOf("//") === 0;
}
function rewriteCSS(css, cssHref) {
const prefix = cssHref.slice(0, cssHref.lastIndexOf('/') + 1);
return css.replace(/url\((['"]?)(.+?)\1\)/g, (match, quote, path) => {
const result = isCompelete(path) ? path : prefix + path;
return `url(${quote}${result}${quote})`;
}).replace(/@font-face\s*\{[^}]*?font-family\s*:\s*['"]?KaTeX_Size(\d)['"]?;[^}]*?\}/g, (match, p1) => {
return `@font-face {
font-family: KaTeX_Size${p1};
font-style: normal;
font-weight: 400;
src: url(data:font/ttf;charset=utf-8;base64,${base64TTF[p1 - 1]}) format("truetype")
}
`;
});
}
function checkHref(href) {
if (href.includes('katex')) {
return true;
}
if ([
'https://fecdn.luogu.com.cn/columba/loader.20250806-1319.css',
'https://csdnimg.cn/release/blogv2/dist/mdeditor/css/style-e504d6a974.css'
].includes(href)) {
return true;
}
return false;
}
function processLink(linkEl) {
if (linkEl.rel !== "stylesheet") return;
const href = linkEl.href;
if (!checkHref(href)) return;
fetch(href)
.then(r => r.text())
.then(css => {
const newCSS = rewriteCSS(css, href);
if (newCSS !== css) {
const style = document.createElement("style");
style.textContent = newCSS;
linkEl.replaceWith(style);
console.log("replaced CSS:", href);
}
})
.catch(err => console.warn("load CSS failed:", href, err));
}
document.querySelectorAll("link[rel=stylesheet]").forEach(processLink);
const mo = new MutationObserver(muts => {
muts.forEach(m => {
m.addedNodes.forEach(n => {
if (n.nodeType !== 1) return;
if (n.tagName === "LINK") processLink(n);
});
});
});
mo.observe(document.documentElement, { childList: true, subtree: true });
})();
本文作者:XuYueming,转载请注明原文链接:https://www.cnblogs.com/XuYueming/p/19068348。
若未作特殊说明,本作品采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可。

浙公网安备 33010602011771号