sofancy.js
#!/usr/bin/env node
let font = titles = random = false;
const cmp = require("./completions.js"),
fonts = {
"alien": {
"a": "\u15e9",
"b": "\u15f7",
"c": "\u1462",
"d": "\u1572",
"e": "\u163f",
"f": "\u15b4",
"g": "\u161c",
"h": "\u157c",
"i": "\u14f0",
"j": "\u149a",
"k": "\u15bd\u1438",
"l": "\u14aa",
"m": "\u163b",
"n": "\u1609",
"o": "\u14cd",
"p": "\u1575",
"q": "\u1574",
"r": "\u1587",
"s": "S",
"t": "\u15b6",
"u": "\u1458",
"v": "\u143a",
"w": "\u163a",
"x": "\u166d",
"y": "\u15bb",
"z": "\u15f1",
"A": "\u15e9",
"B": "\u15f7",
"C": "\u1462",
"D": "\u1572",
"E": "\u163f",
"F": "\u15b4",
"G": "\u161c",
"H": "\u157c",
"I": "\u14f0",
"J": "\u149a",
"K": "\u15bd\u1438",
"L": "\u14aa",
"M": "\u163b",
"N": "\u1609",
"O": "\u14cd",
"P": "\u1575",
"Q": "\u1574",
"R": "\u1587",
"S": "\u1515",
"T": "\u15b6",
"U": "\u1458",
"V": "\u143a",
"W": "\u163a",
"X": "\u166d",
"Y": "\u15bb",
"Z": "\u15f1"
},
"asian": {
"a": "\u5342",
"b": "\u4e43",
"c": "\u531a",
"d": "\u15ea",
"e": "\u4e47",
"f": "\u5343",
"g": "\u13b6",
"h": "\u5344",
"i": "\u4e28",
"j": "\uff8c",
"k": "\u049c",
"l": "\u3125",
"m": "\u722a",
"n": "\u51e0",
"o": "\u3116",
"p": "\u5369",
"q": "\u024a",
"r": "\u5c3a",
"s": "\u4e02",
"t": "\u3112",
"u": "\u3129",
"v": "\u142f",
"w": "\u5c71",
"x": "\u4e42",
"y": "\u311a",
"z": "\u4e59",
"A": "\u5342",
"B": "\u4e43",
"C": "\u531a",
"D": "\u15ea",
"E": "\u4e47",
"F": "\u5343",
"G": "\u13b6",
"H": "\u5344",
"I": "\u4e28",
"J": "\uff8c",
"K": "\u049c",
"L": "\u3125",
"M": "\u722a",
"N": "\u51e0",
"O": "\u3116",
"P": "\u5369",
"Q": "\u024a",
"R": "\u5c3a",
"S": "\u4e02",
"T": "\u3112",
"U": "\u3129",
"V": "\u142f",
"W": "\u5c71",
"X": "\u4e42",
"Y": "\u311a",
"Z": "\u4e59"
},
"asian2": {
"a": "\uff91",
"b": "\u4e43",
"c": "\u1103",
"d": "\u308a",
"e": "\u4e47",
"f": "\uff77",
"g": "\u30e0",
"h": "\u3093",
"i": "\uff89",
"j": "\uff8c",
"k": "\u30ba",
"l": "\uff9a",
"m": "\uffb6",
"n": "\u5200",
"o": "\u306e",
"p": "\uff71",
"q": "\u3090",
"r": "\u5c3a",
"s": "\u4e02",
"t": "\uff72",
"u": "\u3072",
"v": "\u221a",
"w": "W",
"x": "\uff92",
"y": "\uff98",
"z": "\u4e59",
"A": "\uff91",
"B": "\u4e43",
"C": "\u1103",
"D": "\u308a",
"E": "\u4e47",
"F": "\uff77",
"G": "\u30e0",
"H": "\u3093",
"I": "\uff89",
"J": "\uff8c",
"K": "\u30ba",
"L": "\uff9a",
"M": "\uffb6",
"N": "\u5200",
"O": "\u306e",
"P": "\uff71",
"Q": "\u3090",
"R": "\u5c3a",
"S": "\u4e02",
"T": "\uff72",
"U": "\u3072",
"V": "\u221a",
"X": "\uff92",
"Y": "\uff98",
"Z": "\u4e59"
},
"bent": {
"0": "\u2298",
"1": "\ud835\udfd9",
"2": "\u03e9",
"3": "\u04e0",
"4": "\u096b",
"5": "\u01bc",
"6": "\u03ec",
"8": "\ud835\udfe0",
"9": "\u096f",
"a": "\u0105",
"b": "\u048d",
"c": "\u00e7",
"d": "\u056a",
"e": "\u04bd",
"f": "\u0192",
"g": "\u0581",
"h": "\u0570",
"i": "\u00ec",
"j": "\u029d",
"k": "\u049f",
"l": "\u04c0",
"m": "\u028d",
"n": "\u0572",
"o": "\u0585",
"p": "\u0584",
"q": "\u0566",
"r": "\u027e",
"s": "\u0282",
"t": "\u0567",
"u": "\u0574",
"v": "\u0475",
"w": "\u0561",
"x": "\u00d7",
"y": "\u057e",
"z": "\u0540",
"A": "\u023a",
"B": "\u03b2",
"C": "\u21bb",
"D": "\u13a0",
"E": "\u0190",
"F": "\u0191",
"G": "\u0193",
"H": "\u01f6",
"I": "\u012f",
"J": "\u0644",
"K": "\u04a0",
"L": "\ua748",
"M": "\u2c6e",
"N": "\u17a0",
"O": "\u0da7",
"P": "\u03c6",
"Q": "\u04a8",
"R": "\u0f60",
"S": "\u03da",
"T": "\u0372",
"U": "\u0531",
"V": "\u1efc",
"W": "\u0c1a",
"X": "\u10ef",
"Y": "\u04cb",
"Z": "\u0240"
},
"bolditalic": {
"a": "\ud835\ude56",
"b": "\ud835\ude57",
"c": "\ud835\ude58",
"d": "\ud835\ude59",
"e": "\ud835\ude5a",
"f": "\ud835\ude5b",
"g": "\ud835\ude5c",
"h": "\ud835\ude5d",
"i": "\ud835\ude5e",
"j": "\ud835\ude5f",
"k": "\ud835\ude60",
"l": "\ud835\ude61",
"m": "\ud835\ude62",
"n": "\ud835\ude63",
"o": "\ud835\ude64",
"p": "\ud835\ude65",
"q": "\ud835\ude66",
"r": "\ud835\ude67",
"s": "\ud835\ude68",
"t": "\ud835\ude69",
"u": "\ud835\ude6a",
"v": "\ud835\ude6b",
"w": "\ud835\ude6c",
"x": "\ud835\ude6d",
"y": "\ud835\ude6e",
"z": "\ud835\ude6f",
"A": "\ud835\ude3c",
"B": "\ud835\ude3d",
"C": "\ud835\ude3e",
"D": "\ud835\ude3f",
"E": "\ud835\ude40",
"F": "\ud835\ude41",
"G": "\ud835\ude42",
"H": "\ud835\ude43",
"I": "\ud835\ude44",
"J": "\ud835\ude45",
"K": "\ud835\ude46",
"L": "\ud835\ude47",
"M": "\ud835\ude48",
"N": "\ud835\ude49",
"O": "\ud835\ude4a",
"P": "\ud835\ude4b",
"Q": "\ud835\ude4c",
"R": "\ud835\ude4d",
"S": "\ud835\ude4e",
"T": "\ud835\ude4f",
"U": "\ud835\ude50",
"V": "\ud835\ude51",
"W": "\ud835\ude52",
"X": "\ud835\ude53",
"Y": "\ud835\ude54",
"Z": "\ud835\ude55"
},
"bold": {
"0": "\ud835\udfce",
"1": "\ud835\udfcf",
"2": "\ud835\udfd0",
"3": "\ud835\udfd1",
"4": "\ud835\udfd2",
"5": "\ud835\udfd3",
"6": "\ud835\udfd4",
"7": "\ud835\udfd5",
"8": "\ud835\udfd6",
"9": "\ud835\udfd7",
"a": "\ud835\udc1a",
"b": "\ud835\udc1b",
"c": "\ud835\udc1c",
"d": "\ud835\udc1d",
"e": "\ud835\udc1e",
"f": "\ud835\udc1f",
"g": "\ud835\udc20",
"h": "\ud835\udc21",
"i": "\ud835\udc22",
"j": "\ud835\udc23",
"k": "\ud835\udc24",
"l": "\ud835\udc25",
"m": "\ud835\udc26",
"n": "\ud835\udc27",
"o": "\ud835\udc28",
"p": "\ud835\udc29",
"q": "\ud835\udc2a",
"r": "\ud835\udc2b",
"s": "\ud835\udc2c",
"t": "\ud835\udc2d",
"u": "\ud835\udc2e",
"v": "\ud835\udc2f",
"w": "\ud835\udc30",
"x": "\ud835\udc31",
"y": "\ud835\udc32",
"z": "\ud835\udc33",
"A": "\ud835\udc00",
"B": "\ud835\udc01",
"C": "\ud835\udc02",
"D": "\ud835\udc03",
"E": "\ud835\udc04",
"F": "\ud835\udc05",
"G": "\ud835\udc06",
"H": "\ud835\udc07",
"I": "\ud835\udc08",
"J": "\ud835\udc09",
"K": "\ud835\udc0a",
"L": "\ud835\udc0b",
"M": "\ud835\udc0c",
"N": "\ud835\udc0d",
"O": "\ud835\udc0e",
"P": "\ud835\udc0f",
"Q": "\ud835\udc10",
"R": "\ud835\udc11",
"S": "\ud835\udc12",
"T": "\ud835\udc13",
"U": "\ud835\udc14",
"V": "\ud835\udc15",
"W": "\ud835\udc16",
"X": "\ud835\udc17",
"Y": "\ud835\udc18",
"Z": "\ud835\udc19"
},
"circled": {
"A": "\u24b6",
"B": "\u24b7",
"C": "\u24b8",
"D": "\u24b9",
"E": "\u24ba",
"F": "\u24bb",
"G": "\u24bc",
"H": "\u24bd",
"I": "\u24be",
"J": "\u24bf",
"K": "\u24c0",
"L": "\u24c1",
"M": "\u24c2",
"N": "\u24c3",
"O": "\u24c4",
"P": "\u24c5",
"Q": "\u24c6",
"R": "\u24c7",
"S": "\u24c8",
"T": "\u24c9",
"U": "\u24ca",
"V": "\u24cb",
"W": "\u24cc",
"X": "\u24cd",
"Y": "\u24ce",
"Z": "\u24cf",
"a": "\u24d0",
"b": "\u24d1",
"c": "\u24d2",
"d": "\u24d3",
"e": "\u24d4",
"f": "\u24d5",
"g": "\u24d6",
"h": "\u24d7",
"i": "\u24d8",
"j": "\u24d9",
"k": "\u24da",
"l": "\u24db",
"m": "\u24dc",
"n": "\u24dd",
"o": "\u24de",
"p": "\u24df",
"q": "\u24e0",
"r": "\u24e1",
"s": "\u24e2",
"t": "\u24e3",
"u": "\u24e4",
"v": "\u24e5",
"w": "\u24e6",
"x": "\u24e7",
"y": "\u24e8",
"z": "\u24e9",
"1": "\u2460",
"2": "\u2461",
"3": "\u2462",
"4": "\u2463",
"5": "\u2464",
"6": "\u2465",
"7": "\u2466",
"8": "\u2467",
"9": "\u2468"
},
"currency": {
"a": "\u20b3",
"b": "\u0e3f",
"c": "\u20b5",
"d": "\u0110",
"e": "\u0246",
"f": "\u20a3",
"g": "\u20b2",
"h": "\u2c67",
"i": "\u0142",
"j": "J",
"k": "\u20ad",
"l": "\u2c60",
"m": "\u20a5",
"n": "\u20a6",
"o": "\u00d8",
"p": "\u20b1",
"q": "Q",
"r": "\u2c64",
"s": "\u20b4",
"t": "\u20ae",
"u": "\u0244",
"v": "V",
"w": "\u20a9",
"x": "\u04fe",
"y": "\u024e",
"z": "\u2c6b",
"A": "\u20b3",
"B": "\u0e3f",
"C": "\u20b5",
"D": "\u0110",
"E": "\u0246",
"F": "\u20a3",
"G": "\u20b2",
"H": "\u2c67",
"I": "\u0142",
"J": "J",
"K": "\u20ad",
"L": "\u2c60",
"M": "\u20a5",
"N": "\u20a6",
"O": "\u00d8",
"P": "\u20b1",
"Q": "Q",
"R": "\u2c64",
"S": "\u20b4",
"T": "\u20ae",
"U": "\u0244",
"V": "V",
"W": "\u20a9",
"X": "\u04fe",
"Y": "\u024e",
"Z": "\u2c6b"
},
"cursive": {
"a": "\ud835\udcea",
"b": "\ud835\udceb",
"c": "\ud835\udcec",
"d": "\ud835\udced",
"e": "\ud835\udcee",
"f": "\ud835\udcef",
"g": "\ud835\udcf0",
"h": "\ud835\udcf1",
"i": "\ud835\udcf2",
"j": "\ud835\udcf3",
"k": "\ud835\udcf4",
"l": "\ud835\udcf5",
"m": "\ud835\udcf6",
"n": "\ud835\udcf7",
"o": "\ud835\udcf8",
"p": "\ud835\udcf9",
"q": "\ud835\udcfa",
"r": "\ud835\udcfb",
"s": "\ud835\udcfc",
"t": "\ud835\udcfd",
"u": "\ud835\udcfe",
"v": "\ud835\udcff",
"w": "\ud835\udd00",
"x": "\ud835\udd01",
"y": "\ud835\udd02",
"z": "\ud835\udd03",
"A": "\ud835\udcd0",
"B": "\ud835\udcd1",
"C": "\ud835\udcd2",
"D": "\ud835\udcd3",
"E": "\ud835\udcd4",
"F": "\ud835\udcd5",
"G": "\ud835\udcd6",
"H": "\ud835\udcd7",
"I": "\ud835\udcd8",
"J": "\ud835\udcd9",
"K": "\ud835\udcda",
"L": "\ud835\udcdb",
"M": "\ud835\udcdc",
"N": "\ud835\udcdd",
"O": "\ud835\udcde",
"P": "\ud835\udcdf",
"Q": "\ud835\udce0",
"R": "\ud835\udce1",
"S": "\ud835\udce2",
"T": "\ud835\udce3",
"U": "\ud835\udce4",
"V": "\ud835\udce5",
"W": "\ud835\udce6",
"X": "\ud835\udce7",
"Y": "\ud835\udce8",
"Z": "\ud835\udce9"
},
"doublestruck": {
"0": "\ud835\udfd8",
"1": "\ud835\udfd9",
"2": "\ud835\udfda",
"3": "\ud835\udfdb",
"4": "\ud835\udfdc",
"5": "\ud835\udfdd",
"6": "\ud835\udfde",
"7": "\ud835\udfdf",
"8": "\ud835\udfe0",
"9": "\ud835\udfe1",
"a": "\ud835\udd52",
"b": "\ud835\udd53",
"c": "\ud835\udd54",
"d": "\ud835\udd55",
"e": "\ud835\udd56",
"f": "\ud835\udd57",
"g": "\ud835\udd58",
"h": "\ud835\udd59",
"i": "\ud835\udd5a",
"j": "\ud835\udd5b",
"k": "\ud835\udd5c",
"l": "\ud835\udd5d",
"m": "\ud835\udd5e",
"n": "\ud835\udd5f",
"o": "\ud835\udd60",
"p": "\ud835\udd61",
"q": "\ud835\udd62",
"r": "\ud835\udd63",
"s": "\ud835\udd64",
"t": "\ud835\udd65",
"u": "\ud835\udd66",
"v": "\ud835\udd67",
"w": "\ud835\udd68",
"x": "\ud835\udd69",
"y": "\ud835\udd6a",
"z": "\ud835\udd6b",
"A": "\ud835\udd38",
"B": "\ud835\udd39",
"C": "\u2102",
"D": "\ud835\udd3b",
"E": "\ud835\udd3c",
"F": "\ud835\udd3d",
"G": "\ud835\udd3e",
"H": "\u210d",
"I": "\ud835\udd40",
"J": "\ud835\udd41",
"K": "\ud835\udd42",
"L": "\ud835\udd43",
"M": "\ud835\udd44",
"N": "\u2115",
"O": "\ud835\udd46",
"P": "\u2119",
"Q": "\u211a",
"R": "\u211d",
"S": "\ud835\udd4a",
"T": "\ud835\udd4b",
"U": "\ud835\udd4c",
"V": "\ud835\udd4d",
"W": "\ud835\udd4e",
"X": "\ud835\udd4f",
"Y": "\ud835\udd50",
"Z": "\u2124"
},
"flip": {
",": "\u02bb",
"!": "\u00a1",
"?": "\u00bf",
".": "\u0387",
"'": "\u02cc",
"\"": "\u02cc\u02cc",
"*": "\u2093",
"&": "\u214b",
"1": "\u0196",
"2": "\u0547",
"3": "\u0190",
"4": "h",
"5": "\u0aec",
"6": "9",
"7": "L",
"9": "6",
"A": "\u2c6f",
"a": "\u0250",
"B": "\ua4ed",
"b": "q",
"C": "\ua4db",
"c": "\u0254",
"D": "\ua4f7",
"d": "p",
"E": "\u018e",
"e": "\u01dd",
"F": "\ua4de",
"f": "\u025f",
"G": "\ua4e8",
"g": "\u0253",
"h": "\u0265",
"i": "\u1d09",
"J": "\u017f",
"j": "\u017f",
"K": "\ua4d8",
"k": "\u029e",
"L": "\ua4f6",
"l": "\u0e45",
"M": "W",
"m": "\u026f",
"n": "u",
"P": "\ua4d2",
"p": "d",
"Q": "\u1ff8",
"q": "b",
"R": "\ua4e4",
"r": "\u0279",
"T": "\ua4d5",
"t": "\u0287",
"U": "\ua4f5",
"u": "n",
"V": "\ua4e5",
"v": "\u028c",
"W": "M",
"w": "\u028d",
"Y": "\u2144",
"y": "\u028e"
},
"frakturbold": {
"a": "\ud835\udd86",
"b": "\ud835\udd87",
"c": "\ud835\udd88",
"d": "\ud835\udd89",
"e": "\ud835\udd8a",
"f": "\ud835\udd8b",
"g": "\ud835\udd8c",
"h": "\ud835\udd8d",
"i": "\ud835\udd8e",
"j": "\ud835\udd8f",
"k": "\ud835\udd90",
"l": "\ud835\udd91",
"m": "\ud835\udd92",
"n": "\ud835\udd93",
"o": "\ud835\udd94",
"p": "\ud835\udd95",
"q": "\ud835\udd96",
"r": "\ud835\udd97",
"s": "\ud835\udd98",
"t": "\ud835\udd99",
"u": "\ud835\udd9a",
"v": "\ud835\udd9b",
"w": "\ud835\udd9c",
"x": "\ud835\udd9d",
"y": "\ud835\udd9e",
"z": "\ud835\udd9f",
"A": "\ud835\udd6c",
"B": "\ud835\udd6d",
"C": "\ud835\udd6e",
"D": "\ud835\udd6f",
"E": "\ud835\udd70",
"F": "\ud835\udd71",
"G": "\ud835\udd72",
"H": "\ud835\udd73",
"I": "\ud835\udd74",
"J": "\ud835\udd75",
"K": "\ud835\udd76",
"L": "\ud835\udd77",
"M": "\ud835\udd78",
"N": "\ud835\udd79",
"O": "\ud835\udd7a",
"P": "\ud835\udd7b",
"Q": "\ud835\udd7c",
"R": "\ud835\udd7d",
"S": "\ud835\udd7e",
"T": "\ud835\udd7f",
"U": "\ud835\udd80",
"V": "\ud835\udd81",
"W": "\ud835\udd82",
"X": "\ud835\udd83",
"Y": "\ud835\udd84",
"Z": "\ud835\udd85"
},
"fraktur": {
"a": "\ud835\udd1e",
"b": "\ud835\udd1f",
"c": "\ud835\udd20",
"d": "\ud835\udd21",
"e": "\ud835\udd22",
"f": "\ud835\udd23",
"g": "\ud835\udd24",
"h": "\ud835\udd25",
"i": "\ud835\udd26",
"j": "\ud835\udd27",
"k": "\ud835\udd28",
"l": "\ud835\udd29",
"m": "\ud835\udd2a",
"n": "\ud835\udd2b",
"o": "\ud835\udd2c",
"p": "\ud835\udd2d",
"q": "\ud835\udd2e",
"r": "\ud835\udd2f",
"s": "\ud835\udd30",
"t": "\ud835\udd31",
"u": "\ud835\udd32",
"v": "\ud835\udd33",
"w": "\ud835\udd34",
"x": "\ud835\udd35",
"y": "\ud835\udd36",
"z": "\ud835\udd37",
"A": "\ud835\udd04",
"B": "\ud835\udd05",
"C": "\u212d",
"D": "\ud835\udd07",
"E": "\ud835\udd08",
"F": "\ud835\udd09",
"G": "\ud835\udd0a",
"H": "\u210c",
"I": "\u2111",
"J": "\ud835\udd0d",
"K": "\ud835\udd0e",
"L": "\ud835\udd0f",
"M": "\ud835\udd10",
"N": "\ud835\udd11",
"O": "\ud835\udd12",
"P": "\ud835\udd13",
"Q": "\ud835\udd14",
"R": "\u211c",
"S": "\ud835\udd16",
"T": "\ud835\udd17",
"U": "\ud835\udd18",
"V": "\ud835\udd19",
"W": "\ud835\udd1a",
"X": "\ud835\udd1b",
"Y": "\ud835\udd1c",
"Z": "\u2128"
},
"greek": {
"a": "\u03b1",
"b": "\u0432",
"c": "\u00a2",
"d": "\u2202",
"e": "\u0454",
"f": "\u0192",
"h": "\u043d",
"i": "\u03b9",
"j": "\u05e0",
"k": "\u043a",
"l": "\u2113",
"m": "\u043c",
"n": "\u03b7",
"o": "\u03c3",
"p": "\u03c1",
"r": "\u044f",
"s": "\u0455",
"t": "\u0442",
"u": "\u03c5",
"v": "\u03bd",
"w": "\u03c9",
"x": "\u03c7",
"y": "\u0443",
"A": "\u03b1",
"B": "\u0432",
"C": "\u00a2",
"D": "\u2202",
"E": "\u0454",
"F": "\u0192",
"G": "g",
"H": "\u043d",
"I": "\u03b9",
"J": "\u05e0",
"K": "\u043a",
"L": "\u2113",
"M": "\u043c",
"N": "\u03b7",
"O": "\u03c3",
"P": "\u03c1",
"Q": "q",
"R": "\u044f",
"S": "\u0455",
"T": "\u0442",
"U": "\u03c5",
"V": "\u03bd",
"W": "\u03c9",
"X": "\u03c7",
"Y": "\u0443",
"Z": "z"
},
"invertedsquares": {
"q": "\ud83c\udd80",
"w": "\ud83c\udd86",
"e": "\ud83c\udd74",
"r": "\ud83c\udd81",
"t": "\ud83c\udd83",
"y": "\ud83c\udd88",
"u": "\ud83c\udd84",
"i": "\ud83c\udd78",
"o": "\ud83c\udd7e",
"p": "\ud83c\udd7f",
"a": "\ud83c\udd70",
"s": "\ud83c\udd82",
"d": "\ud83c\udd73",
"f": "\ud83c\udd75",
"g": "\ud83c\udd76",
"h": "\ud83c\udd77",
"j": "\ud83c\udd79",
"k": "\ud83c\udd7a",
"l": "\ud83c\udd7b",
"z": "\ud83c\udd89",
"x": "\ud83c\udd87",
"c": "\ud83c\udd72",
"v": "\ud83c\udd85",
"b": "\ud83c\udd71",
"n": "\ud83c\udd7d",
"m": "\ud83c\udd7c"
},
"italic": {
"a": "\ud835\ude22",
"b": "\ud835\ude23",
"c": "\ud835\ude24",
"d": "\ud835\ude25",
"e": "\ud835\ude26",
"f": "\ud835\ude27",
"g": "\ud835\ude28",
"h": "\ud835\ude29",
"i": "\ud835\ude2a",
"j": "\ud835\ude2b",
"k": "\ud835\ude2c",
"l": "\ud835\ude2d",
"m": "\ud835\ude2e",
"n": "\ud835\ude2f",
"o": "\ud835\ude30",
"p": "\ud835\ude31",
"q": "\ud835\ude32",
"r": "\ud835\ude33",
"s": "\ud835\ude34",
"t": "\ud835\ude35",
"u": "\ud835\ude36",
"v": "\ud835\ude37",
"w": "\ud835\ude38",
"x": "\ud835\ude39",
"y": "\ud835\ude3a",
"z": "\ud835\ude3b",
"A": "\ud835\ude08",
"B": "\ud835\ude09",
"C": "\ud835\ude0a",
"D": "\ud835\ude0b",
"E": "\ud835\ude0c",
"F": "\ud835\ude0d",
"G": "\ud835\ude0e",
"H": "\ud835\ude0f",
"I": "\ud835\ude10",
"J": "\ud835\ude11",
"K": "\ud835\ude12",
"L": "\ud835\ude13",
"M": "\ud835\ude14",
"N": "\ud835\ude15",
"O": "\ud835\ude16",
"P": "\ud835\ude17",
"Q": "\ud835\ude18",
"R": "\ud835\ude19",
"S": "\ud835\ude1a",
"T": "\ud835\ude1b",
"U": "\ud835\ude1c",
"V": "\ud835\ude1d",
"W": "\ud835\ude1e",
"X": "\ud835\ude1f",
"Y": "\ud835\ude20",
"Z": "\ud835\ude21"
},
"mirrorflip": {
",": "\u02cb",
"!": "\u00a1",
"?": "\u01be",
".": "\u0387",
"'": "\u02cc",
"\"": "\u02cc\u02cc",
"*": "\u2093",
"&": "\u214b",
"1": "\u0196",
"2": "5",
"4": "\u0aa4",
"5": "\u0ae8",
"6": "\u03f1",
"7": "\u02e9",
"9": "\u10db",
"A": "\u2c6f",
"a": "\u0251",
"b": "p",
"d": "q",
"e": "\u050d",
"F": "\u0537",
"f": "\u027b",
"G": "\u04bc",
"g": "\u10db",
"h": "\u03bc",
"i": "\u1d09",
"J": "\u0542",
"j": "\u0e45",
"k": "\u0138",
"L": "\u0393",
"l": "\u027c",
"M": "W",
"m": "w",
"N": "\u0418",
"n": "u",
"P": "b",
"p": "b",
"Q": "\u2940",
"q": "d",
"R": "\u0281",
"r": "\u0281",
"S": "\u01a7",
"s": "\u01a8",
"T": "\ua4d5",
"t": "\u03dd",
"U": "\ua4f5",
"u": "n",
"V": "\u039b",
"v": "\u028c",
"W": "M",
"w": "\u028d",
"Y": "\u2144",
"y": "\u03bb"
},
"mirror": {
",": "\u02ce",
"?": "\u2e2e",
"(": ")",
")": "(",
"1": "\u0196",
"2": "\u03c2",
"3": "\u01b8",
"4": "\u03bc",
"5": "\u091f",
"6": "\u10db",
"7": "\u0662",
"9": "\u0b67",
"a": "\u0252",
"B": "\ua4ed",
"b": "d",
"C": "\u0186",
"c": "\u0254",
"D": "\ua4f7",
"d": "b",
"E": "\u018e",
"e": "\u01dd",
"F": "\ua7fb",
"f": "\u0287",
"G": "\u04d8",
"g": "\u03f1",
"h": "\u029c",
"J": "\u10b1",
"j": "\u012f",
"K": "\ua4d8",
"k": "\u029e",
"L": "\u2143",
"N": "\u0418",
"P": "\ua7fc",
"p": "q",
"Q": "\u03d8",
"q": "p",
"R": "\u042f",
"r": "\u027f",
"S": "\u01a7",
"s": "\u01a8",
"t": "\u0248",
"u": "\u03c5",
"y": "\u03b3"
},
"mono": {
"0": "\ud835\udff6",
"1": "\ud835\udff7",
"2": "\ud835\udff8",
"3": "\ud835\udff9",
"4": "\ud835\udffa",
"5": "\ud835\udffb",
"6": "\ud835\udffc",
"7": "\ud835\udffd",
"8": "\ud835\udffe",
"9": "\ud835\udfff",
"a": "\ud835\ude8a",
"b": "\ud835\ude8b",
"c": "\ud835\ude8c",
"d": "\ud835\ude8d",
"e": "\ud835\ude8e",
"f": "\ud835\ude8f",
"g": "\ud835\ude90",
"h": "\ud835\ude91",
"i": "\ud835\ude92",
"j": "\ud835\ude93",
"k": "\ud835\ude94",
"l": "\ud835\ude95",
"m": "\ud835\ude96",
"n": "\ud835\ude97",
"o": "\ud835\ude98",
"p": "\ud835\ude99",
"q": "\ud835\ude9a",
"r": "\ud835\ude9b",
"s": "\ud835\ude9c",
"t": "\ud835\ude9d",
"u": "\ud835\ude9e",
"v": "\ud835\ude9f",
"w": "\ud835\udea0",
"x": "\ud835\udea1",
"y": "\ud835\udea2",
"z": "\ud835\udea3",
"A": "\ud835\ude70",
"B": "\ud835\ude71",
"C": "\ud835\ude72",
"D": "\ud835\ude73",
"E": "\ud835\ude74",
"F": "\ud835\ude75",
"G": "\ud835\ude76",
"H": "\ud835\ude77",
"I": "\ud835\ude78",
"J": "\ud835\ude79",
"K": "\ud835\ude7a",
"L": "\ud835\ude7b",
"M": "\ud835\ude7c",
"N": "\ud835\ude7d",
"O": "\ud835\ude7e",
"P": "\ud835\ude7f",
"Q": "\ud835\ude80",
"R": "\ud835\ude81",
"S": "\ud835\ude82",
"T": "\ud835\ude83",
"U": "\ud835\ude84",
"V": "\ud835\ude85",
"W": "\ud835\ude86",
"X": "\ud835\ude87",
"Y": "\ud835\ude88",
"Z": "\ud835\ude89"
},
"neon": {
"a": "\u15e9",
"b": "\u15f7",
"c": "\u1455",
"d": "\u15ea",
"e": "E",
"f": "\u15b4",
"g": "G",
"h": "\u157c",
"i": "I",
"j": "\u148d",
"k": "K",
"l": "\u14aa",
"m": "\u15f0",
"n": "\u144e",
"o": "O",
"p": "\u146d",
"q": "\u146b",
"r": "\u1587",
"s": "\u1515",
"t": "T",
"u": "\u144c",
"v": "\u142f",
"w": "\u15ef",
"x": "\u166d",
"y": "Y",
"z": "\u1614",
"A": "\u15e9",
"B": "\u15f7",
"C": "\u1455",
"D": "\u15ea",
"F": "\u15b4",
"H": "\u157c",
"J": "\u148d",
"L": "\u14aa",
"M": "\u15f0",
"N": "\u144e",
"P": "\u146d",
"Q": "\u146b",
"R": "\u1587",
"S": "\u1515",
"U": "\u144c",
"V": "\u142f",
"W": "\u15ef",
"X": "\u166d",
"Z": "\u1614"
},
"squares": {
"a": "\ud83c\udd30",
"b": "\ud83c\udd31",
"c": "\ud83c\udd32",
"d": "\ud83c\udd33",
"e": "\ud83c\udd34",
"f": "\ud83c\udd35",
"g": "\ud83c\udd36",
"h": "\ud83c\udd37",
"i": "\ud83c\udd38",
"j": "\ud83c\udd39",
"k": "\ud83c\udd3a",
"l": "\ud83c\udd3b",
"m": "\ud83c\udd3c",
"n": "\ud83c\udd3d",
"o": "\ud83c\udd3e",
"p": "\ud83c\udd3f",
"q": "\ud83c\udd40",
"r": "\ud83c\udd41",
"s": "\ud83c\udd42",
"t": "\ud83c\udd43",
"u": "\ud83c\udd44",
"v": "\ud83c\udd45",
"w": "\ud83c\udd46",
"x": "\ud83c\udd47",
"y": "\ud83c\udd48",
"z": "\ud83c\udd49",
"A": "\ud83c\udd30",
"B": "\ud83c\udd31",
"C": "\ud83c\udd32",
"D": "\ud83c\udd33",
"E": "\ud83c\udd34",
"F": "\ud83c\udd35",
"G": "\ud83c\udd36",
"H": "\ud83c\udd37",
"I": "\ud83c\udd38",
"J": "\ud83c\udd39",
"K": "\ud83c\udd3a",
"L": "\ud83c\udd3b",
"M": "\ud83c\udd3c",
"N": "\ud83c\udd3d",
"O": "\ud83c\udd3e",
"P": "\ud83c\udd3f",
"Q": "\ud83c\udd40",
"R": "\ud83c\udd41",
"S": "\ud83c\udd42",
"T": "\ud83c\udd43",
"U": "\ud83c\udd44",
"V": "\ud83c\udd45",
"W": "\ud83c\udd46",
"X": "\ud83c\udd47",
"Y": "\ud83c\udd48",
"Z": "\ud83c\udd49"
},
"squiggle1": {
"a": "\u0e04",
"b": "\u0e52",
"c": "\u03c2",
"d": "\u0e54",
"e": "\u0454",
"f": "\u0166",
"g": "\ufeee",
"h": "\u0452",
"i": "\u0e40",
"j": "\u05df",
"k": "\u043a",
"l": "\u026d",
"m": "\u0e53",
"n": "\u0e20",
"o": "\u0e4f",
"p": "\u05e7",
"q": "\u1ee3",
"r": "\u0433",
"s": "\u0e23",
"t": "\u0547",
"u": "\u0e22",
"v": "\u05e9",
"w": "\u0e2c",
"x": "\u05d0",
"y": "\u05e5",
"z": "\u0579",
"A": "\u0e04",
"B": "\u0e52",
"C": "\u03c2",
"D": "\u0e54",
"E": "\u0454",
"F": "\u0166",
"G": "\ufeee",
"H": "\u0452",
"I": "\u0e40",
"J": "\u05df",
"K": "\u043a",
"L": "\u026d",
"M": "\u0e53",
"N": "\u0e20",
"O": "\u0e4f",
"P": "\u05e7",
"Q": "\u1ee3",
"R": "\u0433",
"S": "\u0e23",
"T": "\u0547",
"U": "\u0e22",
"V": "\u05e9",
"W": "\u0e2c",
"X": "\u05d0",
"Y": "\u05e5",
"Z": "\u0579"
},
"squiggle2": {
"a": "\u03b1",
"b": "\u10a6",
"c": "\u0188",
"d": "\u0503",
"e": "\u04bd",
"f": "\u03dd",
"g": "\u0260",
"h": "\u050b",
"i": "\u03b9",
"j": "\u029d",
"k": "\u0199",
"l": "\u0285",
"m": "\u0271",
"n": "\u0273",
"o": "\u03c3",
"p": "\u03c1",
"q": "\u03d9",
"r": "\u027e",
"s": "\u0282",
"t": "\u019a",
"u": "\u03c5",
"v": "\u028b",
"w": "\u026f",
"y": "\u10e7",
"z": "\u0225"
},
"squiggle3": {
"a": "\u01df",
"b": "\u026e",
"c": "\u0188",
"d": "\u0256",
"e": "\u025b",
"f": "\u0284",
"g": "\u0262",
"h": "\u0266",
"i": "\u0268",
"j": "\u029d",
"k": "\u04c4",
"l": "\u029f",
"m": "\u028d",
"n": "\u057c",
"o": "\u0585",
"p": "\u0584",
"q": "\u0566",
"r": "\u0280",
"s": "\u0586",
"t": "\u0236",
"u": "\u028a",
"v": "\u028b",
"w": "\u0561",
"x": "\u04fc",
"y": "\u028f",
"z": "\u0290",
"A": "\u01df",
"B": "\u026e",
"C": "\u0188",
"D": "\u0256",
"E": "\u025b",
"F": "\u0284",
"G": "\u0262",
"H": "\u0266",
"I": "\u0268",
"J": "\u029d",
"K": "\u04c4",
"L": "\u029f",
"M": "\u028d",
"N": "\u057c",
"O": "\u0585",
"P": "\u0584",
"Q": "\u0566",
"R": "\u0280",
"S": "\u0586",
"T": "\u0236",
"U": "\u028a",
"V": "\u028b",
"W": "\u0561",
"X": "\u04fc",
"Y": "\u028f",
"Z": "\u0290"
},
"squiggle4": {
"a": "\u13d7",
"b": "\u13f0",
"c": "\u1348",
"d": "\u13b4",
"e": "\u13cb",
"f": "\u13a6",
"g": "\u13b6",
"h": "\u13c2",
"i": "\u13a5",
"j": "\u13e0",
"k": "\u13e6",
"l": "\u13dd",
"m": "\u13b7",
"n": "\u13c1",
"o": "\u13a7",
"p": "\u13ae",
"q": "\u13a4",
"r": "\u13d2",
"s": "\u13d5",
"t": "\u13d6",
"u": "\u13ec",
"v": "\u13c9",
"w": "\u13c7",
"x": "\u1300",
"y": "\u13a9",
"z": "\u135a",
"A": "\u13d7",
"B": "\u13f0",
"C": "\u1348",
"D": "\u13b4",
"E": "\u13cb",
"F": "\u13a6",
"G": "\u13b6",
"H": "\u13c2",
"I": "\u13a5",
"J": "\u13e0",
"K": "\u13e6",
"L": "\u13dd",
"M": "\u13b7",
"N": "\u13c1",
"O": "\u13a7",
"P": "\u13ae",
"Q": "\u13a4",
"R": "\u13d2",
"S": "\u13d5",
"T": "\u13d6",
"U": "\u13ec",
"V": "\u13c9",
"W": "\u13c7",
"X": "\u1300",
"Y": "\u13a9",
"Z": "\u135a"
},
"squiggle5": {
"a": "\u0105",
"b": "\u10EA",
"c": "\u0188",
"d": "\u0256",
"e": "\u025B",
"f": "\u0284",
"g": "\u0260",
"h": "\u0267",
"i": "\u0131",
"j": "\u029D",
"k": "\u0199",
"l": "\u0196",
"m": "\u0271",
"n": "\u014B",
"o": "\u01A1",
"p": "\u2118",
"q": "\u0566",
"r": "\u0F5E",
"s": "\u0282",
"t": "\u026C",
"u": "\u0173",
"v": "\u06F7",
"w": "\u1FF3",
"x": "\u04B3",
"y": "\u10E7",
"z": "\u0291",
"A": "\u0105",
"B": "\u10EA",
"C": "\u0188",
"D": "\u0256",
"E": "\u025B",
"F": "\u0284",
"G": "\u0260",
"H": "\u0267",
"I": "\u0131",
"J": "\u029D",
"K": "\u0199",
"L": "\u0196",
"M": "\u0271",
"N": "\u014B",
"O": "\u01A1",
"P": "\u2118",
"Q": "\u0566",
"R": "\u0F5E",
"S": "\u0282",
"T": "\u026C",
"U": "\u0173",
"V": "\u06F7",
"W": "\u1FF3",
"X": "\u04B3",
"Y": "\u10E7",
"Z": "\u0291"
},
"squiggle6": {
"a": "\u0e04",
"b": "\u0e56",
"c": "\u00a2",
"d": "\u0ed3",
"e": "\u0113",
"g": "\u0e87",
"j": "\u0e27",
"m": "\u0e53",
"n": "\u0e96",
"o": "\u0ed0",
"q": "\u0e51",
"s": "\u015e",
"u": "\u0e19",
"v": "\u0e07",
"w": "\u0e9f",
"y": "\u0e2f",
"z": "\u0e8a",
"A": "\u0e04",
"B": "\u0e56",
"C": "\u00a2",
"D": "\u0ed3",
"E": "\u0113",
"F": "f",
"G": "\u0e87",
"H": "h",
"I": "i",
"J": "\u0e27",
"K": "k",
"L": "l",
"M": "\u0e53",
"N": "\u0e96",
"O": "\u0ed0",
"P": "p",
"Q": "\u0e51",
"R": "r",
"S": "\u015e",
"T": "t",
"U": "\u0e19",
"V": "\u0e07",
"W": "\u0e9f",
"X": "x",
"Y": "\u0e2f",
"Z": "\u0e8a"
},
"subscript": {
"0": "\u2080",
"1": "\u2081",
"2": "\u2082",
"3": "\u2083",
"4": "\u2084",
"5": "\u2085",
"6": "\u2086",
"7": "\u2087",
"8": "\u2088",
"9": "\u2089",
"a": "\u2090",
"e": "\u2091",
"h": "\u2095",
"i": "\u1d62",
"j": "\u2c7c",
"k": "\u2096",
"l": "\u2097",
"m": "\u2098",
"n": "\u2099",
"o": "\u2092",
"p": "\u209a",
"r": "\u1d63",
"s": "\u209b",
"t": "\u209c",
"u": "\u1d64",
"v": "\u1d65",
"x": "\u2093",
"A": "\u2090",
"E": "\u2091",
"H": "\u2095",
"I": "\u1d62",
"J": "\u2c7c",
"K": "\u2096",
"L": "\u2097",
"M": "\u2098",
"N": "\u2099",
"O": "\u2092",
"P": "\u209a",
"R": "\u1d63",
"S": "\u209b",
"T": "\u209c",
"U": "\u1d64",
"V": "\u1d65",
"X": "\u2093",
"+": "\u208a",
"-": "\u208b",
"=": "\u208c",
"(": "\u208d",
")": "\u208e"
},
"superscript": {
"0": "\u2070",
"1": "\u00b9",
"2": "\u00b2",
"3": "\u00b3",
"4": "\u2074",
"5": "\u2075",
"6": "\u2076",
"7": "\u2077",
"8": "\u2078",
"9": "\u2079",
"a": "\u1d43",
"b": "\u1d47",
"c": "\u1d9c",
"d": "\u1d48",
"e": "\u1d49",
"f": "\u1da0",
"g": "\u1d4d",
"h": "\u02b0",
"i": "\u2071",
"j": "\u02b2",
"k": "\u1d4f",
"l": "\u02e1",
"m": "\u1d50",
"n": "\u207f",
"o": "\u1d52",
"p": "\u1d56",
"r": "\u02b3",
"s": "\u02e2",
"t": "\u1d57",
"u": "\u1d58",
"v": "\u1d5b",
"w": "\u02b7",
"x": "\u02e3",
"y": "\u02b8",
"z": "\u1dbb",
"A": "\u1d2c",
"B": "\u1d2e",
"C": "\u1d9c",
"D": "\u1d30",
"E": "\u1d31",
"F": "\u1da0",
"G": "\u1d33",
"H": "\u1d34",
"I": "\u1d35",
"J": "\u1d36",
"K": "\u1d37",
"L": "\u1d38",
"M": "\u1d39",
"N": "\u1d3a",
"O": "\u1d3c",
"P": "\u1d3e",
"R": "\u1d3f",
"S": "\u02e2",
"T": "\u1d40",
"U": "\u1d41",
"V": "\u2c7d",
"W": "\u1d42",
"X": "\u02e3",
"Y": "\u02b8",
"Z": "\u1dbb",
"+": "\u207a",
"-": "\u207b",
"=": "\u207c",
"(": "\u207d",
")": "\u207e"
},
"symbols": {
"a": "\u00e5",
"b": "\u00df",
"c": "\u00a2",
"d": "\u00d0",
"e": "\u00ea",
"f": "\u00a3",
"i": "\u00ef",
"n": "\u00f1",
"o": "\u00f0",
"p": "\u00fe",
"s": "\u00a7",
"t": "\u2020",
"u": "\u00b5",
"y": "\u00a5",
"A": "\u00c4",
"B": "\u00df",
"C": "\u00c7",
"D": "\u00d0",
"E": "\u00c8",
"F": "\u00a3",
"I": "\u00cc",
"N": "\u00f1",
"O": "\u00d6",
"P": "\u00fe",
"S": "\u00a7",
"T": "\u2020",
"U": "\u00da",
"X": "\u00d7",
"Y": "\u00a5"
},
"upperangle": {
"a": "\u039b",
"b": "B",
"c": "\u1103",
"d": "D",
"e": "\u03a3",
"f": "F",
"g": "G",
"h": "\u0389",
"i": "I",
"j": "J",
"k": "K",
"l": "\u1102",
"m": "M",
"n": "\u041f",
"o": "\u04e8",
"p": "P",
"q": "Q",
"r": "\u042f",
"s": "\u01a7",
"t": "\u01ac",
"u": "\u0426",
"v": "V",
"w": "\u0429",
"x": "X",
"y": "Y",
"z": "Z",
"A": "\u039b",
"C": "\u1103",
"E": "\u03a3",
"H": "\u0389",
"L": "\u1102",
"N": "\u041f",
"O": "\u04e8",
"R": "\u042f",
"S": "\u01a7",
"T": "\u01ac",
"U": "\u0426",
"W": "\u0429"
},
"upsidedown": {
"a": "\u0250",
"b": "q",
"c": "\u0254",
"d": "p",
"e": "\u01dd",
"f": "\u025f",
"g": "\u0183",
"h": "\u0265",
"i": "\u0131",
"j": "\u027e",
"k": "\u029e",
"l": "\u05df",
"m": "\u026f",
"n": "u",
"p": "d",
"q": "b",
"r": "\u0279",
"t": "\u0287",
"u": "n",
"v": "\u028c",
"w": "\u028d",
"y": "\u028e",
"A": "\u2200",
"B": "\ud801\udc12",
"C": "\u0186",
"D": "\u25d6",
"E": "\u018e",
"F": "\u2132",
"G": "\u2141",
"J": "\u017f",
"K": "\u22ca",
"L": "\u02e5",
"M": "W",
"P": "\u0500",
"Q": "\u038c",
"R": "\u1d1a",
"T": "\u22a5",
"U": "\u2229",
"V": "\u039b",
"W": "M",
"Y": "\u2144",
"&": "\u214b",
".": "\u02d9",
",": "'",
"[": "]",
"]": "[",
"(": ")",
")": "(",
"{": "}",
"}": "{",
"?": "\u00bf",
"!": "\u00a1",
"'": ",",
"\"": "\u201e",
"<": ">",
">": "<",
"_": "\u203e",
"\": "/",
";": "\u061b",
"`": ",",
"\u203f": "\u2040",
"\u2045": "\u2046",
"\u2234": "\u2235",
"1": "\u0196",
"2": "\u1105",
"3": "\u0190",
"4": "\u3123",
"5": "\u03db",
"6": "9",
"7": "\u3125",
"9": "6"
},
"wide": {
"1": "\uff11",
"2": "\uff12",
"3": "\uff13",
"4": "\uff14",
"5": "\uff15",
"6": "\uff16",
"7": "\uff17",
"8": "\uff18",
"9": "\uff19",
"0": "\uff10",
"-": "\uff0d",
"=": "\uff1d",
"~": "~",
"!": "\uff01",
"@": "\uff20",
"#": "\uff03",
"$": "\uff04",
"%": "\uff05",
"&": "\uff06",
"*": "\uff0a",
"(": "\uff08",
")": "\uff09",
"+": "\uff0b",
"q": "\uff51",
"w": "\uff57",
"e": "\uff45",
"r": "\uff52",
"t": "\uff54",
"y": "\uff59",
"u": "\uff55",
"i": "\uff49",
"o": "\uff4f",
"p": "\uff50",
"Q": "\uff31",
"W": "\uff37",
"E": "\uff25",
"R": "\uff32",
"T": "\uff34",
"Y": "\uff39",
"U": "\uff35",
"I": "\uff29",
"O": "\uff2f",
"P": "\uff30",
"a": "\uff41",
"s": "\uff53",
"d": "\uff44",
"f": "\uff46",
"g": "\uff47",
"h": "\uff48",
"j": "\uff4a",
"k": "\uff4b",
"l": "\uff4c",
";": "\uff1b",
"'": "\uff07",
"A": "\uff21",
"S": "\uff33",
"D": "\uff24",
"F": "\uff26",
"G": "\uff27",
"H": "\uff28",
"J": "\uff2a",
"K": "\uff2b",
"L": "\uff2c",
":": "\uff1a",
"z": "\uff5a",
"x": "\uff58",
"c": "\uff43",
"v": "\uff56",
"b": "\uff42",
"n": "\uff4e",
"m": "\uff4d",
",": "\uff0c",
".": "\uff0e",
"/": "\uff0f",
"Z": "\uff3a",
"X": "\uff38",
"C": "\uff23",
"V": "\uff36",
"B": "\uff22",
"N": "\uff2e",
"M": "\uff2d",
"?": "\uff1f"
}
},
unicodereverse = (s) => {
var regexCombiningMarks = /([{{&blob}}-\u02FF\u0370-\u1AAF\u1B00-\u1DBF\u1E00-\u20CF\u2100-\uD7FF\uE000-\uFE1F\uFE30-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])([\u0300-\u036F\u1AB0-\u1AFF\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]+)/g;
var regexSurrogatePair = /([\uD800-\uDBFF])([\uDC00-\uDFFF])/g;
var r = [];
s = s.replace(regexCombiningMarks, function({{&blob}}, , ) {
return reverse() + ;
}).replace(regexSurrogatePair, '');
var i = s.length;
while (i--) {
r.push(s.charAt(i));
}
return r.join('');
},
walk = (txt, f) => {
var fancy = '',
specimen = '';
for (var i = 0; i < txt.length; i++) {
var s = txt[i];
if (s in fonts[f]) {
specimen += fonts[f][s];
} else if (s.toLowerCase() in fonts[f]) {
specimen += fonts[f][s.toLowerCase()];
} else if (s.toUpperCase() in fonts[f]) {
specimen += fonts[f][s.toUpperCase()];
} else {
specimen += s;
}
}
fancy += (f.match(/^(mirror|flip|upsidedown)$/))
? unicodereverse(specimen) : specimen;
console.log(!titles ? `${fancy} ` : `${f.padEnd(15)} ${fancy} `);
},
getfancy = (txt) => {
(txt === '') && usage();
if (random) {
var keys = Object.keys(fonts);
font = keys[Math.floor(Math.random() * keys.length)];
}
if (font) {
fonts.hasOwnProperty(font) ? walk(txt, font) : usage('unknown font');
} else {
for (f in fonts) {
walk(txt, f);
}
}
process.exit(0);
},
setArgs = () => {
const { parseArgs } = require("node:util");
const args = process.argv.slice(2);
const options = {
help: {
type: "boolean",
short: "h",
},
font: {
type: "string",
short: "f",
},
random: {
type: "boolean",
short: "r",
},
titles: {
type: "boolean",
short: "t",
},
completions: {
type: "boolean",
short: "c",
}
};
try {
const { values, positionals } = parseArgs({
args,
options,
allowPositionals: true,
});
font = values.font || false;
titles = values.titles || false;
random = values.random || false;
values.help && usage();
values.completions ? completions() : getfancy(positionals.join(" "));
} catch (e) {
usage();
}
},
completions = async () => {
await cmp.completions();
},
usage = (msg) => {
(msg) && console.log(`error: ${msg}\n`);
console.log(`usage: sofancy [-f (font) | -t | -r | -h | -c] string
flags:
-f|--font (font) : output in a single font
-t|--titles : display titles in output
-r|--random : pick a random font (clobbers -f)
-c|--completions : install shell completions
-h|--help : display this message
examples:
sofancy -f wide aesthetics
aesthetics
sofancy -t some string | fzf | xsel -i
git commit -m "$(sofancy -tr message | sed 's/^.* /docs: /')"
`);
process.exit();
};
setArgs();