Persian Font Fix (Vazir)

Apply Vazir font to Persian/RTL content across selected websites

// ==UserScript==
// @name         Persian Font Fix (Vazir)
// @namespace    https://greasyfork.org/en/scripts/538095-persian-font-fix-vazir
// @version      1.1.18
// @description  Apply Vazir font to Persian/RTL content across selected websites
// @author       TheSina
// @match       *://*.telegram.org/*
// @match       *://*.x.com/*
// @match       *://*.twitter.com/*
// @match       *://*.instagram.com/*
// @match       *://*.facebook.com/*
// @match       *://*.whatsapp.com/*
// @match       *://*.github.com/*
// @match       *://*.youtube.com/*
// @match       *://*.soundcloud.com/*
// @match       *://www.google.com/*
// @match       *://gemini.google.com/*
// @match       *://translate.google.com/*
// @match       *://*.chatgpt.com/*
// @match       *://*.openai.com/*
// @match       *://fa.wikipedia.org/*
// @match       *://app.slack.com/*
// @match       *://*.goodreads.com/*
// @grant        GM_addStyle
// @run-at       document-start
// @license      MIT
// ==/UserScript==


(function () {
    'use strict';

    const fontOverrideStyle = `
        @font-face {
            font-family: 'FontUnicodeOverride';
            src: local('Vazirmatn');
            unicode-range: U+0600-06FF, U+0750-077F, U+08A0-08FF, U+FB50-FDFF, U+FE70-FEFF;
        }

        *:not(svg):not([class~="material-icons"]):not([class~="material-icons-extended"]):not([class~="mat-icon"]):not([class~="mat-icon-no-color"]):not([class~="google-symbols-subset"]):not([class~="icon"]):not([class~="tgico"]):not([class~="c-ripple"]):not([class~="avatar"]):not([class~="avatar-icon"]):not([class~="avatar-icon-saved"]):not([class~="notranslate"]) {
            font-family: 'FontUnicodeOverride', 'Vazirmatn', 'Noto Sans', sans-serif !important;
        }
    `;

    GM_addStyle(fontOverrideStyle);
})();