Skip to content

Instantly share code, notes, and snippets.

@letanure
Created October 29, 2021 17:13
Show Gist options
  • Save letanure/97329eb26ac2de2c3cf10dc527f74b1b to your computer and use it in GitHub Desktop.
Save letanure/97329eb26ac2de2c3cf10dc527f74b1b to your computer and use it in GitHub Desktop.
emo translator wip
function searchCharInArray(char, array) {
for (let i = 0; i < array.length; i++) {
if (array[i].indexOf(char) !== -1) {
return array[i].indexOf(char);
}
}
return false;
}
function replaceAll(str, find, replace) {
return str.replace(new RegExp(find, "g"), replace);
}
function removeSymbol(strOriginal) {
const specialSymbols = [
// "/\/",
"\uD83C",
"\uD835",
"▁",
"▂",
"▄",
"▅",
"▆",
"▇",
"█",
"『",
"』",
"【",
"】",
"'",
"̶",
"°",
"¯",
// ".",
"·",
"_",
"★",
"♥",
"҉",
"͆",
"̺",
"̴",
"̷",
"̲",
"̳",
"̾",
"͙",
"̟",
"͎",
"̽",
"͓",
];
specialSymbols.map(function (symbol) {
strOriginal = strOriginal.replace(new RegExp(symbol, "gi"), "");
});
return strOriginal;
}
function translateEmoLang(strWithSpecialChars) {
const specialCharGroups = [
"äḅċďệḟġḧïjḳŀṃńöṗqŕṩẗüṿẅẍÿẓÄḄĊĎỆḞĠḦÏJḲĿṂŃÖṖQŔṨṮÜṾẄẌŸẒ0123456789 ",
"ḀḃḉḊḕḟḠḧḭjḲḶṁṆṏṖqṙṠṮṳṼẇẌẏẒḀḂḈḊḔḞḠḦḬJḲḶṀṆṎṖQṘṠṮṲṼẆẌẎẒ0123456789 ",
"ᏗᏰፈᎴᏋᎦᎶᏂᎥᏠᏦᏝᎷᏁᎧᎮᎤᏒᏕᏖᏬᏉᏇጀᎩፚᏗᏰፈᎴᏋᎦᎶᏂᎥᏠᏦᏝᎷᏁᎧᎮᎤᏒᏕᏖᏬᏉᏇጀᎩፚ0123456789 ",
"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",
"ᴀʙᴄᴅᴇғɢʜɪᴊᴋʟᴍɴᴏᴘϙʀꜱᴛᴜᴠᴡxʏᴢABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",
"ɐbɔdǝɟƃɥıɾʞlɯnodbɹsʇnʌʍxʎzɐqɔpǝɟƃɥıɾʞlɯuodbɹsʇnʌʍxʎz0123456789 ",
"ⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙⓚⓛⓜⓝⓞⓟⓠⓡⓢⓣⓤⓥⓦⓧⓨⓩⒶⒷⒸⒹⒺⒻⒼⒽⒾⒿⓀⓁⓂⓃⓄⓅⓆⓇⓈⓉⓊⓋⓌⓍⓎⓏ⓪①②③④⑤⑥⑦⑧⑨ ",
"₳฿₵ĐɆ₣₲ⱧłJ₭Ⱡ₥₦Ø₱QⱤ₴₮ɄV₩ӾɎⱫ₳฿₵ĐɆ₣₲ⱧłJ₭Ⱡ₥₦Ø₱QⱤ₴₮ɄV₩ӾɎⱫ0123456789 ",
"αв¢∂єfgнιנкℓмиσρqяѕтυνωχуzαв¢∂єfgнιנкℓмиσρqяѕтυνωχуz0123456789 ",
"αвcdєfghíjklmnσpqrstuvwхчzαвcdєfghíjklmnσpqrstuvwхчz0123456789 ",
"αႦƈԃҽϝɠԋιʝƙʅɱɳσρϙɾʂƚυʋɯxყȥABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",
"ǟɮƈɖɛʄɢɦɨʝӄʟʍռօքզʀֆȶʊʋաӼʏʐǟɮƈɖɛʄɢɦɨʝӄʟʍռօքզʀֆȶʊʋաӼʏʐ0123456789 ",
"ᗩᗷᑕᗪEᖴGᕼIᒍKᒪᗰᑎOᑭᑫᖇᔕTᑌᐯᗯ᙭YᘔᗩᗷᑕᗪEᖴGᕼIᒍKᒪᗰᑎOᑭᑫᖇᔕTᑌᐯᗯ᙭Yᘔ0123456789 ",
"ᎪbᏟᎠᎬfᎶhᎥjᏦᏞmᏁᎾᏢqᏒsᏆuᏉᎳxᎽᏃᎪbᏟᎠᎬfᎶhᎥjᏦᏞmᏁᎾᏢqᏒsᏆuᏉᎳxᎽᏃ0123456789 ",
"αвc∂εғgнιנкℓмησρqяsтυvωxүzαвc∂εғgнιנкℓмησρqяsтυvωxүz0123456789 ",
"卂乃匚ᗪ乇千Ꮆ卄丨フҜㄥ爪几ㄖ卩Ɋ尺丂ㄒㄩᐯ山乂ㄚ乙卂乃匚ᗪ乇千Ꮆ卄丨フҜㄥ爪几ㄖ卩Ɋ尺丂ㄒㄩᐯ山乂ㄚ乙0123456789 ",
"ĂβČĎĔŦĞĤĨĴĶĹМŃŐРQŔŚŤÚVŴЖŶŹĂβČĎĔŦĞĤĨĴĶĹМŃŐРQŔŚŤÚVŴЖŶŹ0123456789 ",
"ᎪbᏟᎠᎬfᎶhᎥjᏦᏞmᏁᎾᏢqᏒsᏆuᏉᎳxᎽᏃᎪbᏟᎠᎬfᎶhᎥjᏦᏞmᏁᎾᏢqᏒsᏆuᏉᎳxᎽᏃ0123456789 ",
"ᏗᏰፈᎴᏋᎦᎶᏂᎥᏠᏦᏝᎷᏁᎧᎮᎤᏒᏕᏖᏬᏉᏇጀᎩፚᏗᏰፈᎴᏋᎦᎶᏂᎥᏠᏦᏝᎷᏁᎧᎮᎤᏒᏕᏖᏬᏉᏇጀᎩፚ0123456789 ",
"ɐbɔdǝɟƃɥ!ɾʞןɯnodbɹsʇnʌʍxʎzɐbɔdǝɟƃɥ!ɾʞןɯnodbɹsʇnʌʍxʎz0123456789 ",
"ΔβĆĐ€₣ǤĦƗĴҜŁΜŇØƤΩŘŞŦỮVŴЖ¥ŽΔβĆĐ€₣ǤĦƗĴҜŁΜŇØƤΩŘŞŦỮVŴЖ¥Ž0123456789 ",
"αɓ૮∂εƒɠɦเʝҡℓɱɳσρφ૨รƭµѵωאყƶαɓ૮∂εƒɠɦเʝҡℓɱɳσρφ૨รƭµѵωאყƶ0123456789 ",
"ᗩᗷᑕᗪᗴᖴǤᕼᎥᒎᛕᒪᗰᑎᗝᑭɊᖇᔕ丅ᑌᐯᗯ᙭Ƴ乙ᗩᗷᑕᗪᗴᖴǤᕼᎥᒎᛕᒪᗰᑎᗝᑭɊᖇᔕ丅ᑌᐯᗯ᙭Ƴ乙0123456789 ",
"ค๒ς๔єŦﻮђเןкl๓ภ๏קợгรtยשฬץאzค๒ς๔єŦﻮђเןкl๓ภ๏קợгรtยשฬץאz0123456789 ",
"aвcdeғgнιjĸlмnopqrѕтυvwхyzaвcdeғgнιjĸlмnopqrѕтυvwхyz0123456789 ",
"åβçď£ƒğȟȋjķȽɱñ¤קǭȑ§țɥ√Ψ×ÿžåβçď£ƒğȟȋjķȽɱñ¤קǭȑ§țɥ√Ψ×ÿž0123456789 ",
"ąβȼď€ƒǥhɨjЌℓʍɲ๏ρǭя$ţµ˅ώж¥ƶąβȼď€ƒǥhɨjЌℓʍɲ๏ρǭя$ţµ˅ώж¥ƶ0123456789 ",
"მჩეძპfცhἶქκlოῆõρგΓჰནυὗwჯყɀმჩეძპfცhἶქκlოῆõρგΓჰནυὗwჯყɀ0123456789 ",
"ÃβČĎẸƑĞĤĮĴЌĹϻŇỖƤǪŘŜŤǗϋŴЖЎŻÃβČĎẸƑĞĤĮĴЌĹϻŇỖƤǪŘŜŤǗϋŴЖЎŻ0123456789 ",
"aвcdeғgнιjĸlмnopqrѕтυvwхyzaвcdeғgнιjĸlмnopqrѕтυvwхyz0123456789 ",
"αвcdєfghíjklmnσpqrѕtuvwхчzαвcdєfghíjklmnσpqrѕtuvwхчz0123456789 ",
"άвςȡέғģħίјķĻмήόρqŕşţùνώxчžάвςȡέғģħίјķĻмήόρqŕşţùνώxчž0123456789 ",
"ᎪbᏟᎠᎬfᎶhᎥjᏦᏞmᏁᎾᏢqᏒsᏆuᏉᎳxᎽᏃᎪbᏟᎠᎬfᎶhᎥjᏦᏞmᏁᎾᏢqᏒsᏆuᏉᎳxᎽᏃ0123456789 ",
"ДᏰℂ∂ƎƒᎶℍîʝƘℓℳИøρǪЯƧ✞υϑᏔ✘УՀДᏰℂ∂ƎƒᎶℍîʝƘℓℳИøρǪЯƧ✞υϑᏔ✘УՀ0123456789 ",
"ДБCDΞFGHIJҜLMИФPǪЯSΓЦVЩЖУZДБCDΞFGHIJҜLMИФPǪЯSΓЦVЩЖУZ0123456789 ",
"ǟɮƈɖɛʄɢɦɨʝᏦʟʍռօքզʀֆᏆʊʋաxʏʐǟɮƈɖɛʄɢɦɨʝᏦʟʍռօքզʀֆᏆʊʋաxʏʐ0123456789 ",
"ɑҍϲժҽƒցհíյƘӀʍղօԹզɾՏԵմѵա×վՀɑҍϲժҽƒցհíյƘӀʍղօԹզɾՏԵմѵա×վՀ0123456789 ",
"ꍏꌃꉓꀸꍟꎇꁅꃅꀤꀭꀘ꒒ꎭꈤꂦᖘꆰꋪꌗ꓄ꀎᐯꅏꊼꌩꁴꍏꌃꉓꀸꍟꎇꁅꃅꀤꀭꀘ꒒ꎭꈤꂦᖘꆰꋪꌗ꓄ꀎᐯꅏꊼꌩꁴ0123456789 ",
"ᴬᴮᶜᴰᴱᶠᴳᴴᴵᴶᴷᴸᴹᴺᴼᴾᵟᴿˢᵀᵁᵛᵂˣᵞᶻᴬᴮᶜᴰᴱᶠᴳᴴᴵᴶᴷᴸᴹᴺᴼᴾᵟᴿˢᵀᵁᵛᵂˣᵞᶻ0123456789 ",
"αвcdeғɢнιjĸlмɴopqrѕтυvwхyzαвcdeғɢнιjĸlмɴopqrѕтυvwхyz0123456789 ",
"ΛϦㄈÐƐFƓнɪフҚŁ௱ЛØþҨ尺らŤЦƔƜχϤẔΛϦㄈÐƐFƓнɪフҚŁ௱ЛØþҨ尺らŤЦƔƜχϤẔ0123456789 ",
"ƛƁƇƊЄƑƓӇƖʆƘԼMƝƠƤƢƦƧƬƲƔƜҲƳȤƛƁƇƊЄƑƓӇƖʆƘԼMƝƠƤƢƦƧƬƲƔƜҲƳȤ0123456789 ",
"ᕱც꒝Ꭰꂅꊰg♅ᎥϳКլოภԾᎵգᏒᏕϮuᏉᎳꊼᎩᏃᕱც꒝Ꭰꂅꊰg♅ᎥϳКլოภԾᎵգᏒᏕϮuᏉᎳꊼᎩᏃ0123456789 ",
"คც८ძ૯Բ૭ҺɿʆқՆɱՈ૦ƿҩՐς੮υ౮ω૪עઽคც८ძ૯Բ૭ҺɿʆқՆɱՈ૦ƿҩՐς੮υ౮ω૪עઽ0123456789 ",
"ԹՅՇԺȝԲԳɧɿʝƙʅʍՌԾρφՐՏԵՄעաՃՎՀԹՅՇԺȝԲԳɧɿʝƙʅʍՌԾρφՐՏԵՄעաՃՎՀ0123456789 ",
"ム乃ᄃり乇キムんノフズレᄊ刀のアゐ尺丂イひ√Wメリ乙ム乃ᄃり乇キムんノフズレᄊ刀のアゐ尺丂イひ√Wメリ乙0123456789 ",
"αßςdεƒghïյκレmη⊕pΩrš†u∀ωxψzαßςdεƒghïյκレmη⊕pΩrš†u∀ωxψz0123456789 ",
"ค๖¢໓ēfງhiวkl๓ຖ໐p๑rŞtนงຟxฯຊค๖¢໓ēfງhiวkl๓ຖ໐p๑rŞtนงຟxฯຊ0123456789 ",
"ąცƈɖɛʄɠɧıʝƙƖɱŋơ℘զཞʂɬų۷ῳҳყʑąცƈɖɛʄɠɧıʝƙƖɱŋơ℘զཞʂɬų۷ῳҳყʑ0123456789 ",
// "ᗅᙘᑤᗫᙍᖴᘜᕼᓿᒙᖽᐸᒪᙢᘉᓎᕿᕴᖇSᖶᑗᐻᙎ᙭ᖻᙣᗅᙘᑤᗫᙍᖴᘜᕼᓿᒙᖽᐸᒪᙢᘉᓎᕿᕴᖇSᖶᑗᐻᙎ᙭ᖻᙣ0123456789 ",
// "ᗩᗷᑢᕲᘿᖴᘜᕼᓰᒚᖽᐸᒪᘻᘉᓍᕵᕴᖇSᖶᑘᐺᘺ᙭ᖻᗱᗩᗷᑢᕲᘿᖴᘜᕼᓰᒚᖽᐸᒪᘻᘉᓍᕵᕴᖇSᖶᑘᐺᘺ᙭ᖻᗱ0123456789 ",
// "ᴀʙᴄᴅᴇғɢʜɪᴊᴋʟᴍɴᴏᴘǫʀsᴛᴜᴠᴡxʏᴢᴀʙᴄᴅᴇғɢʜɪᴊᴋʟᴍɴᴏᴘǫʀsᴛᴜᴠᴡxʏᴢ𝟶𝟷𝟸𝟹𝟺𝟻𝟼𝟽𝟾𝟿 ",
"🅰🅱🌜🌛🎗🎏🌀♓🎐🎷🎋👢〽️🎵⚽🅿️🍳🌱💲🌴⛎✅🔱❎🍸💤🅰🅱🌜🌛🎗🎏🌀♓🎐🎷🎋👢〽️🎵⚽🅿️🍳🌱💲🌴⛎✅🔱❎🍸💤0123456789 ",
"𝔞𝔟𝔠𝔡𝔢𝔣𝔤𝔥𝔦𝔧𝔨𝔩𝔪𝔫𝔬𝔭𝔮𝔯𝔰𝔱𝔲𝔳𝔴𝔵𝔶𝔷𝔄𝔅ℭ𝔇𝔈𝔉𝔊ℌℑ𝔍𝔎𝔏𝔐𝔑𝔒𝔓𝔔ℜ𝔖𝔗𝔘𝔙𝔚𝔛𝔜ℨօյշՅկՏճԴՑգ ",
"'🄰🄱🄲🄳🄴🄵🄶🄷🄸🄹🄺🄻🄼🄽🄾🄿🅀🅁🅂🅃🅄🅅🅆🅇🅈🅉🄰🄱🄲🄳🄴🄵🄶🄷🄸🄹🄺🄻🄼🄽🄾🄿🅀🅁🅂🅃🅄🅅🅆🅇🅈🅉0123456789', ",
"𝖆𝖇𝖈𝖉𝖊𝖋𝖌𝖍𝖎𝖏𝖐𝖑𝖒𝖓𝖔𝖕𝖖𝖗𝖘𝖙𝖚𝖛𝖜𝖝𝖞𝖟𝕬𝕭𝕮𝕯𝕰𝕱𝕲𝕳𝕴𝕵𝕶𝕷𝕸𝕹𝕺𝕻𝕼𝕽𝕾𝕿𝖀𝖁𝖂𝖃𝖄𝖅օյշՅկՏճԴՑգ ",
"🅐🅑🅒🅓🅔🅕🅖🅗🅘🅙🅚🅛🅜🅝🅞🅟🅠🅡🅢🅣🅤🅥🅦🅧🅨🅩🅐🅑🅒🅓🅔🅕🅖🅗🅘🅙🅚🅛🅜🅝🅞🅟🅠🅡🅢🅣🅤🅥🅦🅧🅨🅩⓿➊➋➌➍➎➏➐➑➒ ",
"𝓪𝓫𝓬𝓭𝓮𝓯𝓰𝓱𝓲𝓳𝓴𝓵𝓶𝓷𝓸𝓹𝓺𝓻𝓼𝓽𝓾𝓿𝔀𝔁𝔂𝔃𝓐𝓑𝓒𝓓𝓔𝓕𝓖𝓗𝓘𝓙𝓚𝓛𝓜𝓝𝓞𝓟𝓠𝓡𝓢𝓣𝓤𝓥𝓦𝓧𝓨𝓩0123456789 ",
"𝒶𝒷𝒸𝒹𝑒𝒻𝑔𝒽𝒾𝒿𝓀𝓁𝓂𝓃𝑜𝓅𝓆𝓇𝓈𝓉𝓊𝓋𝓌𝓍𝓎𝓏𝒜𝐵𝒞𝒟𝐸𝐹𝒢𝐻𝐼𝒥𝒦𝐿𝑀𝒩𝒪𝒫𝒬𝑅𝒮𝒯𝒰𝒱𝒲𝒳𝒴𝒵0123456789 ",
"𝘢𝘣𝘤𝘥𝘦𝘧𝘨𝘩𝘪𝘫𝘬𝘭𝘮𝘯𝘰𝘱𝘲𝘳𝘴𝘵𝘶𝘷𝘸𝘹𝘺𝘻𝘈𝘉𝘊𝘋𝘌𝘍𝘎𝘏𝘐𝘑𝘒𝘓𝘔𝘕𝘖𝘗𝘘𝘙𝘚𝘛𝘜𝘝𝘞𝘟𝘠𝘡0123456789 ",
"𝙖𝙗𝙘𝙙𝙚𝙛𝙜𝙝𝙞𝙟𝙠𝙡𝙢𝙣𝙤𝙥𝙦𝙧𝙨𝙩𝙪𝙫𝙬𝙭𝙮𝙯𝘼𝘽𝘾𝘿𝙀𝙁𝙂𝙃𝙄𝙅𝙆𝙇𝙈𝙉𝙊𝙋𝙌𝙍𝙎𝙏𝙐𝙑𝙒𝙓𝙔𝙕0123456789 ",
"🅰🅱🅲🅳🅴🅵🅶🅷🅸🅹🅺🅻🅼🅽🅾🅿🆀🆁🆂🆃🆄🆅🆆🆇🆈🆉🅰🅱🅲🅳🅴🅵🅶🅷🅸🅹🅺🅻🅼🅽🅾🅿🆀🆁🆂🆃🆄🆅🆆🆇🆈🆉0123456789 ",
"𝕒𝕓𝕔𝕕𝕖𝕗𝕘𝕙𝕚𝕛𝕜𝕝𝕞𝕟𝕠𝕡𝕢𝕣𝕤𝕥𝕦𝕧𝕨𝕩𝕪𝕫𝔸𝔹ℂ𝔻𝔼𝔽𝔾ℍ𝕀𝕁𝕂𝕃𝕄ℕ𝕆ℙℚℝ𝕊𝕋𝕌𝕍𝕎𝕏𝕐ℤ𝟘𝟙𝟚𝟛𝟜𝟝𝟞𝟟𝟠𝟡 ",
"𝐚𝐛𝐜𝐝𝐞𝐟𝐠𝐡𝐢𝐣𝐤𝐥𝐦𝐧𝐨𝐩𝐪𝐫𝐬𝐭𝐮𝐯𝐰𝐱𝐲𝐳𝐀𝐁𝐂𝐃𝐄𝐅𝐆𝐇𝐈𝐉𝐊𝐋𝐌𝐍𝐎𝐏𝐐𝐑𝐒𝐓𝐔𝐕𝐖𝐗𝐘𝐙𝟎𝟏𝟐𝟑𝟒𝟓𝟔𝟕𝟖𝟗 ",
"𝚊𝚋𝚌𝚍𝚎𝚏𝚐𝚑𝚒𝚓𝚔𝚕𝚖𝚗𝚘𝚙𝚚𝚛𝚜𝚝𝚞𝚟𝚠𝚡𝚢𝚣𝙰𝙱𝙲𝙳𝙴𝙵𝙶𝙷𝙸𝙹𝙺𝙻𝙼𝙽𝙾𝙿𝚀𝚁𝚂𝚃𝚄𝚅𝚆𝚇𝚈𝚉𝟶𝟷𝟸𝟹𝟺𝟻𝟼𝟽𝟾𝟿 ",
// "🇦​🇧​🇨​🇩​🇪​🇫​🇬​🇭​🇮​🇯​🇰​🇱​🇲​🇳​🇴​🇵​🇶​🇷​🇸​🇹​🇺​🇻​🇼​🇽​🇾​🇿​🇦​🇧​🇨​🇩​🇪​🇫​🇬​🇭​🇮​🇯​🇰​🇱​🇲​🇳​🇴​🇵​🇶​🇷​🇸​🇹​🇺​🇻​🇼​🇽​🇾​🇿​0123456789",
];
const specialCharGroupsArrays = specialCharGroups.map((item) => {
return removeSymbol(item).split("");
});
const regularChars =
"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ";
const strWithOutSpecialChars = removeSymbol(strWithSpecialChars);
function similarItemsNumber(arr, arr2) {
let similarItems = 0;
arr.forEach((item) => {
if (arr2.includes(item)) {
similarItems++;
}
});
return similarItems;
}
let indexMostSimilarArray = 0
let mostSimilarNumber = 0;
specialCharGroupsArrays.forEach((item, index) => {
similarItems = similarItemsNumber(strWithOutSpecialChars.split(""), item);
if (similarItems > mostSimilarNumber) {
indexMostSimilarArray = index;
mostSimilarNumber = similarItems;
}
})
const normalizedStr = strWithOutSpecialChars
.split("")
.map((char) => {
// const index = searchCharInArray(char, specialCharGroupsArrays);
const index = searchCharInArray(
char,
[specialCharGroupsArrays[indexMostSimilarArray]]
);
if (index !== false) {
return regularChars[index];
} else {
return "";
}
})
.join("");
return normalizedStr;
}
const test = () => [
"Ṯḧệ qüïċḳ ḅŕöẅń ḟöẍ jüṃṗṩ öṿệŕ ä ŀäẓÿ ďöġ",
"Ṯḧḕ qṳḭḉḲ ḃṙṏẇṆ ḟṏẌ jṳṁṖṠ ṏṼḕṙ Ḁ ḶḀẒẏ ḊṏḠ",
"🌴♓🎗 🍳⛎🎐🌜🎋 🅱🌱⚽🔱🎵 🎏⚽❎ 🎷⛎〽️🅿️💲 ⚽✅🎗🌱 🅰 👢🅰💤🍸 🌛⚽🌀",
"ᏖᏂᏋ ᎤᏬᎥፈᏦ ᏰᏒᎧᏇᏁ ᎦᎧጀ ᏠᏬᎷᎮᏕ ᎧᏉᏋᏒ Ꮧ ᏝᏗፚᎩ ᎴᎧᎶ",
"🅃🄷🄴 🅀🅄🄸🄲🄺 🄱🅁🄾🅆🄽 🄵🄾🅇 🄹🅄🄼🄿🅂 🄾🅅🄴🅁 🄰 🄻🄰🅉🅈 🄳🄾🄶",
"The quick brown fox jumps over a lazy dog",
"Tʜᴇ ϙᴜɪᴄᴋ ʙʀᴏᴡɴ ғᴏx ᴊᴜᴍᴘꜱ ᴏᴠᴇʀ ᴀ ʟᴀᴢʏ ᴅᴏɢ",
"ʇɥǝ bnıɔʞ bɹoʍn ɟox ɾnɯds oʌǝɹ ɐ lɐzʎ doƃ",
"T҉h҉e҉ q҉u҉i҉c҉k҉ b҉r҉o҉w҉n҉ f҉o҉x҉ j҉u҉m҉p҉s҉ o҉v҉e҉r҉ a҉ l҉a҉z҉y҉ d҉o҉g҉",
"T͆h͆e͆ q͆u͆i͆c͆k͆ b͆r͆o͆w͆n͆ f͆o͆x͆ j͆u͆m͆p͆s͆ o͆v͆e͆r͆ a͆ l͆a͆z͆y͆ d͆o͆g͆",
"T̺h̺e̺ q̺u̺i̺c̺k̺ b̺r̺o̺w̺n̺ f̺o̺x̺ j̺u̺m̺p̺s̺ o̺v̺e̺r̺ a̺ l̺a̺z̺y̺ d̺o̺g̺",
"𝕋𝕙𝕖 𝕢𝕦𝕚𝕔𝕜 𝕓𝕣𝕠𝕨𝕟 𝕗𝕠𝕩 𝕛𝕦𝕞𝕡𝕤 𝕠𝕧𝕖𝕣 𝕒 𝕝𝕒𝕫𝕪 𝕕𝕠𝕘",
"Ⓣⓗⓔ ⓠⓤⓘⓒⓚ ⓑⓡⓞⓦⓝ ⓕⓞⓧ ⓙⓤⓜⓟⓢ ⓞⓥⓔⓡ ⓐ ⓛⓐⓩⓨ ⓓⓞⓖ",
"ᴛʜᴇ ǫᴜɪᴄᴋ ʙʀᴏᴡɴ ғᴏx ᴊᴜᴍᴘs ᴏᴠᴇʀ ᴀ ʟᴀᴢʏ ᴅᴏɢ",
"₮ⱧɆ QɄł₵₭ ฿ⱤØ₩₦ ₣ØӾ JɄ₥₱₴ ØVɆⱤ ₳ Ⱡ₳ⱫɎ ĐØ₲",
"𝔗𝔥𝔢 𝔮𝔲𝔦𝔠𝔨 𝔟𝔯𝔬𝔴𝔫 𝔣𝔬𝔵 𝔧𝔲𝔪𝔭𝔰 𝔬𝔳𝔢𝔯 𝔞 𝔩𝔞𝔷𝔶 𝔡𝔬𝔤",
"𝕿𝖍𝖊 𝖖𝖚𝖎𝖈𝖐 𝖇𝖗𝖔𝖜𝖓 𝖋𝖔𝖝 𝖏𝖚𝖒𝖕𝖘 𝖔𝖛𝖊𝖗 𝖆 𝖑𝖆𝖟𝖞 𝖉𝖔𝖌",
"тнє qυι¢к вяσωи fσχ נυмρѕ σνєя α ℓαzу ∂σg",
"thє quíck вrσwn fσх jumps σvєr α lαzч dσg",
"🅣🅗🅔 🅠🅤🅘🅒🅚 🅑🅡🅞🅦🅝 🅕🅞🅧 🅙🅤🅜🅟🅢 🅞🅥🅔🅡 🅐 🅛🅐🅩🅨 🅓🅞🅖",
"𝓣𝓱𝓮 𝓺𝓾𝓲𝓬𝓴 𝓫𝓻𝓸𝔀𝓷 𝓯𝓸𝔁 𝓳𝓾𝓶𝓹𝓼 𝓸𝓿𝓮𝓻 𝓪 𝓵𝓪𝔃𝔂 𝓭𝓸𝓰",
"𝒯𝒽𝑒 𝓆𝓊𝒾𝒸𝓀 𝒷𝓇𝑜𝓌𝓃 𝒻𝑜𝓍 𝒿𝓊𝓂𝓅𝓈 𝑜𝓋𝑒𝓇 𝒶 𝓁𝒶𝓏𝓎 𝒹𝑜𝑔",
"Tԋҽ ϙυιƈƙ Ⴆɾσɯɳ ϝσx ʝυɱρʂ σʋҽɾ α ʅαȥყ ԃσɠ",
"𝐓𝐡𝐞 𝐪𝐮𝐢𝐜𝐤 𝐛𝐫𝐨𝐰𝐧 𝐟𝐨𝐱 𝐣𝐮𝐦𝐩𝐬 𝐨𝐯𝐞𝐫 𝐚 𝐥𝐚𝐳𝐲 𝐝𝐨𝐠",
"𝘛𝘩𝘦 𝘲𝘶𝘪𝘤𝘬 𝘣𝘳𝘰𝘸𝘯 𝘧𝘰𝘹 𝘫𝘶𝘮𝘱𝘴 𝘰𝘷𝘦𝘳 𝘢 𝘭𝘢𝘻𝘺 𝘥𝘰𝘨",
"𝙏𝙝𝙚 𝙦𝙪𝙞𝙘𝙠 𝙗𝙧𝙤𝙬𝙣 𝙛𝙤𝙭 𝙟𝙪𝙢𝙥𝙨 𝙤𝙫𝙚𝙧 𝙖 𝙡𝙖𝙯𝙮 𝙙𝙤𝙜",
"𝚃𝚑𝚎 𝚚𝚞𝚒𝚌𝚔 𝚋𝚛𝚘𝚠𝚗 𝚏𝚘𝚡 𝚓𝚞𝚖𝚙𝚜 𝚘𝚟𝚎𝚛 𝚊 𝚕𝚊𝚣𝚢 𝚍𝚘𝚐",
"ȶɦɛ զʊɨƈӄ ɮʀօառ ʄօӼ ʝʊʍքֆ օʋɛʀ ǟ ʟǟʐʏ ɖօɢ",
"T̶h̶e̶ ̶q̶u̶i̶c̶k̶ ̶b̶r̶o̶w̶n̶ ̶f̶o̶x̶ ̶j̶u̶m̶p̶s̶ ̶o̶v̶e̶r̶ ̶a̶ ̶l̶a̶z̶y̶ ̶d̶o̶g̶",
"T̴h̴e̴ ̴q̴u̴i̴c̴k̴ ̴b̴r̴o̴w̴n̴ ̴f̴o̴x̴ ̴j̴u̴m̴p̴s̴ ̴o̴v̴e̴r̴ ̴a̴ ̴l̴a̴z̴y̴ ̴d̴o̴g̴",
"T̷h̷e̷ ̷q̷u̷i̷c̷k̷ ̷b̷r̷o̷w̷n̷ ̷f̷o̷x̷ ̷j̷u̷m̷p̷s̷ ̷o̷v̷e̷r̷ ̷a̷ ̷l̷a̷z̷y̷ ̷d̷o̷g̷",
"T̲h̲e̲ ̲q̲u̲i̲c̲k̲ ̲b̲r̲o̲w̲n̲ ̲f̲o̲x̲ ̲j̲u̲m̲p̲s̲ ̲o̲v̲e̲r̲ ̲a̲ ̲l̲a̲z̲y̲ ̲d̲o̲g̲",
"T̳h̳e̳ ̳q̳u̳i̳c̳k̳ ̳b̳r̳o̳w̳n̳ ̳f̳o̳x̳ ̳j̳u̳m̳p̳s̳ ̳o̳v̳e̳r̳ ̳a̳ ̳l̳a̳z̳y̳ ̳d̳o̳g̳",
"TᕼE ᑫᑌIᑕK ᗷᖇOᗯᑎ ᖴO᙭ ᒍᑌᗰᑭᔕ OᐯEᖇ ᗩ ᒪᗩᘔY ᗪOG",
"͏t͏h͏e ͏q͏u͏i͏c͏k ͏b͏r͏o͏w͏n ͏f͏o͏x ͏j͏u͏m͏p͏s ͏o͏v͏e͏r ͏a ͏l͏a͏z͏y ͏d͏o͏g",
"T̾h̾e̾ q̾u̾i̾c̾k̾ b̾r̾o̾w̾n̾ f̾o̾x̾ j̾u̾m̾p̾s̾ o̾v̾e̾r̾ a̾ l̾a̾z̾y̾ d̾o̾g̾",
"T͙h͙e͙ q͙u͙i͙c͙k͙ b͙r͙o͙w͙n͙ f͙o͙x͙ j͙u͙m͙p͙s͙ o͙v͙e͙r͙ a͙ l͙a͙z͙y͙ d͙o͙g͙",
"T̟h̟e̟ q̟u̟i̟c̟k̟ b̟r̟o̟w̟n̟ f̟o̟x̟ j̟u̟m̟p̟s̟ o̟v̟e̟r̟ a̟ l̟a̟z̟y̟ d̟o̟g̟",
"T͓̽h͓̽e͓̽ q͓̽u͓̽i͓̽c͓̽k͓̽ b͓̽r͓̽o͓̽w͓̽n͓̽ f͓̽o͓̽x͓̽ j͓̽u͓̽m͓̽p͓̽s͓̽ o͓̽v͓̽e͓̽r͓̽ a͓̽ l͓̽a͓̽z͓̽y͓̽ d͓̽o͓̽g͓̽",
"T͎h͎e͎ q͎u͎i͎c͎k͎ b͎r͎o͎w͎n͎ f͎o͎x͎ j͎u͎m͎p͎s͎ o͎v͎e͎r͎ a͎ l͎a͎z͎y͎ d͎o͎g͎",
"T♥h♥e♥ q♥u♥i♥c♥k♥ b♥r♥o♥w♥n♥ f♥o♥x♥ j♥u♥m♥p♥s♥ o♥v♥e♥r♥ a♥ l♥a♥z♥y♥ d♥o♥g♥",
"【T】【h】【e】 【q】【u】【i】【c】【k】 【b】【r】【o】【w】【n】 【f】【o】【x】 【j】【u】【m】【p】【s】 【o】【v】【e】【r】 【a】 【l】【a】【z】【y】 【d】【o】【g】",
"『T』『h』『e』 『q』『u』『i』『c』『k』 『b』『r』『o』『w』『n』 『f』『o』『x』 『j』『u』『m』『p』『s』 『o』『v』『e』『r』 『a』 『l』『a』『z』『y』 『d』『o』『g』",
"🆃🅷🅴 🆀🆄🅸🅲🅺 🅱🆁🅾🆆🅽 🅵🅾🆇 🅹🆄🅼🅿🆂 🅾🆅🅴🆁 🅰 🅻🅰🆉🆈 🅳🅾🅶",
"ᏆhᎬ quᎥᏟᏦ bᏒᎾᎳᏁ fᎾx jumᏢs ᎾᏉᎬᏒ Ꭺ ᏞᎪᏃᎽ ᎠᎾᎶ",
"тнε qυιcк вяσωη ғσx נυмρs σvεя α ℓαzү ∂σg",
"ㄒ卄乇 Ɋㄩ丨匚Ҝ 乃尺ㄖ山几 千ㄖ乂 フㄩ爪卩丂 ㄖᐯ乇尺 卂 ㄥ卂乙ㄚ ᗪㄖᎶ",
"ŤĤĔ QÚĨČĶ βŔŐŴŃ ŦŐЖ ĴÚМРŚ ŐVĔŔ Ă ĹĂŹŶ ĎŐĞ",
"ᏆhᎬ quᎥᏟᏦ bᏒᎾᎳᏁ fᎾx jumᏢs ᎾᏉᎬᏒ Ꭺ ᏞᎪᏃᎽ ᎠᎾᎶ",
"ᏖᏂᏋ ᎤᏬᎥፈᏦ ᏰᏒᎧᏇᏁ ᎦᎧጀ ᏠᏬᎷᎮᏕ ᎧᏉᏋᏒ Ꮧ ᏝᏗፚᎩ ᎴᎧᎶ",
"ʇɥǝ bn!ɔʞ bɹoʍn ɟox ɾnɯds oʌǝɹ ɐ ןɐzʎ doƃ",
"ŦĦ€ ΩỮƗĆҜ βŘØŴŇ ₣ØЖ ĴỮΜƤŞ ØV€Ř Δ ŁΔŽ¥ ĐØǤ",
"ƭɦε φµเ૮ҡ ɓ૨σωɳ ƒσא ʝµɱρร σѵε૨ α ℓαƶყ ∂σɠ",
"丅ᕼᗴ ɊᑌᎥᑕᛕ ᗷᖇᗝᗯᑎ ᖴᗝ᙭ ᒎᑌᗰᑭᔕ ᗝᐯᗴᖇ ᗩ ᒪᗩ乙Ƴ ᗪᗝǤ",
"tђє ợยเςк ๒г๏ฬภ Ŧ๏ץ ןย๓קร ๏שєг ค lคzא ๔๏ﻮ",
"тнe qυιcĸ вrown ғoх jυмpѕ over a lazy dog",
"🇹​🇭​🇪​ 🇶​🇺​🇮​🇨​🇰​ 🇧​🇷​🇴​🇼​🇳​ 🇫​🇴​🇽​ 🇯​🇺​🇲​🇵​🇸​ 🇴​🇻​🇪​🇷​ 🇦​ 🇱​🇦​🇿​🇾​ 🇩​🇴​🇬​",
"țȟ£ ǭɥȋçķ βȑ¤Ψñ ƒ¤× jɥɱק§ ¤√£ȑ å Ƚåžÿ ď¤ğ",
"ţh€ ǭµɨȼЌ βя๏ώɲ ƒ๏ж jµʍρ$ ๏˅€я ą ℓąƶ¥ ď๏ǥ",
"ནhპ გυἶეκ ჩΓõwῆ fõჯ ქυოρჰ õὗპΓ მ lმɀყ ძõც",
"ŤĤẸ ǪǗĮČЌ βŘỖŴŇ ƑỖЖ ĴǗϻƤŜ ỖϋẸŘ Ã ĹÃŻЎ ĎỖĞ",
"ᖶᕼᙍ ᕴᑗᓿᑤᖽᐸ ᙘᖇᓎᙎᘉ ᖴᓎ᙭ ᒙᑗᙢᕿS ᓎᐻᙍᖇ ᗅ ᒪᗅᙣᖻ ᗫᓎᘜ",
"тнe qυιcĸ вrown ғoх jυмpѕ over a lazy dog",
"thє quíck вrσwn fσх jumpѕ σvєr α lαzч dσg",
"ţħέ qùίςķ вŕόώή ғόx јùмρş όνέŕ ά Ļάžч ȡόģ",
"ᏆhᎬ quᎥᏟᏦ bᏒᎾᎳᏁ fᎾx jumᏢs ᎾᏉᎬᏒ Ꭺ ᏞᎪᏃᎽ ᎠᎾᎶ",
"✞ℍƎ ǪυîℂƘ ᏰЯøᏔИ ƒø✘ ʝυℳρƧ øϑƎЯ Д ℓДՀУ ∂øᎶ",
"ΓHΞ ǪЦICҜ БЯФЩИ FФЖ JЦMPS ФVΞЯ Д LДZУ DФG",
"Ꮖɦɛ զʊɨƈᏦ ɮʀօառ ʄօx ʝʊʍքֆ օʋɛʀ ǟ ʟǟʐʏ ɖօɢ",
"Եհҽ զմíϲƘ ҍɾօաղ ƒօ× յմʍԹՏ օѵҽɾ ɑ ӀɑՀվ ժօց",
"꓄ꃅꍟ ꆰꀎꀤꉓꀘ ꌃꋪꂦꅏꈤ ꎇꂦꊼ ꀭꀎꎭᖘꌗ ꂦᐯꍟꋪ ꍏ ꒒ꍏꁴꌩ ꀸꂦꁅ",
"ᵀᴴᴱ ᵟᵁᴵᶜᴷ ᴮᴿᴼᵂᴺ ᶠᴼˣ ᴶᵁᴹᴾˢ ᴼᵛᴱᴿ ᴬ ᴸᴬᶻᵞ ᴰᴼᴳ",
"тнe qυιcĸ вrowɴ ғoх jυмpѕ over α lαzy doɢ",
"ŤнƐ ҨЦɪㄈҚ Ϧ尺ØƜЛ FØχ フЦ௱þら ØƔƐ尺 Λ ŁΛẔϤ ÐØƓ",
"ƬӇЄ ƢƲƖƇƘ ƁƦƠƜƝ ƑƠҲ ʆƲMƤƧ ƠƔЄƦ ƛ ԼƛȤƳ ƊƠƓ",
"Ϯ♅ꂅ գuᎥ꒝К ცᏒԾᎳภ ꊰԾꊼ ϳuოᎵᏕ ԾᏉꂅᏒ ᕱ լᕱᏃᎩ ᎠԾg",
"੮Һ૯ ҩυɿ८қ ცՐ૦ωՈ Բ૦૪ ʆυɱƿς ૦౮૯Ր ค Նคઽע ძ૦૭",
"Եɧȝ φՄɿՇƙ ՅՐԾաՌ ԲԾՃ ʝՄʍρՏ ԾעȝՐ Թ ʅԹՀՎ ԺԾԳ",
"イん乇 ゐひノᄃズ 乃尺のW刀 キのメ フひᄊア丂 の√乇尺 ム レム乙リ りのム",
"†hε Ωuïςκ ßr⊕ωη ƒ⊕x յumpš ⊕∀εr α レαzψ d⊕g",
"thē ๑นi¢k ๖r໐ຟຖ f໐x วน๓pŞ ໐งēr ค lคຊฯ ໓໐ງ",
"ɬɧɛ զųıƈƙ ცཞơῳŋ ʄơҳ ʝųɱ℘ʂ ơ۷ɛཞ ą Ɩąʑყ ɖơɠ",
"ᖶᕼᘿ ᕴᑘᓰᑢᖽᐸ ᗷᖇᓍᘺᘉ ᖴᓍ᙭ ᒚᑘᘻᕵS ᓍᐺᘿᖇ ᗩ ᒪᗩᗱᖻ ᕲᓍᘜ",
].map((item, index) => {
const expected = "The quick brown fox jumps over a lazy dog";
const translated = translateEmoLang(item);
const result = translated === expected;
const diff = diffString(expected, translated);
return {
index,
result,
original: item,
translated,
// diff,
};
});
function diffString(a, b) {
const diff = [];
if (a === b) {
return diff;
}
a = a.toLowerCase();
b = b.toLowerCase();
const aLines = a.split("\n");
const bLines = b.split("\n");
const aLength = aLines.length;
const bLength = bLines.length;
const length = aLength > bLength ? aLength : bLength;
for (let i = 0; i < length; i++) {
const aLine = aLines[i] || "";
const bLine = bLines[i] || "";
if (aLine !== bLine) {
diff.push(i, aLine, bLine);
}
}
return diff;
}
console.log(test());
translateEmoLang(" 𝖙𝖆𝖙𝖙𝖔𝖔");
translateEmoLang("äḅċďệ ḟġḧï");
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment