Greasy Fork is available in English.
解决Windows平台浏览器默认情况下字体渲染偏细的问题。适用于Edge、Chrome、Firefox等。
// ==UserScript==
// @name 浏览器字体渲染
// @namespace fontrenderning.script.cmos4k
// @version 1.4
// @description 解决Windows平台浏览器默认情况下字体渲染偏细的问题。适用于Edge、Chrome、Firefox等。
// @author 太极
// @match *://*/*
// @grant GM_addStyle
// @run-at document-start
// @icon data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNzcxMDgzNTgwNzc4IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjE4ODMiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTc5MC43NTQxMzMgOTMuODY2NjY3Qzg2Ny43MzMzMzMgOTMuODY2NjY3IDkzMC4xMzMzMzMgMTU2LjI2NjY2NyA5MzAuMTMzMzMzIDIzMy4yNDU4Njd2NTU3LjUwODI2NkM5MzAuMTMzMzMzIDg2Ny43MzMzMzMgODY3LjczMzMzMyA5MzAuMTMzMzMzIDc5MC43NTQxMzMgOTMwLjEzMzMzM0gyMzMuMjQ1ODY3QzE1Ni4yNjY2NjcgOTMwLjEzMzMzMyA5My44NjY2NjcgODY3LjczMzMzMyA5My44NjY2NjcgNzkwLjc1NDEzM1YyMzMuMjQ1ODY3QzkzLjg2NjY2NyAxNTYuMjY2NjY3IDE1Ni4yNjY2NjcgOTMuODY2NjY3IDIzMy4yNDU4NjcgOTMuODY2NjY3aDU1Ny41MDgyNjZ6TTM4OS43Njg1MzMgNzc1LjgzMzZhMTIuOCAxMi44IDAgMCAwLTEyLjggMTIuOHYxMS4yNDY5MzNhMTIuOCAxMi44IDAgMCAwIDEzLjQyNzIgMTIuNzg3MmMzMS43ODY2NjctMS41NjU4NjcgNTQuMzIzMi0yLjU5NDEzMyA2Ny42MTM4NjctMy4wODQ4IDIyLjYzODkzMy0wLjgzMiA0MS4xNzc2LTEuMjUwMTMzIDU1LjYyNDUzMy0xLjI1MDEzMyAxOS45OTc4NjcgMCA1Ny4yMjAyNjcgMS4yNTAxMzMgMTExLjY2NzIgMy43NTA0YTU0Nzk1LjU0MTMzMyA1NDc5NS41NDEzMzMgMCAwIDAgMTguMDMwOTM0IDAuNzI1MzMzIDEyLjggMTIuOCAwIDAgMCAxMi44LTEyLjh2LTExLjM3NDkzM2ExMi44IDEyLjggMCAwIDAtMTIuOC0xMi44aC0xLjc4MzQ2N2MtMTYuMTEwOTMzIDAtMjguNjA4LTEuNTI3NDY3LTM3LjQ5OTczMy00LjU4MjQtOC44ODc0NjctMy4wNTQ5MzMtMTUuNDE1NDY3LTguMDU1NDY3LTE5LjU4NC0xNS4wMDE2LTMuNjA5Ni03LjIyMzQ2Ny02LjI0NjQtMTguMTkzMDY3LTcuOTE0NjY3LTMyLjkxNzMzMy0xLjY2NC0xNC43Mi0yLjUwMDI2Ny00MC40MTM4NjctMi41MDAyNjctNzcuMDgxNnYtNzcuOTE3ODY3YzAtMzguMTQ0IDAuMTQwOC04OC4yODU4NjcgMS45Mi0yNjkuMDMwNGExMi44IDEyLjggMCAwIDEgMTIuOC0xMi42Mzc4NjdoNjAuNjk3NmM0Mi40OTYgMCA3MC45NzE3MzMgNS45MDUwNjcgODUuNDE4NjY3IDE3LjcwNjY2NyA4LjY1MjggNy4wNzg0IDE3LjI2NzIgMjYuMjQ0MjY3IDI1Ljg0NzQ2NyA1Ny41MTA0YTEyLjggMTIuOCAwIDAgMCAxNC4zMTA0IDkuMjU4NjY3bDEzLjgyNC0yLjE1MDRhMTIuOCAxMi44IDAgMCAwIDEwLjczOTItMTQuMjAzNzM0Yy0zLjM0OTMzMy0yNy4zMjM3MzMtNS41NDY2NjctNDcuNzM1NDY3LTYuNjAwNTM0LTYxLjI0MzczM2E4NjcuNTkyNTMzIDg2Ny41OTI1MzMgMCAwIDEtMi43MDUwNjYtNjcuMjkzODY3IDEwLjA4MjEzMyAxMC4wODIxMzMgMCAwIDAtMTIuMzIyMTM0LTkuODMwNGMtMTEuNDM0NjY3IDIuNjA2OTMzLTIyLjExODQgNC4yODgtMzIuMDU1NDY2IDUuMDM4OTM0LTIwLjEzODY2NyAxLjUyNzQ2Ny01NS43NjUzMzMgMi4yOTEyLTEwNi44NzU3MzQgMi4yOTEySDM4OS4wNTE3MzNjLTQ1LjU1OTQ2NyAwLTc3LjkxNzg2Ny0wLjc2MzczMy05Ny4wODM3MzMtMi4yOTEyLTkuMDI4MjY3LTAuNzE2OC0xOS4wOTc2LTIuMjEwMTMzLTMwLjIwOC00LjQ4YTEyLjggMTIuOCAwIDAgMC0xNS4zMzAxMzMgMTEuNjgyMTMzYy0xLjcxOTQ2NyAyNS41MjMyLTMuNTU0MTMzIDQ1LjM0NjEzMy01LjUwNCA1OS40NjQ1MzMtMi4wMzk0NjcgMTQuNzU4NC02LjEwNTYgMzYuOTI4LTEyLjIwMjY2NyA2Ni41MDg4YTEyLjggMTIuOCAwIDAgMCA5Ljg3NzMzMyAxNS4xMDRsMTUuMjQwNTM0IDMuMjQyNjY3YTEyLjggMTIuOCAwIDAgMCAxNC44NTY1MzMtOC42MzE0NjdjMTAuMjgyNjY3LTMyLjIyMTg2NyAyMC4yNTgxMzMtNTIuMDA2NCAyOS45MzQ5MzMtNTkuMzQ5MzMzIDE2LjExMDkzMy0xMi4yMTk3MzMgNDUuOTczMzMzLTE4LjMyOTYgODkuNTgyOTM0LTE4LjMyOTZoNTguODY3MmExMi44IDEyLjggMCAwIDEgMTIuOCAxMi44djIyNS41MzE3MzNjMCA4MS4xMDkzMzMtMC41NTQ2NjcgMTM2LjY2NTYtMS42NjQgMTY2LjY2NDUzNC0xLjEwOTMzMyAzMC4wMDMyLTMuMDU5MiA0OC44OTE3MzMtNS44MzY4IDU2LjY2OTg2Ni00LjE2NDI2NyAxMC4yNzQxMzMtMTAuNTU1NzMzIDE3LjQyOTMzMy0xOS4xNjU4NjcgMjEuNDU3MDY3cy0yMi4yMjA4IDYuMDQxNi00MC44MzIgNi4wNDE2aC0yLjYxNTQ2N3oiIGZpbGw9IiMyYzJjMmMiIHAtaWQ9IjE4ODQiPjwvcGF0aD48L3N2Zz4=
// @license MIT
// ==/UserScript==
(function() {
'use strict';
// --- 配置区域 ---
const config = {
shadowSize: '0.75px',
shadowColor: '#7C7C7CDD',
strokeSize: '0px',
strokeColor: 'transparent'
};
// --- 排除列表 ---
const excludeSelectors = [
'i', '[class*="glyph"]', '[class*="icon"]', '[class*="fa-"]', '[class*="vjs-"]',
'[class*="watermark"]', '.textLayer *', 'pre', 'pre *', 'code', 'code *',
'.mjx-container *', '.katex *'
].join(',');
// --- 生成 CSS ---
const css = `
/* 1. 全局抗锯齿 */
html {
-webkit-font-smoothing: antialiased !important;
-moz-osx-font-smoothing: grayscale !important;
text-rendering: optimizeLegibility !important;
-webkit-text-size-adjust: 100% !important;
}
/* 2. 核心渲染 */
body, * {
text-shadow: 0 0 ${config.shadowSize} ${config.shadowColor};
-webkit-text-stroke: ${config.strokeSize} ${config.strokeColor};
}
/* 3. 排除项 */
${excludeSelectors} {
text-shadow: none !important;
-webkit-text-stroke: 0px transparent !important;
}
/* 4. 选中样式修复 */
::selection {
background: Highlight !important;
color: HighlightText !important;
text-shadow: none !important;
-webkit-text-stroke: 0px transparent !important;
}
`;
// --- 注入样式 ---
if (typeof GM_addStyle !== "undefined") {
GM_addStyle(css);
} else {
const style = document.createElement('style');
style.textContent = css;
(document.head || document.documentElement).appendChild(style);
}
})();