🏠 Home 

MacType

Render font like macOS

// ==UserScript==
// @name         MacType
// @namespace    MacType@JMRY
// @version      0.1.2
// @license      MIT
// @description  Render font like macOS
// @author       JMRY
// @match        *://**/*
// @grant        none
// @run-at       document-start
// ==/UserScript==
(function () {
'use strict';
//字体渲染强度,默认:0.25
var macTypeWeight=0.25;
var macTypeCss=[
//字体渲染样式,可根据需求自行添加CSS
'html, body, input, textarea, select, button, div, p, span, iframe, h1, h2, h3, h4, h5, h6, pre{-webkit-text-stroke:'+macTypeWeight+'px !important; text-stroke:'+macTypeWeight+'px}',
];
var macTypeWhiteList=[
//在这里添加不希望被渲染的网站域名
];
var util = {
addStyle:function(id, tag, css) {
tag = tag || 'style';
var doc = document, styleDom = doc.getElementById(id);
if (styleDom) return;
var styleElement = doc.createElement(tag);
styleElement.rel = 'stylesheet';
styleElement.id = id;
tag === 'style' ? styleElement.innerHTML = css : styleElement.href = css;
document.head.appendChild(styleElement);
},
removeElementById:function(eleId) {
var ele = document.getElementById(eleId);
ele && ele.parentNode.removeChild(ele);
}
};
var main = {
generateStyle:function() {
return macTypeCss.join(' ');
},
changeStyle:function() {
document.getElementById('mactype-style').innerHTML = this.generateStyle();
},
addPluginStyle:function() {
var insertMacTypeStyle = this.generateStyle();
if (document.head) {
util.addStyle('mactype-style', 'style', insertMacTypeStyle);
}
var headObserver = new MutationObserver(function(){
util.addStyle('mactype-style', 'style', insertMacTypeStyle);
});
headObserver.observe(document.head, {childList: true, subtree: true});
},
isTopWindow:function() {
return window.self === window.top;
},
init:function() {
this.isTopWindow();
if (macTypeWhiteList.includes(location.host)) return;
this.addPluginStyle();
}
};
main.init();
})();