// ==UserScript==
// @name Arabinizer
// @namespace https://greasyfork.org/
// @version 0.1
// @description Hamood hamood habibi
// @author You
// @include https://*.*/*
// @exclude https://www.google.com/search?*
// @icon data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==
// @grant none
// ==/UserScript==
(function() {
var replacements, regex, key, textnodes, node, s;
replacements = {
"qu": "q͞w",
"Qu": "Q͞w",
"QU": "Q͞W",
"AA": "~",
"AE": "~",
"AI": "~",
"AO": "~",
"AU": "~",
"EA": "~",
"EE": "~",
"EI": "~",
"EO": "~",
"EU": "~",
"IA": "~",
"IE": "~",
"II": "~",
"IO": "~",
"IU": "~",
"OA": "~",
"OE": "~",
"OI": "~",
"OO": "~",
"OU": "~",
"UA": "~",
"UE": "~",
"UI": "~",
"UO": "~",
"UU": "~",
"Aa": "~",
"Ae": "~",
"Ai": "~",
"Ao": "~",
"Au": "~",
"Ea": "~",
"Ee": "~",
"Ei": "~",
"Eo": "~",
"Eu": "~",
"Ia": "~",
"Ie": "~",
"Ii": "~",
"Io": "~",
"Iu": "~",
"Oa": "~",
"Oe": "~",
"Oi": "~",
"Oo": "~",
"Ou": "~",
"Ua": "~",
"Ue": "~",
"Ui": "~",
"Uo": "~",
"Uu": "~",
"aa": "~",
"ae": "~",
"ai": "~",
"ao": "~",
"au": "~",
"ea": "~",
"ee": "~",
"ei": "~",
"eo": "~",
"eu": "~",
"ia": "~",
"ie": "~",
"ii": "~",
"io": "~",
"iu": "~",
"oa": "~",
"oe": "~",
"oi": "~",
"oo": "~",
"ou": "~",
"ua": "~",
"ue": "~",
"ui": "~",
"uo": "~",
"uu": "~",
"A": "`",
"E": "`",
"I": "`",
"O": "`",
"U": "`",
" a": " `",
" e": " `",
" i": " `",
" o": " `",
" u": " `",
"a ": "- ",
"e ": "- ",
"i ": "- ",
"o ": "- ",
"u ": "- ",
"AY": "-y",
"EY": "-y",
"IY": "-y",
"OY": "-y",
"UY": "-y",
"Ay": "-y",
"Ey": "-y",
"Iy": "-y",
"Oy": "-y",
"Uy": "-y",
"ay": "-y",
"ey": "-y",
"iy": "-y",
"oy": "-y",
"uy": "-y",
"AR": "-r",
"ER": "-r",
"IR": "-r",
"OR": "-r",
"UR": "-r",
"Ar": "-r",
"Er": "-r",
"Ir": "-r",
"Or": "-r",
"Ur": "-r",
"ar": "-r",
"er": "-r",
"ir": "-r",
"or": "-r",
"ur": "-r",
"a": "",
"e": "",
"i": "",
"o": "",
"u": "",
"bb": "ḇ",
"cc": "c̄",
"dd": "ḏ",
"ff": "f̱",
"gg": "ḡ",
"hh": "ẖ",
"jj": "j̱",
"kk": "ḵ",
"ll": "ḻ",
"mm": "m̱",
"nn": "n̄",
"pp": "p̄",
"qq": "q̄",
"rr": "r̄",
"ss": "s̄",
"tt": "ṯ",
"vv": "v̄",
"ww": "w̄",
"xx": "x̄",
"yy": "ȳ",
"zz": "z̄",
};
regex = {};
for (key in replacements) {
regex[key] = new RegExp(key, 'g');
}
textnodes = document.evaluate( "//body//text()", document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
for (var i = 0; i < textnodes.snapshotLength; i++) {
node = textnodes.snapshotItem(i);
s = node.data;
for (key in replacements) {
s = s.replace(regex[key], replacements[key]);
}
node.data = s;
}
})();