必须组合三层配置:禁用网页字体控制权(browser.display.use_document_fonts=0)、修改底层渲染参数(如ClearType模式与GDI表加载)、注入userContent.css全局CSS;否则遇@font-face、!important或SVG text必失效。
直接说结论:只改图形界面设置是无效的,必须组合三层配置——禁用网页字体控制权 + 修改底层渲染参数 + 注入用户样式表。否则遇到 @font-face、!important 或 SVG text 就会失效。
browser.display.use_document_fonts=0
这是最基础也最容易被忽略的一环。火狐默认允许网页用 CSS 指定 font-family,哪怕你已在界面设了微软雅黑,它也会被覆盖。
about:config 中搜索 browser.display.use_document_fonts,双击改为 0
gfx.downloadable_fonts.enabled 为 false,防止 WebFont 绕过系统字体layout.css.font-visibility.level=1,否则某些字体根本不会被识别Windows 下微软雅黑在火狐中模糊、发虚、小字号锯齿,本质是 DirectWrite 渲染管线没走对。必须手动切回 GDI 字体表 + ClearType 标准模式。
gfx.font_rendering.cleartype_params.rendering_mode 设为 5(ClearType 标准,非自然或灰度)gfx.font_rendering.cleartype_params.gamma 设为 2200,提升暗部对比,小字号更清晰gfx.font_rendering.directwrite.use_gdi_table_loading 设为 true,否则微软雅黑字形会被截断或错位4 或 6 反而会让“微”“信”等字右侧缺笔画userContent.css 强制接管所有节点仅靠设置和 about:config 还不能覆盖 、、 等元素——它们常被浏览器 UA 样式或 JS 动态注入绕过。
about:support → 点击“打开文件夹”旁的“配置文件夹” → 新建 chrome 文件夹chrome 内新建 userContent.css,写入:*, *::before, *::after {
font-family: "Microsoft YaHei", sans-serif !important;
font-weight: normal !important;
}
body, html { line-height: 1.6 !important; }
about:config,新增布尔型配置项:toolkit.legacyUserProfileCustomizations.stylesheets,设为 true
userContent.css 不加载因为有些网站(比如知乎、微信公众号页)用内联 style="font-family: HarmonyOS Sans SC !important;",连 userContent.css 的 !important 都压不住——这时必须靠 Stylus 注入更高优先级的样式层(@-moz-document 规则),且支持动态匹配 DOM 加载时机。这不是可选项,是面对现代前端框架的必要补丁。