Annyoying Font Remover

Remove annoying fonts to let the browser use less annoying fallbacks

// ==UserScript==
// @name         Annyoying Font Remover
// @description  Remove annoying fonts to let the browser use less annoying fallbacks
// @version      1.6
// @author       Me
// @namespace    greasyfork.org/en/users/301031
// @homepageURL  https://greasyfork.org/scripts/407513-annyoying-font-remover
// @match        *://*/*
// @grant        GM_addStyle
// @run-at       document-start
// ==/UserScript==

(function() {
  // ↓ Keep this list alphabetical otherwise it can become unmanageable.
  var badFnt = new RegExp ('"?'+
                           ['arial[^",]*',
                            'cambria',
                            'charter',
                            'courier[^",]*',
                            "crimson text",
                            'faustina',
                            'franklin gothic',
                            'freesans',
                            'georgia',
                            'helvetica[^",]*',
                            'itc-slimbach',
                            'liberation mono',
                            'libre baskerville',
                            'lucida[^",]*',
                            'minion-pro',
                            'NexusSerif',
                            'PT Serif',
                            'roboto',
                            'roboto mono',
                            'roman',
                            'spectral',
                            'times[^",]*'].join('"?, ?|"?')+
                           '"?, ?', 'gi');
  //console.log(badFnt);
  document.addEventListener('DOMContentLoaded', function() {
    var elem = document.body.getElementsByTagName('*');
    for (var i = 0; i < elem.length; i++) {
      var fonts = window.getComputedStyle(elem[i]).getPropertyValue('font-family');
      var weight = window.getComputedStyle(elem[i]).getPropertyValue('font-weight');
      if(fonts) {
        elem[i].style.fontFamily = fonts.replace(badFnt, '');
        // The "bug" is that the last listed fallback is selected,
        // even if it is one of the annoying fonts.
        elem[i].style.fontWeight=Math.max(weight,400);
      }
    }
  });
})();