Substitutes arbitrary fonts on webpages
当前为
// ==UserScript==
// @name Font Substitution v3
// @description Substitutes arbitrary fonts on webpages
// @author Alan Davies
// @copyright 2015, Alan Davies
// @version 3.0.0
// @date 2015-08-26
// @namespace FontSub3
// @include *
// @grant GM_addStyle
// @run-at document-start
// ==/UserScript==
var globalDebug = false;
if (globalDebug) console.log("Font substitution start");
var fontMap = new Map([
[ "arial", "Verdana" ],
[ "helvetica", "Verdana" ],
[ "courier", "Consolas" ],
[ "courier new", "Consolas" ]
]);
function OverrideFontFaces()
{
for (let fontSub of fontMap)
{
let style = "@font-face { font-family: \"" + fontSub[0] + "\"; src: local(\"" + fontSub[1] + "\") !important }";
if (globalDebug) console.log("Adding style: " + style);
GM_addStyle(style);
}
}
var done = false;
// create an observer instance
var observer = new MutationObserver(function(mutations) {
if (globalDebug) console.log("Mutation event");
// Add the font face overrides once we have a body element
if (!done && (null != document.body))
{
observer.disconnect();
OverrideFontFaces();
done = true;
}
});
observer.observe(document, { childList: true, attributes: false, characterData: false, subtree: true });