From 0f14f53ec4fe23ab791c41bf6cfd691b94a6982e Mon Sep 17 00:00:00 2001 From: TateB Date: Mon, 29 Nov 2021 13:40:18 +1100 Subject: [PATCH] updated to add morre homoglyphs + use english chars only --- addOther.js | 44 +++++++ data.json | 326 +++++++++++++++++++++++++++++++++++----------------- index.js | 2 +- 3 files changed, 266 insertions(+), 106 deletions(-) create mode 100644 addOther.js diff --git a/addOther.js b/addOther.js new file mode 100644 index 0000000..1d0a614 --- /dev/null +++ b/addOther.js @@ -0,0 +1,44 @@ +const fs = require('fs') +const path = require('path') +const savePath = path.join(__dirname, 'data.json') +var data = require('./data.json') + +const similarLetters = [ + { eng: "a", alts: "₳АаДдӔӕА̊а̊А̄а̄ӒӓӐӑꙘꙙѦѧӘәa͏aAaα𝓐𝓪𝐀🇦𝐚" }, + { eng: "b", alts: "฿БбВвЫыЪъЬь6Ҍҍb͏Bb𝓑𝓫𝐁𝐛🇧" }, + { eng: "c", alts: "🇨₵Сс(ҪҫС́с́c͏Cc¢𝓒𝓬𝐂𝐜" }, + { eng: "d", alts: "ĐԂԃ🇩Ԁԁd͏Dd∂𝓓𝓭𝐃𝐝" }, + { eng: "e", alts: "ɆЕеЁёЗ🇪зЭэЄ̈є̈Е̃е̃Е̄е̄Ё̄ё̄ӖӗЀѐԐԑЄєӠӡe͏Ee𝓔𝓮𝐄𝐞" }, + { eng: "f", alts: "₣Ғғf͏Ff𝓕🇫𝓯𝐅𝐟" }, + { eng: "g", alts: "₲Ԍԍg͏Gg𝓖𝓰𝐆🇬𝐠" }, + { eng: "h", alts: "НⱧнӉӊҢңԨԩӇӈҺһԊԋ🇭h͏Hh𝓗𝓱𝐇𝐡" }, + { eng: "i", alts: "l1ł|ӀӏЇїІіi͏Iiι𝓘𝓲🇮𝐈𝐢" }, + { eng: "j", alts: "Јјj͏JJjנ𝓙𝓳𝐉𝐣🇯" }, + { eng: "k", alts: "КкҚқ₭ҜҝҞҟҠҡk͏Kk𝓚𝓴𝐊🇰𝐤" }, + { eng: "l", alts: "l͏LlⱠℓ𝓛𝓵𝐋𝐥🇱" }, + { eng: "m", alts: "МмӍӎm͏₥Mm𝓜𝓶𝐌𝐦🇲" }, + { eng: "n", alts: "ИиЙйЛлП₦пԤԥn͏Nn𝓝𝓷𝐍𝐧🇳" }, + { eng: "o", alts: "ОоЮюФф0ӪØӫӦӧО̄о̄ꙔꙕѲѳѺѻꙪꙫꙨꙩꚚꚛӨө🇴o͏Ooσ𝓞𝓸𝐎𝐨" }, + { eng: "p", alts: "РрР̌р̌Ҏҏp͏P₱pρ𝓟𝓹𝐏🇵" }, + { eng: "q", alts: "g9q͏Qq𝓠𝓺𝐐Q𝐪🇶" }, + { eng: "r", alts: "ГгЯяԘԙԆԇԄԅr͏Rr𝓡𝓻𝐑𝐫Ɽ🇷" }, + { eng: "s", alts: "5ꙄꙅЅѕs͏Ss𝓢𝓼𝐒𝐬🇸₴" }, + { eng: "t", alts: "ТтҬҭt͏Tt𝓣𝓽𝐓𝐭₮🇹" }, + { eng: "u", alts: "vЦцꙠꙡu͏Uuυ𝓤𝓾𝐔𝐮🇺Ʉ"}, + { eng: "v", alts: "ѶѷѴѵv͏Vvν𝓥𝓿𝐕𝐯🇻​"}, + { eng: "w", alts: "ШшЩщꚆꚇѠѡԜԝw͏Wwω𝓦𝔀𝐖𝐰🇼​₩" }, + { eng: "x", alts: "ХхҲҳӾӿӼӽx͏Xxχ𝓧𝔁𝐗🇽𝐱" }, + { eng: "y", alts: "УуҮүЧчЦцӮӯӰӱЎўӲӳꚎꚏy͏🇾Yy𝓨𝔂𝐘𝐲Ɏ" }, + { eng: "z", alts: "2ЗзЖжЗ́ж́z͏Zz𝓩𝔃𝐙𝐳Ⱬ🇿" } +] + +similarLetters.forEach((letter) => { + const alts = letter.alts.normalize('NFD').replace(/\p{Diacritic}/gu, "").replace(/[\u200B-\u200D\uFEFF\u034F]/g, ''); + [...alts].forEach((alt) => { + data[alt.toLowerCase()] = letter.eng + }) +}) + +fs.writeFileSync(savePath, JSON.stringify(data, null, 2)) + +console.log("Added alternatives") diff --git a/data.json b/data.json index 209962e..f997132 100644 --- a/data.json +++ b/data.json @@ -1,6 +1,10 @@ { - "0": "O", - "1": "l", + "0": "o", + "1": "i", + "2": "z", + "5": "s", + "6": "b", + "9": "q", "֭": "֖", "֮": "֘", "֨": "֙", @@ -157,8 +161,8 @@ "໊": "๊", "໋": "๋", "꙯": "⃩", - "\u2028": " ", - "\u2029": " ", + "
": " ", + "
": " ", " ": " ", " ": " ", " ": " ", @@ -665,7 +669,7 @@ "¯": "ˉ", " ̄": "ˉ", "▔": "ˉ", - "ъ": "ˉb", + "ъ": "b", "ꙑ": "ˉbi", "͵": "ˏ", "˻": "˪", @@ -985,7 +989,7 @@ "𝟼": "6", "🯶": "6", "Ⳓ": "6", - "б": "6", + "б": "b", "Ꮾ": "6", "𑣕": "6", "۶": "٦", @@ -1081,11 +1085,11 @@ "а": "a", "ⷶ": "ͣ", "A": "A", - "𝐀": "A", + "𝐀": "a", "𝐴": "A", "𝑨": "A", "𝒜": "A", - "𝓐": "A", + "𝓐": "a", "𝔄": "A", "𝔸": "A", "𝕬": "A", @@ -1117,7 +1121,7 @@ "ꜳ": "aa", "Ꜳ": "AA", "æ": "ae", - "ӕ": "ae", + "ӕ": "a", "Æ": "AE", "Ӕ": "AE", "ꜵ": "ao", @@ -1157,10 +1161,10 @@ "ᖯ": "b", "B": "B", "ℬ": "B", - "𝐁": "B", + "𝐁": "b", "𝐵": "B", "𝑩": "B", - "𝓑": "B", + "𝓑": "b", "𝔅": "B", "𝔹": "B", "𝕭": "B", @@ -1189,7 +1193,7 @@ "Ƃ": "b̄", "Б": "b̄", "ƀ": "b̵", - "ҍ": "b̵", + "ҍ": "b", "Ҍ": "b̵", "ѣ": "b̵", "Ѣ": "b̵", @@ -1197,7 +1201,7 @@ "ᒁ": "ḃ·", "ᒈ": "b'", "Ы": "bl", - "в": "ʙ", + "в": "b", "ᏼ": "ʙ", "c": "c", "ⅽ": "c", @@ -1228,11 +1232,11 @@ "Ⅽ": "C", "ℂ": "C", "ℭ": "C", - "𝐂": "C", + "𝐂": "c", "𝐶": "C", "𝑪": "C", "𝒞": "C", - "𝓒": "C", + "𝓒": "c", "𝕮": "C", "𝖢": "C", "𝗖": "C", @@ -1248,12 +1252,12 @@ "𐌂": "C", "𐐕": "C", "𐔜": "C", - "¢": "c̸", + "¢": "c", "ȼ": "c̸", "₡": "C⃫", "🅮": "C⃠", "ç": "c̦", - "ҫ": "c̦", + "ҫ": "c", "Ç": "C̦", "Ҫ": "C̦", "Ƈ": "C'", @@ -1275,8 +1279,8 @@ "𝞮": "ꞓ", "𝟄": "ꞓ", "ⲉ": "ꞓ", - "є": "ꞓ", - "ԑ": "ꞓ", + "є": "e", + "ԑ": "e", "ꮛ": "ꞓ", "𑣎": "ꞓ", "𐐩": "ꞓ", @@ -1307,11 +1311,11 @@ "ꓒ": "d", "Ⅾ": "D", "ⅅ": "D", - "𝐃": "D", + "𝐃": "d", "𝐷": "D", "𝑫": "D", "𝒟": "D", - "𝓓": "D", + "𝓓": "d", "𝔇": "D", "𝔻": "D", "𝕯": "D", @@ -1327,7 +1331,7 @@ "ɗ": "d̔", "ɖ": "d̨", "ƌ": "d̄", - "đ": "d̵", + "đ": "d", "Đ": "D̵", "Ð": "D̵", "Ɖ": "D̵", @@ -1377,10 +1381,10 @@ "⋿": "E", "E": "E", "ℰ": "E", - "𝐄": "E", + "𝐄": "e", "𝐸": "E", "𝑬": "E", - "𝓔": "E", + "𝓔": "e", "𝔈": "E", "𝔼": "E", "𝕰": "E", @@ -1404,12 +1408,12 @@ "𐊆": "E", "ě": "ĕ", "Ě": "Ĕ", - "ɇ": "e̸", + "ɇ": "e", "Ɇ": "E̸", "ҿ": "ę", "ꭼ": "ᴇ", "ə": "ǝ", - "ә": "ǝ", + "ә": "a", "∃": "Ǝ", "ⴺ": "Ǝ", "ꓱ": "Ǝ", @@ -1426,7 +1430,7 @@ "𐐁": "Ɛ", "ᶟ": "ᵋ", "ᴈ": "ɜ", - "з": "ɜ", + "з": "z", "ҙ": "ɜ̦", "𐑂": "ɞ", "ꞝ": "ʚ", @@ -1451,10 +1455,10 @@ "ք": "f", "𝈓": "F", "ℱ": "F", - "𝐅": "F", + "𝐅": "f", "𝐹": "F", "𝑭": "F", - "𝓕": "F", + "𝓕": "f", "𝔉": "F", "𝔽": "F", "𝕱": "F", @@ -1505,11 +1509,11 @@ "ᶃ": "g", "ƍ": "g", "ց": "g", - "𝐆": "G", + "𝐆": "g", "𝐺": "G", "𝑮": "G", "𝒢": "G", - "𝓖": "G", + "𝓖": "g", "𝔊": "G", "𝔾": "G", "𝕲": "G", @@ -1530,7 +1534,7 @@ "ǥ": "g̵", "Ǥ": "G̵", "Ɠ": "G'", - "ԍ": "ɢ", + "ԍ": "g", "ꮐ": "ɢ", "ᏻ": "ɢ", "h": "h", @@ -1554,10 +1558,10 @@ "ℋ": "H", "ℌ": "H", "ℍ": "H", - "𝐇": "H", + "𝐇": "h", "𝐻": "H", "𝑯": "H", - "𝓗": "H", + "𝓗": "h", "𝕳": "H", "𝖧": "H", "𝗛": "H", @@ -1588,11 +1592,11 @@ "Ħ": "H̵", "Ӊ": "H̦", "Ӈ": "H̦", - "н": "ʜ", + "н": "h", "ꮋ": "ʜ", - "ң": "ʜ̩", - "ӊ": "ʜ̦", - "ӈ": "ʜ̦", + "ң": "h", + "ӊ": "h", + "ӈ": "h", "Ԋ": "Ƕ", "ꮀ": "ⱶ", "Ͱ": "Ⱶ", @@ -1667,11 +1671,11 @@ "ϳ": "j", "ј": "j", "J": "J", - "𝐉": "J", + "𝐉": "j", "𝐽": "J", "𝑱": "J", "𝒥": "J", - "𝓙": "J", + "𝓙": "j", "𝔍": "J", "𝕁": "J", "𝕵": "J", @@ -1707,11 +1711,11 @@ "𝚔": "k", "K": "K", "K": "K", - "𝐊": "K", + "𝐊": "k", "𝐾": "K", "𝑲": "K", "𝒦": "K", - "𝓚": "K", + "𝓚": "k", "𝔎": "K", "𝕂": "K", "𝕶": "K", @@ -1735,12 +1739,12 @@ "ƙ": "k̔", "Ⱪ": "K̩", "Қ": "K̩", - "₭": "K̵", + "₭": "k", "Ꝁ": "K̵", "Ҟ": "K̵", "Ƙ": "K'", "׀": "l", - "|": "l", + "|": "i", "∣": "l", "⏽": "l", "│": "l", @@ -1759,10 +1763,10 @@ "Ⅰ": "l", "ℐ": "l", "ℑ": "l", - "𝐈": "l", + "𝐈": "i", "𝐼": "l", "𝑰": "l", - "𝓘": "l", + "𝓘": "i", "𝕀": "l", "𝕴": "l", "𝖨": "l", @@ -1814,10 +1818,10 @@ "𝈪": "L", "Ⅼ": "L", "ℒ": "L", - "𝐋": "L", + "𝐋": "l", "𝐿": "L", "𝑳": "L", - "𝓛": "L", + "𝓛": "l", "𝔏": "L", "𝕃": "L", "𝕷": "L", @@ -1837,7 +1841,7 @@ "𐔦": "L", "ﴼ": "l̋", "ﴽ": "l̋", - "ł": "l̸", + "ł": "i", "Ł": "L̸", "ɭ": "l̨", "Ɨ": "l̵", @@ -1921,10 +1925,10 @@ "M": "M", "Ⅿ": "M", "ℳ": "M", - "𝐌": "M", + "𝐌": "m", "𝑀": "M", "𝑴": "M", - "𝓜": "M", + "𝓜": "m", "𝔐": "M", "𝕄": "M", "𝕸": "M", @@ -1968,11 +1972,11 @@ "ռ": "n", "N": "N", "ℕ": "N", - "𝐍": "N", + "𝐍": "n", "𝑁": "N", "𝑵": "N", "𝒩": "N", - "𝓝": "N", + "𝓝": "n", "𝔑": "N", "𝕹": "N", "𝖭": "N", @@ -2005,7 +2009,7 @@ "NJ": "NJ", "№": "No", "ͷ": "ᴎ", - "и": "ᴎ", + "и": "n", "𐑍": "ᴎ", "ņ": "ɲ", "ం": "o", @@ -2096,11 +2100,11 @@ "𝟶": "O", "🯰": "O", "O": "O", - "𝐎": "O", + "𝐎": "o", "𝑂": "O", "𝑶": "O", "𝒪": "O", - "𝓞": "O", + "𝓞": "o", "𝔒": "O", "𝕆": "O", "𝕺": "O", @@ -2134,15 +2138,15 @@ "Ǒ": "Ŏ", "ۿ": "ô", "Ő": "Ö", - "ø": "o̸", + "ø": "o", "ꬾ": "o̸", "Ø": "O̸", "ⵁ": "O̸", "Ǿ": "Ó̸", "ɵ": "o̵", "ꝋ": "o̵", - "ө": "o̵", - "ѳ": "o̵", + "ө": "o", + "ѳ": "o", "ꮎ": "o̵", "ꮻ": "o̵", "⊖": "O̵", @@ -2256,11 +2260,11 @@ "р": "p", "P": "P", "ℙ": "P", - "𝐏": "P", + "𝐏": "p", "𝑃": "P", "𝑷": "P", "𝒫": "P", - "𝓟": "P", + "𝓟": "p", "𝔓": "P", "𝕻": "P", "𝖯": "P", @@ -2299,7 +2303,7 @@ "𝞿": "ɸ", "𝟇": "ɸ", "ⲫ": "ɸ", - "ф": "ɸ", + "ф": "o", "𝐪": "q", "𝑞": "q", "𝒒": "q", @@ -2317,11 +2321,11 @@ "գ": "q", "զ": "q", "ℚ": "Q", - "𝐐": "Q", + "𝐐": "q", "𝑄": "Q", "𝑸": "Q", "𝒬": "Q", - "𝓠": "Q", + "𝓠": "q", "𝔔": "Q", "𝕼": "Q", "𝖰": "Q", @@ -2347,10 +2351,10 @@ "𝞳": "ĸ", "𝟆": "ĸ", "ⲕ": "ĸ", - "к": "ĸ", + "к": "k", "ꮶ": "ĸ", - "қ": "ĸ̩", - "ҟ": "ĸ̵", + "қ": "k", + "ҟ": "k", "𝐫": "r", "𝑟": "r", "𝒓": "r", @@ -2374,10 +2378,10 @@ "ℛ": "R", "ℜ": "R", "ℝ": "R", - "𝐑": "R", + "𝐑": "r", "𝑅": "R", "𝑹": "R", - "𝓡": "R", + "𝓡": "r", "𝕽": "R", "𝖱": "R", "𝗥": "R", @@ -2391,20 +2395,20 @@ "ᖇ": "R", "ꓣ": "R", "𖼵": "R", - "ɽ": "r̨", + "ɽ": "r", "ɼ": "r̩", "ɍ": "r̵", - "ғ": "r̵", + "ғ": "f", "ᵲ": "r̴", "ґ": "r'", "𑣣": "rn", - "m": "rn", + "m": "m", "ⅿ": "rn", - "𝐦": "rn", + "𝐦": "m", "𝑚": "rn", "𝒎": "rn", "𝓂": "rn", - "𝓶": "rn", + "𝓶": "m", "𝔪": "rn", "𝕞": "rn", "𝖒": "rn", @@ -2414,13 +2418,13 @@ "𝙢": "rn", "𝚖": "rn", "𑜀": "rn", - "₥": "rn̸", + "₥": "m", "ɱ": "rn̦", "ᵯ": "rn̴", "₨": "Rs", "ꭱ": "ʀ", "ꮢ": "ʀ", - "я": "ᴙ", + "я": "r", "ᵳ": "ɾ̴", "℩": "ɿ", "s": "s", @@ -2444,11 +2448,11 @@ "𑣁": "s", "𐑈": "s", "S": "S", - "𝐒": "S", + "𝐒": "s", "𝑆": "S", "𝑺": "S", "𝒮": "S", - "𝓢": "S", + "𝓢": "s", "𝔖": "S", "𝕊": "S", "𝕾": "S", @@ -2509,11 +2513,11 @@ "⟙": "T", "🝨": "T", "T": "T", - "𝐓": "T", + "𝐓": "t", "𝑇": "T", "𝑻": "T", "𝒯": "T", - "𝓣": "T", + "𝓣": "t", "𝔗": "T", "𝕋": "T", "𝕿": "T", @@ -2543,7 +2547,7 @@ "Ț": "Ţ", "Ʈ": "T̨", "Ҭ": "T̩", - "₮": "T⃫", + "₮": "t", "ŧ": "t̵", "Ŧ": "T̵", "ᵵ": "t̴", @@ -2561,9 +2565,9 @@ "𝝉": "ᴛ", "𝞃": "ᴛ", "𝞽": "ᴛ", - "т": "ᴛ", + "т": "t", "ꭲ": "ᴛ", - "ҭ": "ᴛ̩", + "ҭ": "t", "ţ": "ƫ", "ț": "ƫ", "Ꮏ": "ƫ", @@ -2596,11 +2600,11 @@ "𑣘": "u", "∪": "U", "⋃": "U", - "𝐔": "U", + "𝐔": "u", "𝑈": "U", "𝑼": "U", "𝒰": "U", - "𝓤": "U", + "𝓤": "u", "𝔘": "U", "𝕌": "U", "𝖀": "U", @@ -2666,11 +2670,11 @@ "٧": "V", "۷": "V", "Ⅴ": "V", - "𝐕": "V", + "𝐕": "v", "𝑉": "V", "𝑽": "V", "𝒱": "V", - "𝓥": "V", + "𝓥": "v", "𝔙": "V", "𝕍": "V", "𝖁": "V", @@ -2742,11 +2746,11 @@ "ꮃ": "w", "𑣯": "W", "𑣦": "W", - "𝐖": "W", + "𝐖": "w", "𝑊": "W", "𝑾": "W", "𝒲": "W", - "𝓦": "W", + "𝓦": "w", "𝔚": "W", "𝕎": "W", "𝖂": "W", @@ -2761,12 +2765,12 @@ "ꓪ": "W", "ѽ": "w҆҇", "𑓅": "ẇ", - "₩": "W̵", + "₩": "w", "ꝡ": "w̦", "ᴍ": "ʍ", - "м": "ʍ", + "м": "m", "ꮇ": "ʍ", - "ӎ": "ʍ̦", + "ӎ": "m", "᙮": "x", "×": "x", "⤫": "x", @@ -2797,11 +2801,11 @@ "𑣬": "X", "X": "X", "Ⅹ": "X", - "𝐗": "X", + "𝐗": "x", "𝑋": "X", "𝑿": "X", "𝒳": "X", - "𝓧": "X", + "𝓧": "x", "𝔛": "X", "𝕏": "X", "𝖃": "X", @@ -2864,11 +2868,11 @@ "ყ": "y", "𑣜": "y", "Y": "Y", - "𝐘": "Y", + "𝐘": "y", "𝑌": "Y", "𝒀": "Y", "𝒴": "Y", - "𝓨": "Y", + "𝓨": "y", "𝔜": "Y", "𝕐": "Y", "𝖄": "Y", @@ -2894,7 +2898,7 @@ "𑢤": "Y", "𐊲": "Y", "ƴ": "y̔", - "ɏ": "y̵", + "ɏ": "y", "ұ": "y̵", "¥": "Y̵", "Ɏ": "Y̵", @@ -2902,7 +2906,7 @@ "ʒ": "ȝ", "ꝫ": "ȝ", "ⳍ": "ȝ", - "ӡ": "ȝ", + "ӡ": "e", "ჳ": "ȝ", "𝐳": "z", "𝑧": "z", @@ -2925,11 +2929,11 @@ "Z": "Z", "ℤ": "Z", "ℨ": "Z", - "𝐙": "Z", + "𝐙": "z", "𝑍": "Z", "𝒁": "Z", "𝒵": "Z", - "𝓩": "Z", + "𝓩": "z", "𝖅": "Z", "𝖹": "Z", "𝗭": "Z", @@ -2958,10 +2962,10 @@ "⁹": "ꝰ", "ᴤ": "ƨ", "ϩ": "ƨ", - "ꙅ": "ƨ", - "ь": "ƅ", + "ꙅ": "s", + "ь": "b", "ꮟ": "ƅ", - "ы": "ƅi", + "ы": "b", "ꭾ": "ɂ", "ˤ": "ˁ", "ꛍ": "ʡ", @@ -3045,7 +3049,7 @@ "𝞹": "π", "𝟉": "π", "ᴨ": "π", - "п": "π", + "п": "n", "∏": "Π", "ℿ": "Π", "𝚷": "Π", @@ -6309,5 +6313,117 @@ "龜": "龜", "⿔": "龜", "⻳": "龟", - "⿕": "龠" + "⿕": "龠", + "₳": "a", + "д": "a", + "ꙙ": "a", + "ѧ": "a", + "a": "a", + "🇦": "a", + "฿": "b", + "b": "b", + "b": "b", + "🇧": "b", + "🇨": "c", + "₵": "c", + "(": "c", + "c": "c", + "ԃ": "d", + "🇩": "d", + "d": "d", + "d": "d", + "∂": "d", + "🇪": "e", + "э": "e", + "e": "e", + "₣": "f", + "f": "f", + "f": "f", + "🇫": "f", + "₲": "g", + "g": "q", + "🇬": "g", + "ⱨ": "h", + "ԩ": "h", + "ԋ": "h", + "🇭": "h", + "h": "h", + "l": "l", + "i": "i", + "🇮": "i", + "j": "j", + "נ": "j", + "🇯": "j", + "ҝ": "k", + "ҡ": "k", + "k": "k", + "k": "k", + "🇰": "k", + "ⱡ": "l", + "🇱": "l", + "m": "m", + "🇲": "m", + "л": "n", + "₦": "n", + "ԥ": "n", + "n": "n", + "n": "n", + "🇳": "n", + "ю": "o", + "ꙕ": "o", + "ѻ": "o", + "ꙫ": "o", + "ꙩ": "o", + "ꚛ": "o", + "🇴": "o", + "o": "o", + "ҏ": "p", + "p": "p", + "₱": "p", + "🇵": "p", + "q": "q", + "q": "q", + "🇶": "q", + "ԙ": "r", + "ԇ": "r", + "ԅ": "r", + "r": "r", + "r": "r", + "🇷": "r", + "s": "s", + "🇸": "s", + "₴": "s", + "t": "t", + "t": "t", + "🇹": "t", + "v": "v", + "ц": "y", + "ꙡ": "u", + "u": "u", + "u": "u", + "🇺": "u", + "ʉ": "u", + "🇻": "v", + "ш": "w", + "щ": "w", + "ꚇ": "w", + "w": "w", + "w": "w", + "ω": "w", + "🇼": "w", + "ҳ": "x", + "ӿ": "x", + "ӽ": "x", + "x": "x", + "χ": "x", + "🇽": "x", + "ч": "y", + "ꚏ": "y", + "y": "y", + "🇾": "y", + "ж": "z", + "z": "z", + "z": "z", + "ⱬ": "z", + "🇿": "z" } \ No newline at end of file diff --git a/index.js b/index.js index 39150ea..8d426bc 100644 --- a/index.js +++ b/index.js @@ -14,7 +14,7 @@ function replace_fn(match) { } function unhomoglyph(str) { - return str.replace(REPLACE_RE, replace_fn); + return str.toLowerCase().normalize('NFD').replace(/\p{Diacritic}/gu, "").replace(/[\u200B-\u200D\uFEFF\u034F]/g, '').replace(REPLACE_RE, replace_fn).toLowerCase(); } module.exports = unhomoglyph;