字体替换

字体替换,默认为Ubuntu,可自行修改,略过等宽字体

目前為 2021-10-17 提交的版本,檢視 最新版本

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

// ==UserScript==
// @name         字体替换
// @namespace    http://tampermonkey.net/
// @version      2.2
// @description  字体替换,默认为Ubuntu,可自行修改,略过等宽字体
// @match        *://*/*
// @grant        GM_addStyle
// ==/UserScript==

const main = () => {
    const fonts = new Set();
    [...document.querySelectorAll('*')].forEach(node => {
        const nodeFontFamily = getComputedStyle(node).fontFamily
        if (nodeFontFamily.includes('mono')) { return }
        fonts.add(nodeFontFamily.split(',')[0])
    });
    const fontFaceCSS = [...fonts].map(font => `
        @font-face {
            font-family: ${font};
            src: local('Ubuntu');
        }`
    ).join('')
    GM_addStyle(fontFaceCSS)
    console.log('font replace done')
}

main()
document.fonts.onloading = main