UNPKG

@enonic/js-utils

Version:
1,266 lines (1,263 loc) 17.6 kB
const MAPPING = { 0xC0: 'A', 0xC1: 'A', 0xC2: 'A', 0xC3: 'A', 0xC4: 'A', 0xC5: 'A', 0x100: 'A', 0x102: 'A', 0x104: 'A', 0x18F: 'A', 0x1CD: 'A', 0x1DE: 'A', 0x1E0: 'A', 0x1FA: 'A', 0x200: 'A', 0x202: 'A', 0x226: 'A', 0x23A: 'A', 0x1D00: 'A', 0x1E00: 'A', 0x1EA0: 'A', 0x1EA2: 'A', 0x1EA4: 'A', 0x1EA6: 'A', 0x1EA8: 'A', 0x1EAA: 'A', 0x1EAC: 'A', 0x1EAE: 'A', 0x1EB0: 'A', 0x1EB2: 'A', 0x1EB4: 'A', 0x1EB6: 'A', 0x24B6: 'A', 0xFF21: 'A', 0xE0: 'a', 0xE1: 'a', 0xE2: 'a', 0xE3: 'a', 0xE4: 'a', 0xE5: 'a', 0x101: 'a', 0x103: 'a', 0x105: 'a', 0x1CE: 'a', 0x1DF: 'a', 0x1E1: 'a', 0x1FB: 'a', 0x201: 'a', 0x203: 'a', 0x227: 'a', 0x250: 'a', 0x259: 'a', 0x25A: 'a', 0x1D8F: 'a', 0x1D95: 'a', 0x1E01: 'a', 0x1E9A: 'a', 0x1EA1: 'a', 0x1EA3: 'a', 0x1EA5: 'a', 0x1EA7: 'a', 0x1EA9: 'a', 0x1EAB: 'a', 0x1EAD: 'a', 0x1EAF: 'a', 0x1EB1: 'a', 0x1EB3: 'a', 0x1EB5: 'a', 0x1EB7: 'a', 0x2090: 'a', 0x2094: 'a', 0x24D0: 'a', 0x2C65: 'a', 0x2C6F: 'a', 0xFF41: 'a', 0xA732: 'AA', 0xC6: 'AE', 0x1E2: 'AE', 0x1FC: 'AE', 0x1D01: 'AE', 0xA734: 'AO', 0xA736: 'AU', 0xA738: 'AV', 0xA73A: 'AV', 0xA73C: 'AY', 0x249C: '(a)', 0xA733: 'aa', 0xE6: 'ae', 0x1E3: 'ae', 0x1FD: 'ae', 0x1D02: 'ae', 0xA735: 'ao', 0xA737: 'au', 0xA739: 'av', 0xA73B: 'av', 0xA73D: 'ay', 0x181: 'B', 0x182: 'B', 0x243: 'B', 0x299: 'B', 0x1D03: 'B', 0x1E02: 'B', 0x1E04: 'B', 0x1E06: 'B', 0x24B7: 'B', 0xFF22: 'B', 0x180: 'b', 0x183: 'b', 0x253: 'b', 0x1D6C: 'b', 0x1D80: 'b', 0x1E03: 'b', 0x1E05: 'b', 0x1E07: 'b', 0x24D1: 'b', 0xFF42: 'b', 0x249D: '(b)', 0xC7: 'C', 0x106: 'C', 0x108: 'C', 0x10A: 'C', 0x10C: 'C', 0x187: 'C', 0x23B: 'C', 0x297: 'C', 0x1D04: 'C', 0x1E08: 'C', 0x24B8: 'C', 0xFF23: 'C', 0xE7: 'c', 0x107: 'c', 0x109: 'c', 0x10B: 'c', 0x10D: 'c', 0x188: 'c', 0x23C: 'c', 0x255: 'c', 0x1E09: 'c', 0x2184: 'c', 0x24D2: 'c', 0xA73E: 'c', 0xA73F: 'c', 0xFF43: 'c', 0x249E: '(c)', 0xD0: 'D', 0x10E: 'D', 0x110: 'D', 0x189: 'D', 0x18A: 'D', 0x18B: 'D', 0x1D05: 'D', 0x1D06: 'D', 0x1E0A: 'D', 0x1E0C: 'D', 0x1E0E: 'D', 0x1E10: 'D', 0x1E12: 'D', 0x24B9: 'D', 0xA779: 'D', 0xFF24: 'D', 0xF0: 'd', 0x10F: 'd', 0x111: 'd', 0x18C: 'd', 0x221: 'd', 0x256: 'd', 0x257: 'd', 0x1D6D: 'd', 0x1D81: 'd', 0x1D91: 'd', 0x1E0B: 'd', 0x1E0D: 'd', 0x1E0F: 'd', 0x1E11: 'd', 0x1E13: 'd', 0x24D3: 'd', 0xA77A: 'd', 0xFF44: 'd', 0x1C4: 'DZ', 0x1F1: 'DZ', 0x1C5: 'Dz', 0x1F2: 'Dz', 0x249F: '(d)', 0x238: 'db', 0x1C6: 'dz', 0x1F3: 'dz', 0x2A3: 'dz', 0x2A5: 'dz', 0xC8: 'E', 0xC9: 'E', 0xCA: 'E', 0xCB: 'E', 0x112: 'E', 0x114: 'E', 0x116: 'E', 0x118: 'E', 0x11A: 'E', 0x18E: 'E', 0x190: 'E', 0x204: 'E', 0x206: 'E', 0x228: 'E', 0x246: 'E', 0x1D07: 'E', 0x1E14: 'E', 0x1E16: 'E', 0x1E18: 'E', 0x1E1A: 'E', 0x1E1C: 'E', 0x1EB8: 'E', 0x1EBA: 'E', 0x1EBC: 'E', 0x1EBE: 'E', 0x1EC0: 'E', 0x1EC2: 'E', 0x1EC4: 'E', 0x1EC6: 'E', 0x24BA: 'E', 0x2C7B: 'E', 0xFF25: 'E', 0xE8: 'e', 0xE9: 'e', 0xEA: 'e', 0xEB: 'e', 0x113: 'e', 0x115: 'e', 0x117: 'e', 0x119: 'e', 0x11B: 'e', 0x1DD: 'e', 0x205: 'e', 0x207: 'e', 0x229: 'e', 0x247: 'e', 0x258: 'e', 0x25B: 'e', 0x25C: 'e', 0x25D: 'e', 0x25E: 'e', 0x29A: 'e', 0x1D08: 'e', 0x1D92: 'e', 0x1D93: 'e', 0x1D94: 'e', 0x1E15: 'e', 0x1E17: 'e', 0x1E19: 'e', 0x1E1B: 'e', 0x1E1D: 'e', 0x1EB9: 'e', 0x1EBB: 'e', 0x1EBD: 'e', 0x1EBF: 'e', 0x1EC1: 'e', 0x1EC3: 'e', 0x1EC5: 'e', 0x1EC7: 'e', 0x2091: 'e', 0x24D4: 'e', 0x2C78: 'e', 0xFF45: 'e', 0x24A0: '(e)', 0x191: 'F', 0x1E1E: 'F', 0x24BB: 'F', 0xA730: 'F', 0xA77B: 'F', 0xA7FB: 'F', 0xFF26: 'F', 0x192: 'f', 0x1D6E: 'f', 0x1D82: 'f', 0x1E1F: 'f', 0x1E9B: 'f', 0x24D5: 'f', 0xA77C: 'f', 0xFF46: 'f', 0x24A1: '(f)', 0xFB00: 'ff', 0xFB03: 'ffi', 0xFB04: 'ffl', 0xFB01: 'fi', 0xFB02: 'fl', 0x11C: 'G', 0x11E: 'G', 0x120: 'G', 0x122: 'G', 0x193: 'G', 0x1E4: 'G', 0x1E5: 'G', 0x1E6: 'G', 0x1E7: 'G', 0x1F4: 'G', 0x262: 'G', 0x29B: 'G', 0x1E20: 'G', 0x24BC: 'G', 0xA77D: 'G', 0xA77E: 'G', 0xFF27: 'G', 0x11D: 'g', 0x11F: 'g', 0x121: 'g', 0x123: 'g', 0x1F5: 'g', 0x260: 'g', 0x261: 'g', 0x1D77: 'g', 0x1D79: 'g', 0x1D83: 'g', 0x1E21: 'g', 0x24D6: 'g', 0xA77F: 'g', 0xFF47: 'g', 0x24A2: '(g)', 0x124: 'H', 0x126: 'H', 0x21E: 'H', 0x29C: 'H', 0x1E22: 'H', 0x1E24: 'H', 0x1E26: 'H', 0x1E28: 'H', 0x1E2A: 'H', 0x24BD: 'H', 0x2C67: 'H', 0x2C75: 'H', 0xFF28: 'H', 0x125: 'h', 0x127: 'h', 0x21F: 'h', 0x265: 'h', 0x266: 'h', 0x2AE: 'h', 0x2AF: 'h', 0x1E23: 'h', 0x1E25: 'h', 0x1E27: 'h', 0x1E29: 'h', 0x1E2B: 'h', 0x1E96: 'h', 0x24D7: 'h', 0x2C68: 'h', 0x2C76: 'h', 0xFF48: 'h', 0x1F6: 'HV', 0x24A3: '(h)', 0x195: 'hv', 0xCC: 'I', 0xCD: 'I', 0xCE: 'I', 0xCF: 'I', 0x128: 'I', 0x12A: 'I', 0x12C: 'I', 0x12E: 'I', 0x130: 'I', 0x196: 'I', 0x197: 'I', 0x1CF: 'I', 0x208: 'I', 0x20A: 'I', 0x26A: 'I', 0x1D7B: 'I', 0x1E2C: 'I', 0x1E2E: 'I', 0x1EC8: 'I', 0x1ECA: 'I', 0x24BE: 'I', 0xA7FE: 'I', 0xFF29: 'I', 0xEC: 'i', 0xED: 'i', 0xEE: 'i', 0xEF: 'i', 0x129: 'i', 0x12B: 'i', 0x12D: 'i', 0x12F: 'i', 0x131: 'i', 0x1D0: 'i', 0x209: 'i', 0x20B: 'i', 0x268: 'i', 0x1D09: 'i', 0x1D62: 'i', 0x1D7C: 'i', 0x1D96: 'i', 0x1E2D: 'i', 0x1E2F: 'i', 0x1EC9: 'i', 0x1ECB: 'i', 0x2071: 'i', 0x24D8: 'i', 0xFF49: 'i', 0x132: 'IJ', 0x24A4: '(i)', 0x133: 'ij', 0x134: 'J', 0x248: 'J', 0x1D0A: 'J', 0x24BF: 'J', 0xFF2A: 'J', 0x135: 'j', 0x1F0: 'j', 0x237: 'j', 0x249: 'j', 0x25F: 'j', 0x284: 'j', 0x29D: 'j', 0x24D9: 'j', 0x2C7C: 'j', 0xFF4A: 'j', 0x24A5: '(j)', 0x136: 'K', 0x198: 'K', 0x1E8: 'K', 0x1D0B: 'K', 0x1E30: 'K', 0x1E32: 'K', 0x1E34: 'K', 0x24C0: 'K', 0x2C69: 'K', 0xA740: 'K', 0xA742: 'K', 0xA744: 'K', 0xFF2B: 'K', 0x137: 'k', 0x199: 'k', 0x1E9: 'k', 0x29E: 'k', 0x1D84: 'k', 0x1E31: 'k', 0x1E33: 'k', 0x1E35: 'k', 0x24DA: 'k', 0x2C6A: 'k', 0xA741: 'k', 0xA743: 'k', 0xA745: 'k', 0xFF4B: 'k', 0x24A6: '(k)', 0x139: 'L', 0x13B: 'L', 0x13D: 'L', 0x13F: 'L', 0x141: 'L', 0x23D: 'L', 0x29F: 'L', 0x1D0C: 'L', 0x1E36: 'L', 0x1E38: 'L', 0x1E3A: 'L', 0x1E3C: 'L', 0x24C1: 'L', 0x2C60: 'L', 0x2C62: 'L', 0xA746: 'L', 0xA748: 'L', 0xA780: 'L', 0xFF2C: 'L', 0x13A: 'l', 0x13C: 'l', 0x13E: 'l', 0x140: 'l', 0x142: 'l', 0x19A: 'l', 0x234: 'l', 0x26B: 'l', 0x26C: 'l', 0x26D: 'l', 0x1D85: 'l', 0x1E37: 'l', 0x1E39: 'l', 0x1E3B: 'l', 0x1E3D: 'l', 0x24DB: 'l', 0x2C61: 'l', 0xA747: 'l', 0xA749: 'l', 0xA781: 'l', 0xFF4C: 'l', 0x1C7: 'LJ', 0x1EFA: 'LL', 0x1C8: 'Lj', 0x24A7: '(l)', 0x1C9: 'lj', 0x1EFB: 'll', 0x2AA: 'ls', 0x2AB: 'lz', 0x19C: 'M', 0x1D0D: 'M', 0x1E3E: 'M', 0x1E40: 'M', 0x1E42: 'M', 0x24C2: 'M', 0x2C6E: 'M', 0xA7FD: 'M', 0xA7FF: 'M', 0xFF2D: 'M', 0x26F: 'm', 0x270: 'm', 0x271: 'm', 0x1D6F: 'm', 0x1D86: 'm', 0x1E3F: 'm', 0x1E41: 'm', 0x1E43: 'm', 0x24DC: 'm', 0xFF4D: 'm', 0x24A8: '(m)', 0xD1: 'N', 0x143: 'N', 0x145: 'N', 0x147: 'N', 0x14A: 'N', 0x19D: 'N', 0x1F8: 'N', 0x220: 'N', 0x274: 'N', 0x1D0E: 'N', 0x1E44: 'N', 0x1E46: 'N', 0x1E48: 'N', 0x1E4A: 'N', 0x24C3: 'N', 0xFF2E: 'N', 0xF1: 'n', 0x144: 'n', 0x146: 'n', 0x148: 'n', 0x149: 'n', 0x14B: 'n', 0x19E: 'n', 0x1F9: 'n', 0x235: 'n', 0x272: 'n', 0x273: 'n', 0x1D70: 'n', 0x1D87: 'n', 0x1E45: 'n', 0x1E47: 'n', 0x1E49: 'n', 0x1E4B: 'n', 0x207F: 'n', 0x24DD: 'n', 0xFF4E: 'n', 0x1CA: 'NJ', 0x1CB: 'Nj', 0x24A9: '(n)', 0x1CC: 'nj', 0xD2: 'O', 0xD3: 'O', 0xD4: 'O', 0xD5: 'O', 0xD6: 'O', 0xD8: 'O', 0x14C: 'O', 0x14E: 'O', 0x150: 'O', 0x186: 'O', 0x19F: 'O', 0x1A0: 'O', 0x1D1: 'O', 0x1EA: 'O', 0x1EC: 'O', 0x1FE: 'O', 0x20C: 'O', 0x20E: 'O', 0x22A: 'O', 0x22C: 'O', 0x22E: 'O', 0x230: 'O', 0x1D0F: 'O', 0x1D10: 'O', 0x1E4C: 'O', 0x1E4E: 'O', 0x1E50: 'O', 0x1E52: 'O', 0x1ECC: 'O', 0x1ECE: 'O', 0x1ED0: 'O', 0x1ED2: 'O', 0x1ED4: 'O', 0x1ED6: 'O', 0x1ED8: 'O', 0x1EDA: 'O', 0x1EDC: 'O', 0x1EDE: 'O', 0x1EE0: 'O', 0x1EE2: 'O', 0x24C4: 'O', 0xA74A: 'O', 0xA74C: 'O', 0xFF2F: 'O', 0xF2: 'o', 0xF3: 'o', 0xF4: 'o', 0xF5: 'o', 0xF6: 'o', 0xF8: 'o', 0x14D: 'o', 0x14F: 'o', 0x151: 'o', 0x1A1: 'o', 0x1D2: 'o', 0x1EB: 'o', 0x1ED: 'o', 0x1FF: 'o', 0x20D: 'o', 0x20F: 'o', 0x22B: 'o', 0x22D: 'o', 0x22F: 'o', 0x231: 'o', 0x254: 'o', 0x275: 'o', 0x1D16: 'o', 0x1D17: 'o', 0x1D97: 'o', 0x1E4D: 'o', 0x1E4F: 'o', 0x1E51: 'o', 0x1E53: 'o', 0x1ECD: 'o', 0x1ECF: 'o', 0x1ED1: 'o', 0x1ED3: 'o', 0x1ED5: 'o', 0x1ED7: 'o', 0x1ED9: 'o', 0x1EDB: 'o', 0x1EDD: 'o', 0x1EDF: 'o', 0x1EE1: 'o', 0x1EE3: 'o', 0x2092: 'o', 0x24DE: 'o', 0x2C7A: 'o', 0xA74B: 'o', 0xA74D: 'o', 0xFF4F: 'o', 0x152: 'OE', 0x276: 'OE', 0xA74E: 'OO', 0x222: 'OU', 0x1D15: 'OU', 0x24AA: '(o)', 0x153: 'oe', 0x1D14: 'oe', 0xA74F: 'oo', 0x223: 'ou', 0x1A4: 'P', 0x1D18: 'P', 0x1E54: 'P', 0x1E56: 'P', 0x24C5: 'P', 0x2C63: 'P', 0xA750: 'P', 0xA752: 'P', 0xA754: 'P', 0xFF30: 'P', 0x1A5: 'p', 0x1D71: 'p', 0x1D7D: 'p', 0x1D88: 'p', 0x1E55: 'p', 0x1E57: 'p', 0x24DF: 'p', 0xA751: 'p', 0xA753: 'p', 0xA755: 'p', 0xA7FC: 'p', 0xFF50: 'p', 0x24AB: '(p)', 0x24A: 'Q', 0x24C6: 'Q', 0xA756: 'Q', 0xA758: 'Q', 0xFF31: 'Q', 0x138: 'q', 0x24B: 'q', 0x2A0: 'q', 0x24E0: 'q', 0xA757: 'q', 0xA759: 'q', 0xFF51: 'q', 0x24AC: '(q)', 0x239: 'qp', 0x154: 'R', 0x156: 'R', 0x158: 'R', 0x210: 'R', 0x212: 'R', 0x24C: 'R', 0x280: 'R', 0x281: 'R', 0x1D19: 'R', 0x1D1A: 'R', 0x1E58: 'R', 0x1E5A: 'R', 0x1E5C: 'R', 0x1E5E: 'R', 0x24C7: 'R', 0x2C64: 'R', 0xA75A: 'R', 0xA782: 'R', 0xFF32: 'R', 0x155: 'r', 0x157: 'r', 0x159: 'r', 0x211: 'r', 0x213: 'r', 0x24D: 'r', 0x27C: 'r', 0x27D: 'r', 0x27E: 'r', 0x27F: 'r', 0x1D63: 'r', 0x1D72: 'r', 0x1D73: 'r', 0x1D89: 'r', 0x1E59: 'r', 0x1E5B: 'r', 0x1E5D: 'r', 0x1E5F: 'r', 0x24E1: 'r', 0xA75B: 'r', 0xA783: 'r', 0xFF52: 'r', 0x24AD: '(r)', 0x15A: 'S', 0x15C: 'S', 0x15E: 'S', 0x160: 'S', 0x218: 'S', 0x1E60: 'S', 0x1E62: 'S', 0x1E64: 'S', 0x1E66: 'S', 0x1E68: 'S', 0x24C8: 'S', 0xA731: 'S', 0xA785: 'S', 0xFF33: 'S', 0x15B: 's', 0x15D: 's', 0x15F: 's', 0x161: 's', 0x17F: 's', 0x219: 's', 0x23F: 's', 0x282: 's', 0x1D74: 's', 0x1D8A: 's', 0x1E61: 's', 0x1E63: 's', 0x1E65: 's', 0x1E67: 's', 0x1E69: 's', 0x1E9C: 's', 0x1E9D: 's', 0x24E2: 's', 0xA784: 's', 0xFF53: 's', 0x1E9E: 'SS', 0x24AE: '(s)', 0xDF: 'ss', 0xFB06: 'st', 0x162: 'T', 0x164: 'T', 0x166: 'T', 0x1AC: 'T', 0x1AE: 'T', 0x21A: 'T', 0x23E: 'T', 0x1D1B: 'T', 0x1E6A: 'T', 0x1E6C: 'T', 0x1E6E: 'T', 0x1E70: 'T', 0x24C9: 'T', 0xA786: 'T', 0xFF34: 'T', 0x163: 't', 0x165: 't', 0x167: 't', 0x1AB: 't', 0x1AD: 't', 0x21B: 't', 0x236: 't', 0x287: 't', 0x288: 't', 0x1D75: 't', 0x1E6B: 't', 0x1E6D: 't', 0x1E6F: 't', 0x1E71: 't', 0x1E97: 't', 0x24E3: 't', 0x2C66: 't', 0xFF54: 't', 0xDE: 'TH', 0xA766: 'TH', 0xA728: 'TZ', 0x24AF: '(t)', 0x2A8: 'tc', 0xFE: 'th', 0x1D7A: 'th', 0xA767: 'th', 0x2A6: 'ts', 0xA729: 'tz', 0xD9: 'U', 0xDA: 'U', 0xDB: 'U', 0xDC: 'U', 0x168: 'U', 0x16A: 'U', 0x16C: 'U', 0x16E: 'U', 0x170: 'U', 0x172: 'U', 0x1AF: 'U', 0x1D3: 'U', 0x1D5: 'U', 0x1D7: 'U', 0x1D9: 'U', 0x1DB: 'U', 0x214: 'U', 0x216: 'U', 0x244: 'U', 0x1D1C: 'U', 0x1D7E: 'U', 0x1E72: 'U', 0x1E74: 'U', 0x1E76: 'U', 0x1E78: 'U', 0x1E7A: 'U', 0x1EE4: 'U', 0x1EE6: 'U', 0x1EE8: 'U', 0x1EEA: 'U', 0x1EEC: 'U', 0x1EEE: 'U', 0x1EF0: 'U', 0x24CA: 'U', 0xFF35: 'U', 0xF9: 'u', 0xFA: 'u', 0xFB: 'u', 0xFC: 'u', 0x169: 'u', 0x16B: 'u', 0x16D: 'u', 0x16F: 'u', 0x171: 'u', 0x173: 'u', 0x1B0: 'u', 0x1D4: 'u', 0x1D6: 'u', 0x1D8: 'u', 0x1DA: 'u', 0x1DC: 'u', 0x215: 'u', 0x217: 'u', 0x289: 'u', 0x1D64: 'u', 0x1D99: 'u', 0x1E73: 'u', 0x1E75: 'u', 0x1E77: 'u', 0x1E79: 'u', 0x1E7B: 'u', 0x1EE5: 'u', 0x1EE7: 'u', 0x1EE9: 'u', 0x1EEB: 'u', 0x1EED: 'u', 0x1EEF: 'u', 0x1EF1: 'u', 0x24E4: 'u', 0xFF55: 'u', 0x24B0: '(u)', 0x1D6B: 'ue', 0x1B2: 'V', 0x245: 'V', 0x1D20: 'V', 0x1E7C: 'V', 0x1E7E: 'V', 0x1EFC: 'V', 0x24CB: 'V', 0xA75E: 'V', 0xA768: 'V', 0xFF36: 'V', 0x28B: 'v', 0x28C: 'v', 0x1D65: 'v', 0x1D8C: 'v', 0x1E7D: 'v', 0x1E7F: 'v', 0x24E5: 'v', 0x2C71: 'v', 0x2C74: 'v', 0xA75F: 'v', 0xFF56: 'v', 0xA760: 'VY', 0x24B1: '(v)', 0xA761: 'vy', 0x174: 'W', 0x1F7: 'W', 0x1D21: 'W', 0x1E80: 'W', 0x1E82: 'W', 0x1E84: 'W', 0x1E86: 'W', 0x1E88: 'W', 0x24CC: 'W', 0x2C72: 'W', 0xFF37: 'W', 0x175: 'w', 0x1BF: 'w', 0x28D: 'w', 0x1E81: 'w', 0x1E83: 'w', 0x1E85: 'w', 0x1E87: 'w', 0x1E89: 'w', 0x1E98: 'w', 0x24E6: 'w', 0x2C73: 'w', 0xFF57: 'w', 0x24B2: '(w)', 0x1E8A: 'X', 0x1E8C: 'X', 0x24CD: 'X', 0xFF38: 'X', 0x1D8D: 'x', 0x1E8B: 'x', 0x1E8D: 'x', 0x2093: 'x', 0x24E7: 'x', 0xFF58: 'x', 0x24B3: '(x)', 0xDD: 'Y', 0x176: 'Y', 0x178: 'Y', 0x1B3: 'Y', 0x232: 'Y', 0x24E: 'Y', 0x28F: 'Y', 0x1E8E: 'Y', 0x1EF2: 'Y', 0x1EF4: 'Y', 0x1EF6: 'Y', 0x1EF8: 'Y', 0x1EFE: 'Y', 0x24CE: 'Y', 0xFF39: 'Y', 0xFD: 'y', 0xFF: 'y', 0x177: 'y', 0x1B4: 'y', 0x233: 'y', 0x24F: 'y', 0x28E: 'y', 0x1E8F: 'y', 0x1E99: 'y', 0x1EF3: 'y', 0x1EF5: 'y', 0x1EF7: 'y', 0x1EF9: 'y', 0x1EFF: 'y', 0x24E8: 'y', 0xFF59: 'y', 0x24B4: '(y)', 0x179: 'Z', 0x17B: 'Z', 0x17D: 'Z', 0x1B5: 'Z', 0x21C: 'Z', 0x224: 'Z', 0x1D22: 'Z', 0x1E90: 'Z', 0x1E92: 'Z', 0x1E94: 'Z', 0x24CF: 'Z', 0x2C6B: 'Z', 0xA762: 'Z', 0xFF3A: 'Z', 0x17A: 'z', 0x17C: 'z', 0x17E: 'z', 0x1B6: 'z', 0x21D: 'z', 0x225: 'z', 0x240: 'z', 0x290: 'z', 0x291: 'z', 0x1D76: 'z', 0x1D8E: 'z', 0x1E91: 'z', 0x1E93: 'z', 0x1E95: 'z', 0x24E9: 'z', 0x2C6C: 'z', 0xA763: 'z', 0xFF5A: 'z', 0x24B5: '(z)', 0x2070: '0', 0x2080: '0', 0x24EA: '0', 0x24FF: '0', 0xFF10: '0', 0xB9: '1', 0x2081: '1', 0x2460: '1', 0x24F5: '1', 0x2776: '1', 0x2780: '1', 0x278A: '1', 0xFF11: '1', 0x2488: '1.', 0x2474: '(1)', 0xB2: '2', 0x2082: '2', 0x2461: '2', 0x24F6: '2', 0x2777: '2', 0x2781: '2', 0x278B: '2', 0xFF12: '2', 0x2489: '2.', 0x2475: '(2)', 0xB3: '3', 0x2083: '3', 0x2462: '3', 0x24F7: '3', 0x2778: '3', 0x2782: '3', 0x278C: '3', 0xFF13: '3', 0x248A: '3.', 0x2476: '(3)', 0x2074: '4', 0x2084: '4', 0x2463: '4', 0x24F8: '4', 0x2779: '4', 0x2783: '4', 0x278D: '4', 0xFF14: '4', 0x248B: '4.', 0x2477: '(4)', 0x2075: '5', 0x2085: '5', 0x2464: '5', 0x24F9: '5', 0x277A: '5', 0x2784: '5', 0x278E: '5', 0xFF15: '5', 0x248C: '5.', 0x2478: '(5)', 0x2076: '6', 0x2086: '6', 0x2465: '6', 0x24FA: '6', 0x277B: '6', 0x2785: '6', 0x278F: '6', 0xFF16: '6', 0x248D: '6.', 0x2479: '(6)', 0x2077: '7', 0x2087: '7', 0x2466: '7', 0x24FB: '7', 0x277C: '7', 0x2786: '7', 0x2790: '7', 0xFF17: '7', 0x248E: '7.', 0x247A: '(7)', 0x2078: '8', 0x2088: '8', 0x2467: '8', 0x24FC: '8', 0x277D: '8', 0x2787: '8', 0x2791: '8', 0xFF18: '8', 0x248F: '8.', 0x247B: '(8)', 0x2079: '9', 0x2089: '9', 0x2468: '9', 0x24FD: '9', 0x277E: '9', 0x2788: '9', 0x2792: '9', 0xFF19: '9', 0x2490: '9.', 0x247C: '(9)', 0x2469: '10', 0x24FE: '10', 0x277F: '10', 0x2789: '10', 0x2793: '10', 0x2491: '10.', 0x247D: '(10)', 0x246A: '11', 0x24EB: '11', 0x2492: '11.', 0x247E: '(11)', 0x246B: '12', 0x24EC: '12', 0x2493: '12.', 0x247F: '(12)', 0x246C: '13', 0x24ED: '13', 0x2494: '13.', 0x2480: '(13)', 0x246D: '14', 0x24EE: '14', 0x2495: '14.', 0x2481: '(14)', 0x246E: '15', 0x24EF: '15', 0x2496: '15.', 0x2482: '(15)', 0x246F: '16', 0x24F0: '16', 0x2497: '16.', 0x2483: '(16)', 0x2470: '17', 0x24F1: '17', 0x2498: '17.', 0x2484: '(17)', 0x2471: '18', 0x24F2: '18', 0x2499: '18.', 0x2485: '(18)', 0x2472: '19', 0x24F3: '19', 0x249A: '19.', 0x2486: '(19)', 0x2473: '20', 0x24F4: '20', 0x249B: '20.', 0x2487: '(20)', 0xAB: '"', 0xBB: '"', 0x201C: '"', 0x201D: '"', 0x201E: '"', 0x2033: '"', 0x2036: '"', 0x275D: '"', 0x275E: '"', 0x276E: '"', 0x276F: '"', 0xFF02: '"', 0x2018: '\'', 0x2019: '\'', 0x201A: '\'', 0x201B: '\'', 0x2032: '\'', 0x2035: '\'', 0x2039: '\'', 0x203A: '\'', 0x275B: '\'', 0x275C: '\'', 0xFF07: '\'', 0x2010: '-', 0x2011: '-', 0x2012: '-', 0x2013: '-', 0x2014: '-', 0x207B: '-', 0x208B: '-', 0xFF0D: '-', 0x2045: '[', 0x2772: '[', 0xFF3B: '[', 0x2046: ']', 0x2773: ']', 0xFF3D: ']', 0x207D: '(', 0x208D: '(', 0x2768: '(', 0x276A: '(', 0xFF08: '(', 0x2E28: '((', 0x207E: ')', 0x208E: ')', 0x2769: ')', 0x276B: ')', 0xFF09: ')', 0x2E29: '))', 0x276C: '<', 0x2770: '<', 0xFF1C: '<', 0x276D: '>', 0x2771: '>', 0xFF1E: '>', 0x2774: '{', 0xFF5B: '{', 0x2775: '}', 0xFF5D: '}', 0x207A: '+', 0x208A: '+', 0xFF0B: '+', 0x207C: '=', 0x208C: '=', 0xFF1D: '=', 0xFF01: '!', 0x203C: '!!', 0x2049: '!?', 0xFF03: '#', 0xFF04: '$', 0x2052: '%', 0xFF05: '%', 0xFF06: '&', 0x204E: '*', 0xFF0A: '*', 0xFF0C: ',', 0xFF0E: '.', 0x2044: '/', 0xFF0F: '/', 0xFF1A: ':', 0x204F: ';', 0xFF1B: ';', 0xFF1F: '?', 0x2047: '??', 0x2048: '?!', 0xFF20: '@', 0xFF3C: '\\', 0x2038: '^', 0xFF3E: '^', 0xFF3F: '_', 0x2053: '~', 0xFF5E: '~' } as const; export function fold( inStr: string, { fallback_sign = '-' }: { fallback_sign?: '-' | '_' } = {} ) :string { return inStr.split('').map(character => { const charCode = character.charCodeAt(0); if (charCode < 128) { return character; } if (MAPPING.hasOwnProperty(charCode)) { return MAPPING[charCode as keyof typeof MAPPING]; } return fallback_sign; }).join(''); }