├── .gitignore
├── README.md
├── package.json
├── public
├── favicon.ico
├── index.html
└── robots.txt
├── src
├── App.js
├── App.test.js
├── index.css
├── index.js
└── mapping.js
└── yarn.lock
/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | /node_modules
5 | /.pnp
6 | .pnp.js
7 |
8 | # testing
9 | /coverage
10 |
11 | # production
12 | /build
13 |
14 | # misc
15 | .DS_Store
16 | .env.local
17 | .env.development.local
18 | .env.test.local
19 | .env.production.local
20 |
21 | npm-debug.log*
22 | yarn-debug.log*
23 | yarn-error.log*
24 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # domain-obfuscator
2 | Make your domain weird, but still work :/
3 |
4 | https://ſ︉P︉ₗ︉ⅈ︉T︉ᴸ︉㏌︉ℯ︉。︉ᴳ︉ⁱ︉T︉H︉U︉Ⓑ︉.︉ⅰᵒ/domain-obfuscator/
5 |
6 | ## How It Works?
7 | - http://www.unicode.org/reports/tr46/
8 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "domain-obfuscator",
3 | "version": "0.1.0",
4 | "private": true,
5 | "homepage": "https://splitline.github.io/domain-obfuscator/",
6 | "dependencies": {
7 | "@material-ui/core": "^4.4.2",
8 | "@material-ui/icons": "^4.4.1",
9 | "react": "^16.9.0",
10 | "react-copy-to-clipboard": "^5.0.1",
11 | "react-dom": "^16.9.0",
12 | "react-scripts": "3.1.1"
13 | },
14 | "scripts": {
15 | "start": "react-scripts start",
16 | "build": "react-scripts build",
17 | "test": "react-scripts test",
18 | "eject": "react-scripts eject",
19 | "predeploy": "yarn build",
20 | "deploy": "gh-pages -d build"
21 | },
22 | "eslintConfig": {
23 | "extends": "react-app"
24 | },
25 | "browserslist": {
26 | "production": [
27 | ">0.2%",
28 | "not dead",
29 | "not op_mini all"
30 | ],
31 | "development": [
32 | "last 1 chrome version",
33 | "last 1 firefox version",
34 | "last 1 safari version"
35 | ]
36 | },
37 | "devDependencies": {
38 | "gh-pages": "^2.1.1"
39 | }
40 | }
--------------------------------------------------------------------------------
/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/splitline/domain-obfuscator/5dc72201f1888700a93b2e8e11384e0500c325b1/public/favicon.ico
--------------------------------------------------------------------------------
/public/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 | Domain Obfuscator
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/public/robots.txt:
--------------------------------------------------------------------------------
1 | # https://www.robotstxt.org/robotstxt.html
2 | User-agent: *
3 |
--------------------------------------------------------------------------------
/src/App.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import PropTypes from 'prop-types';
3 | import Avatar from '@material-ui/core/Avatar';
4 | import Button from '@material-ui/core/Button';
5 | import CssBaseline from '@material-ui/core/CssBaseline';
6 | import TextField from '@material-ui/core/TextField';
7 | import FormControlLabel from '@material-ui/core/FormControlLabel';
8 | import Link from '@material-ui/core/Link';
9 | import List from '@material-ui/core/List';
10 | import ListItem from '@material-ui/core/ListItem';
11 | import ListItemSecondaryAction from '@material-ui/core/ListItemSecondaryAction';
12 | import ListItemText from '@material-ui/core/ListItemText';
13 | import Box from '@material-ui/core/Box';
14 | import Typography from '@material-ui/core/Typography';
15 | import { withStyles } from '@material-ui/core/styles';
16 | import Container from '@material-ui/core/Container';
17 | import Paper from '@material-ui/core/Paper';
18 | import { Switch } from '@material-ui/core';
19 |
20 | import IconButton from '@material-ui/core/IconButton';
21 | import HttpIcon from '@material-ui/icons/Http';
22 | import FileCopyIcon from '@material-ui/icons/FileCopy';
23 |
24 | import { CopyToClipboard } from 'react-copy-to-clipboard';
25 |
26 | import mapping from './mapping';
27 |
28 | const Copyright = () =>
29 |
30 |
31 | Domain Obfuscator
32 |
33 | {' by '}
34 |
35 | splitline
36 | .
37 |
38 | ;
39 |
40 | const styles = theme => ({
41 | '@global': {
42 | body: {
43 | backgroundColor: theme.palette.common.white,
44 | },
45 | },
46 | paper: {
47 | marginTop: theme.spacing(12),
48 | display: 'flex',
49 | flexDirection: 'column',
50 | alignItems: 'center',
51 | },
52 | avatar: {
53 | margin: theme.spacing(1),
54 | backgroundColor: theme.palette.primary.main,
55 | },
56 | form: {
57 | width: '100%', // Fix IE 11 issue.
58 | marginTop: theme.spacing(1),
59 | },
60 | submit: {
61 | margin: theme.spacing(3, 0, 2),
62 | },
63 | });
64 |
65 | class App extends React.Component {
66 | constructor(props) {
67 | super(props);
68 | this.state = { domain: '', noAscii: false, convertDot: false, weirdChar: false, log: [] };
69 | }
70 |
71 | obfuscator(domain) {
72 | domain = domain.toLowerCase();
73 | const replace = [];
74 | for (let i = 0; i < domain.length; ++i) {
75 | for (let j = 4; j >= 1; --j) {
76 | const searching = domain.substr(i, j);
77 | if (!this.state.convertDot && searching === ".") continue;
78 | if (searching in mapping) {
79 | replace.push(searching);
80 | i += j - 1;
81 | break;
82 | }
83 | }
84 | }
85 |
86 | const select = arr => {
87 | arr = arr.filter(char =>
88 | (!this.state.noAscii || char > 0xff)
89 | );
90 | return String.fromCodePoint(arr[Math.floor(Math.random() * arr.length)]);
91 | }
92 | replace.forEach(r => domain = domain.replace(r, select(mapping[r])));
93 | if (this.state.weirdChar) domain = domain.split("").join(select(mapping[""]));
94 | return domain;
95 | }
96 |
97 | generate() {
98 | let domain = this.state.domain;
99 | try {
100 | domain = new URL(this.state.domain).hostname;
101 | } catch (e) { }
102 |
103 | if (domain.trim() === '') return;
104 | const result = this.obfuscator(domain);
105 | this.setState({
106 | log: [result, ...this.state.log]
107 | });
108 | }
109 |
110 | render() {
111 | const { classes } = this.props;
112 | return (
113 |
114 |
115 |
116 |
117 |
118 |
119 |
120 | Domain Obfuscator
121 |
122 |
123 |
this.setState({ domain: e.target.value })}
131 | autoFocus
132 | />
133 | this.setState({ noAscii: e.target.checked })} />}
135 | label="No ASCII"
136 | />
137 | this.setState({ convertDot: e.target.checked })} />}
139 | label="Convert Dot(.)"
140 | />
141 | this.setState({ weirdChar: e.target.checked })} />}
143 | label="Insert Weird Chars"
144 | />
145 |
155 |
156 | {this.state.log.length ?
157 |
158 | {this.state.log.map((value, i) => {
159 | const regex = new RegExp(`[${mapping[""].map(c => String.fromCodePoint(c)).join('')}]`, "g");
160 | const printable = value.replace(regex, "␣");
161 | return (
162 |
163 |
164 |
165 |
166 |
167 |
168 |
169 |
170 |
171 |
172 | )
173 | })
174 | }
175 |
:
176 | (
177 | Try to generate something?
178 |
)
179 | }
180 |
181 |
182 |
183 |
184 |
185 |
186 |
187 |
188 | );
189 | }
190 | }
191 |
192 | App.propTypes = {
193 | classes: PropTypes.object.isRequired,
194 | }
195 |
196 | export default withStyles(styles)(App);
--------------------------------------------------------------------------------
/src/App.test.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import ReactDOM from 'react-dom';
3 | import App from './App';
4 |
5 | it('renders without crashing', () => {
6 | const div = document.createElement('div');
7 | ReactDOM.render(, div);
8 | ReactDOM.unmountComponentAtNode(div);
9 | });
10 |
--------------------------------------------------------------------------------
/src/index.css:
--------------------------------------------------------------------------------
1 | body {
2 | margin: 0;
3 | font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen",
4 | "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue",
5 | sans-serif;
6 | -webkit-font-smoothing: antialiased;
7 | -moz-osx-font-smoothing: grayscale;
8 | }
9 |
10 | code {
11 | font-family: source-code-pro, Menlo, Monaco, Consolas, "Courier New",
12 | monospace;
13 | }
14 |
--------------------------------------------------------------------------------
/src/index.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import ReactDOM from 'react-dom';
3 | import './index.css';
4 | import App from './App';
5 |
6 | ReactDOM.render(, document.getElementById('root'));
7 |
--------------------------------------------------------------------------------
/src/mapping.js:
--------------------------------------------------------------------------------
1 | export default {
2 | "0": [48, 8304, 8320, 9450, 65296, 120782, 120792, 120802, 120812, 120822],
3 | "1": [49, 185, 8321, 9312, 65297, 120783, 120793, 120803, 120813, 120823],
4 | "2": [50, 178, 8322, 9313, 65298, 120784, 120794, 120804, 120814, 120824],
5 | "3": [51, 179, 8323, 9314, 65299, 120785, 120795, 120805, 120815, 120825],
6 | "4": [52, 8308, 8324, 9315, 65300, 120786, 120796, 120806, 120816, 120826],
7 | "5": [53, 8309, 8325, 9316, 65301, 120787, 120797, 120807, 120817, 120827],
8 | "6": [54, 8310, 8326, 9317, 65302, 120788, 120798, 120808, 120818, 120828],
9 | "7": [55, 8311, 8327, 9318, 65303, 120789, 120799, 120809, 120819, 120829],
10 | "8": [56, 8312, 8328, 9319, 65304, 120790, 120800, 120810, 120820, 120830],
11 | "9": [57, 8313, 8329, 9320, 65305, 120791, 120801, 120811, 120821, 120831],
12 | "10": [9321],
13 | "11": [9322],
14 | "12": [9323],
15 | "13": [9324],
16 | "14": [9325],
17 | "15": [9326],
18 | "16": [9327],
19 | "17": [9328],
20 | "18": [9329],
21 | "19": [9330],
22 | "20": [9331],
23 | "21": [12881],
24 | "22": [12882],
25 | "23": [12883],
26 | "24": [12884],
27 | "25": [12885],
28 | "26": [12886],
29 | "27": [12887],
30 | "28": [12888],
31 | "29": [12889],
32 | "30": [12890],
33 | "31": [12891],
34 | "32": [12892],
35 | "33": [12893],
36 | "34": [12894],
37 | "35": [12895],
38 | "36": [12977],
39 | "37": [12978],
40 | "38": [12979],
41 | "39": [12980],
42 | "40": [12981],
43 | "41": [12982],
44 | "42": [12983],
45 | "43": [12984],
46 | "44": [12985],
47 | "45": [12986],
48 | "46": [12987],
49 | "47": [12988],
50 | "48": [12989],
51 | "49": [12990],
52 | "50": [12991],
53 | "\u0001": [1],
54 | "\u0002": [2],
55 | "\u0003": [3],
56 | "\u0004": [4],
57 | "\u0005": [5],
58 | "\u0006": [6],
59 | "\u0007": [7],
60 | "\b": [8],
61 | "\t": [9],
62 | "\n": [10],
63 | "\u000b": [11],
64 | "\f": [12],
65 | "\r": [13],
66 | "\u000e": [14],
67 | "\u000f": [15],
68 | "\u0010": [16],
69 | "\u0011": [17],
70 | "\u0012": [18],
71 | "\u0013": [19],
72 | "\u0014": [20],
73 | "\u0015": [21],
74 | "\u0016": [22],
75 | "\u0017": [23],
76 | "\u0018": [24],
77 | "\u0019": [25],
78 | "\u001a": [26],
79 | "\u001b": [27],
80 | "\u001c": [28],
81 | "\u001d": [29],
82 | "\u001e": [30],
83 | "\u001f": [31],
84 | " ": [32, 160, 8192, 8193, 8194, 8195, 8196, 8197, 8198, 8199, 8200, 8201, 8202, 8239, 8287, 12288],
85 | "!": [33, 65045, 65111, 65281],
86 | "\"": [34, 65282],
87 | "#": [35, 65119, 65283],
88 | "$": [36, 65129, 65284],
89 | "%": [37, 65130, 65285],
90 | "&": [38, 65120, 65286],
91 | "'": [39, 65287],
92 | "(": [40, 8317, 8333, 65077, 65113, 65288],
93 | ")": [41, 8318, 8334, 65078, 65114, 65289],
94 | "*": [42, 65121, 65290],
95 | "+": [43, 8314, 8330, 64297, 65122, 65291],
96 | ",": [44, 65040, 65104, 65292],
97 | ".": [46, 12290, 65294, 65377],
98 | "/": [47, 65295],
99 | ":": [58, 65043, 65109, 65306],
100 | ";": [59, 894, 65044, 65108, 65307],
101 | "<": [60, 65124, 65308],
102 | "=": [61, 8316, 8332, 65126, 65309],
103 | ">": [62, 65125, 65310],
104 | "?": [63, 65046, 65110, 65311],
105 | "@": [64, 65131, 65312],
106 | "a": [65, 97, 170, 7468, 7491, 8336, 9398, 9424, 65313, 65345, 119808, 119834, 119860, 119886, 119912, 119938, 119964, 119990, 120016, 120042, 120068, 120094, 120120, 120146, 120172, 120198, 120224, 120250, 120276, 120302, 120328, 120354, 120380, 120406, 120432, 120458, 127280],
107 | "b": [66, 98, 7470, 7495, 8492, 9399, 9425, 65314, 65346, 119809, 119835, 119861, 119887, 119913, 119939, 119991, 120017, 120043, 120069, 120095, 120121, 120147, 120173, 120199, 120225, 120251, 120277, 120303, 120329, 120355, 120381, 120407, 120433, 120459, 127281],
108 | "c": [67, 99, 7580, 8450, 8493, 8557, 8573, 9400, 9426, 65315, 65347, 119810, 119836, 119862, 119888, 119914, 119940, 119966, 119992, 120018, 120044, 120096, 120148, 120174, 120200, 120226, 120252, 120278, 120304, 120330, 120356, 120382, 120408, 120434, 120460, 127275, 127282],
109 | "d": [68, 100, 7472, 7496, 8517, 8518, 8558, 8574, 9401, 9427, 65316, 65348, 119811, 119837, 119863, 119889, 119915, 119941, 119967, 119993, 120019, 120045, 120071, 120097, 120123, 120149, 120175, 120201, 120227, 120253, 120279, 120305, 120331, 120357, 120383, 120409, 120435, 120461, 127283],
110 | "e": [69, 101, 7473, 7497, 8337, 8495, 8496, 8519, 9402, 9428, 65317, 65349, 119812, 119838, 119864, 119890, 119916, 119942, 120020, 120046, 120072, 120098, 120124, 120150, 120176, 120202, 120228, 120254, 120280, 120306, 120332, 120358, 120384, 120410, 120436, 120462, 127284],
111 | "f": [70, 102, 7584, 8497, 9403, 9429, 65318, 65350, 119813, 119839, 119865, 119891, 119917, 119943, 119995, 120021, 120047, 120073, 120099, 120125, 120151, 120177, 120203, 120229, 120255, 120281, 120307, 120333, 120359, 120385, 120411, 120437, 120463, 127285],
112 | "g": [71, 103, 7475, 7501, 8458, 9404, 9430, 65319, 65351, 119814, 119840, 119866, 119892, 119918, 119944, 119970, 120022, 120048, 120074, 120100, 120126, 120152, 120178, 120204, 120230, 120256, 120282, 120308, 120334, 120360, 120386, 120412, 120438, 120464, 127286],
113 | "h": [72, 104, 688, 7476, 8341, 8459, 8460, 8461, 8462, 9405, 9431, 65320, 65352, 119815, 119841, 119867, 119919, 119945, 119997, 120023, 120049, 120101, 120153, 120179, 120205, 120231, 120257, 120283, 120309, 120335, 120361, 120387, 120413, 120439, 120465, 127287],
114 | "i": [73, 105, 7477, 7522, 8305, 8464, 8465, 8505, 8520, 8544, 8560, 9406, 9432, 65321, 65353, 119816, 119842, 119868, 119894, 119920, 119946, 119998, 120024, 120050, 120102, 120128, 120154, 120180, 120206, 120232, 120258, 120284, 120310, 120336, 120362, 120388, 120414, 120440, 120466, 127288],
115 | "j": [74, 106, 690, 7478, 8521, 9407, 9433, 11388, 65322, 65354, 119817, 119843, 119869, 119895, 119921, 119947, 119973, 119999, 120025, 120051, 120077, 120103, 120129, 120155, 120181, 120207, 120233, 120259, 120285, 120311, 120337, 120363, 120389, 120415, 120441, 120467, 127289],
116 | "k": [75, 107, 7479, 7503, 8342, 8490, 9408, 9434, 65323, 65355, 119818, 119844, 119870, 119896, 119922, 119948, 119974, 120000, 120026, 120052, 120078, 120104, 120130, 120156, 120182, 120208, 120234, 120260, 120286, 120312, 120338, 120364, 120390, 120416, 120442, 120468, 127290],
117 | "l": [76, 108, 737, 7480, 8343, 8466, 8467, 8556, 8572, 9409, 9435, 65324, 65356, 119819, 119845, 119871, 119897, 119923, 119949, 120001, 120027, 120053, 120079, 120105, 120131, 120157, 120183, 120209, 120235, 120261, 120287, 120313, 120339, 120365, 120391, 120417, 120443, 120469, 127291],
118 | "m": [77, 109, 7481, 7504, 8344, 8499, 8559, 8575, 9410, 9436, 65325, 65357, 119820, 119846, 119872, 119898, 119924, 119950, 120002, 120028, 120054, 120080, 120106, 120132, 120158, 120184, 120210, 120236, 120262, 120288, 120314, 120340, 120366, 120392, 120418, 120444, 120470, 127292],
119 | "n": [78, 110, 7482, 8319, 8345, 8469, 9411, 9437, 65326, 65358, 119821, 119847, 119873, 119899, 119925, 119951, 119977, 120003, 120029, 120055, 120081, 120107, 120159, 120185, 120211, 120237, 120263, 120289, 120315, 120341, 120367, 120393, 120419, 120445, 120471, 127293],
120 | "o": [79, 111, 186, 7484, 7506, 8338, 8500, 9412, 9438, 65327, 65359, 119822, 119848, 119874, 119900, 119926, 119952, 119978, 120030, 120056, 120082, 120108, 120134, 120160, 120186, 120212, 120238, 120264, 120290, 120316, 120342, 120368, 120394, 120420, 120446, 120472, 127294],
121 | "p": [80, 112, 7486, 7510, 8346, 8473, 9413, 9439, 65328, 65360, 119823, 119849, 119875, 119901, 119927, 119953, 119979, 120005, 120031, 120057, 120083, 120109, 120161, 120187, 120213, 120239, 120265, 120291, 120317, 120343, 120369, 120395, 120421, 120447, 120473, 127295],
122 | "q": [81, 113, 8474, 9414, 9440, 65329, 65361, 119824, 119850, 119876, 119902, 119928, 119954, 119980, 120006, 120032, 120058, 120084, 120110, 120162, 120188, 120214, 120240, 120266, 120292, 120318, 120344, 120370, 120396, 120422, 120448, 120474, 127296],
123 | "r": [82, 114, 691, 7487, 7523, 8475, 8476, 8477, 9415, 9441, 65330, 65362, 119825, 119851, 119877, 119903, 119929, 119955, 120007, 120033, 120059, 120111, 120163, 120189, 120215, 120241, 120267, 120293, 120319, 120345, 120371, 120397, 120423, 120449, 120475, 127276, 127297],
124 | "s": [83, 115, 383, 738, 8347, 9416, 9442, 65331, 65363, 119826, 119852, 119878, 119904, 119930, 119956, 119982, 120008, 120034, 120060, 120086, 120112, 120138, 120164, 120190, 120216, 120242, 120268, 120294, 120320, 120346, 120372, 120398, 120424, 120450, 120476, 127298],
125 | "t": [84, 116, 7488, 7511, 8348, 9417, 9443, 65332, 65364, 119827, 119853, 119879, 119905, 119931, 119957, 119983, 120009, 120035, 120061, 120087, 120113, 120139, 120165, 120191, 120217, 120243, 120269, 120295, 120321, 120347, 120373, 120399, 120425, 120451, 120477, 127299],
126 | "u": [85, 117, 7489, 7512, 7524, 9418, 9444, 65333, 65365, 119828, 119854, 119880, 119906, 119932, 119958, 119984, 120010, 120036, 120062, 120088, 120114, 120140, 120166, 120192, 120218, 120244, 120270, 120296, 120322, 120348, 120374, 120400, 120426, 120452, 120478, 127300],
127 | "v": [86, 118, 7515, 7525, 8548, 8564, 9419, 9445, 11389, 65334, 65366, 119829, 119855, 119881, 119907, 119933, 119959, 119985, 120011, 120037, 120063, 120089, 120115, 120141, 120167, 120193, 120219, 120245, 120271, 120297, 120323, 120349, 120375, 120401, 120427, 120453, 120479, 127301],
128 | "w": [87, 119, 695, 7490, 9420, 9446, 65335, 65367, 119830, 119856, 119882, 119908, 119934, 119960, 119986, 120012, 120038, 120064, 120090, 120116, 120142, 120168, 120194, 120220, 120246, 120272, 120298, 120324, 120350, 120376, 120402, 120428, 120454, 120480, 127302],
129 | "x": [88, 120, 739, 8339, 8553, 8569, 9421, 9447, 65336, 65368, 119831, 119857, 119883, 119909, 119935, 119961, 119987, 120013, 120039, 120065, 120091, 120117, 120143, 120169, 120195, 120221, 120247, 120273, 120299, 120325, 120351, 120377, 120403, 120429, 120455, 120481, 127303],
130 | "y": [89, 121, 696, 9422, 9448, 65337, 65369, 119832, 119858, 119884, 119910, 119936, 119962, 119988, 120014, 120040, 120066, 120092, 120118, 120144, 120170, 120196, 120222, 120248, 120274, 120300, 120326, 120352, 120378, 120404, 120430, 120456, 120482, 127304],
131 | "z": [90, 122, 7611, 8484, 8488, 9423, 9449, 65338, 65370, 119833, 119859, 119885, 119911, 119937, 119963, 119989, 120015, 120041, 120067, 120119, 120171, 120197, 120223, 120249, 120275, 120301, 120327, 120353, 120379, 120405, 120431, 120457, 120483, 127305],
132 | "[": [91, 65095, 65339],
133 | "\\": [92, 65128, 65340],
134 | "]": [93, 65096, 65341],
135 | "^": [94, 65342],
136 | "_": [95, 65075, 65076, 65101, 65102, 65103, 65343],
137 | "`": [96, 8175, 65344],
138 | "{": [123, 65079, 65115, 65371],
139 | "|": [124, 65372],
140 | "}": [125, 65080, 65116, 65373],
141 | "~": [126, 65374],
142 | "": [173, 847, 6155, 6156, 6157, 8203, 8204, 8205, 8288, 8292, 65024, 65025, 65026, 65027, 65028, 65029, 65030, 65031, 65032, 65033, 65034, 65035, 65036, 65037, 65038, 65039, 65279, 113824, 113825, 113826, 113827, 917760, 917761, 917762, 917763, 917764, 917765, 917766, 917767, 917768, 917769, 917770, 917771, 917772, 917773, 917774, 917775, 917776, 917777, 917778, 917779, 917780, 917781, 917782, 917783, 917784, 917785, 917786, 917787, 917788, 917789, 917790, 917791, 917792, 917793, 917794, 917795, 917796, 917797, 917798, 917799, 917800, 917801, 917802, 917803, 917804, 917805, 917806, 917807, 917808, 917809, 917810, 917811, 917812, 917813, 917814, 917815, 917816, 917817, 917818, 917819, 917820, 917821, 917822, 917823, 917824, 917825, 917826, 917827, 917828, 917829, 917830, 917831, 917832, 917833, 917834, 917835, 917836, 917837, 917838, 917839, 917840, 917841, 917842, 917843, 917844, 917845, 917846, 917847, 917848, 917849, 917850, 917851, 917852, 917853, 917854, 917855, 917856, 917857, 917858, 917859, 917860, 917861, 917862, 917863, 917864, 917865, 917866, 917867, 917868, 917869, 917870, 917871, 917872, 917873, 917874, 917875, 917876, 917877, 917878, 917879, 917880, 917881, 917882, 917883, 917884, 917885, 917886, 917887, 917888, 917889, 917890, 917891, 917892, 917893, 917894, 917895, 917896, 917897, 917898, 917899, 917900, 917901, 917902, 917903, 917904, 917905, 917906, 917907, 917908, 917909, 917910, 917911, 917912, 917913, 917914, 917915, 917916, 917917, 917918, 917919, 917920, 917921, 917922, 917923, 917924, 917925, 917926, 917927, 917928, 917929, 917930, 917931, 917932, 917933, 917934, 917935, 917936, 917937, 917938, 917939, 917940, 917941, 917942, 917943, 917944, 917945, 917946, 917947, 917948, 917949, 917950, 917951, 917952, 917953, 917954, 917955, 917956, 917957, 917958, 917959, 917960, 917961, 917962, 917963, 917964, 917965, 917966, 917967, 917968, 917969, 917970, 917971, 917972, 917973, 917974, 917975, 917976, 917977, 917978, 917979, 917980, 917981, 917982, 917983, 917984, 917985, 917986, 917987, 917988, 917989, 917990, 917991, 917992, 917993, 917994, 917995, 917996, 917997, 917998, 917999],
143 | "ss": [223, 7838, 127309],
144 | "ij": [306, 307],
145 | "lj": [455, 456, 457],
146 | "nj": [458, 459, 460],
147 | "dz": [497, 498, 499],
148 | "!!": [8252],
149 | "??": [8263],
150 | "?!": [8264],
151 | "!?": [8265],
152 | "rs": [8360],
153 | "a/c": [8448],
154 | "a/s": [8449],
155 | "c/o": [8453],
156 | "c/u": [8454],
157 | "no": [8470],
158 | "sm": [8480],
159 | "tel": [8481],
160 | "tm": [8482],
161 | "fax": [8507],
162 | "ii": [8545, 8561],
163 | "iii": [8546, 8562],
164 | "iv": [8547, 8563],
165 | "vi": [8549, 8565],
166 | "vii": [8550, 8566],
167 | "viii": [8551, 8567],
168 | "ix": [8552, 8568],
169 | "xi": [8554, 8570],
170 | "xii": [8555, 8571],
171 | "(1)": [9332],
172 | "(2)": [9333],
173 | "(3)": [9334],
174 | "(4)": [9335],
175 | "(5)": [9336],
176 | "(6)": [9337],
177 | "(7)": [9338],
178 | "(8)": [9339],
179 | "(9)": [9340],
180 | "(10)": [9341],
181 | "(11)": [9342],
182 | "(12)": [9343],
183 | "(13)": [9344],
184 | "(14)": [9345],
185 | "(15)": [9346],
186 | "(16)": [9347],
187 | "(17)": [9348],
188 | "(18)": [9349],
189 | "(19)": [9350],
190 | "(20)": [9351],
191 | "(a)": [9372, 127248],
192 | "(b)": [9373, 127249],
193 | "(c)": [9374, 127250],
194 | "(d)": [9375, 127251],
195 | "(e)": [9376, 127252],
196 | "(f)": [9377, 127253],
197 | "(g)": [9378, 127254],
198 | "(h)": [9379, 127255],
199 | "(i)": [9380, 127256],
200 | "(j)": [9381, 127257],
201 | "(k)": [9382, 127258],
202 | "(l)": [9383, 127259],
203 | "(m)": [9384, 127260],
204 | "(n)": [9385, 127261],
205 | "(o)": [9386, 127262],
206 | "(p)": [9387, 127263],
207 | "(q)": [9388, 127264],
208 | "(r)": [9389, 127265],
209 | "(s)": [9390, 127266],
210 | "(t)": [9391, 127267],
211 | "(u)": [9392, 127268],
212 | "(v)": [9393, 127269],
213 | "(w)": [9394, 127270],
214 | "(x)": [9395, 127271],
215 | "(y)": [9396, 127272],
216 | "(z)": [9397, 127273],
217 | "::=": [10868],
218 | "==": [10869],
219 | "===": [10870],
220 | "pte": [12880],
221 | "hg": [13004],
222 | "erg": [13005],
223 | "ev": [13006],
224 | "ltd": [13007],
225 | "hpa": [13169],
226 | "da": [13170],
227 | "au": [13171],
228 | "bar": [13172],
229 | "ov": [13173],
230 | "pc": [13174],
231 | "dm": [13175],
232 | "dm2": [13176],
233 | "dm3": [13177],
234 | "iu": [13178],
235 | "pa": [13184, 13225],
236 | "na": [13185],
237 | "ma": [13187],
238 | "ka": [13188],
239 | "kb": [13189],
240 | "mb": [13190, 13268],
241 | "gb": [13191],
242 | "cal": [13192],
243 | "kcal": [13193],
244 | "pf": [13194],
245 | "nf": [13195],
246 | "mg": [13198],
247 | "kg": [13199],
248 | "hz": [13200],
249 | "khz": [13201],
250 | "mhz": [13202],
251 | "ghz": [13203],
252 | "thz": [13204],
253 | "ml": [13206],
254 | "dl": [13207],
255 | "kl": [13208],
256 | "fm": [13209],
257 | "nm": [13210],
258 | "mm": [13212],
259 | "cm": [13213],
260 | "km": [13214, 13262],
261 | "mm2": [13215],
262 | "cm2": [13216],
263 | "m2": [13217],
264 | "km2": [13218],
265 | "mm3": [13219],
266 | "cm3": [13220],
267 | "m3": [13221],
268 | "km3": [13222],
269 | "kpa": [13226],
270 | "mpa": [13227],
271 | "gpa": [13228],
272 | "rad": [13229],
273 | "ps": [13232],
274 | "ns": [13233],
275 | "ms": [13235],
276 | "pv": [13236],
277 | "nv": [13237],
278 | "mv": [13239, 13241, 127307],
279 | "kv": [13240],
280 | "pw": [13242],
281 | "nw": [13243],
282 | "mw": [13245, 13247],
283 | "kw": [13246],
284 | "bq": [13251],
285 | "cc": [13252],
286 | "cd": [13253, 127277],
287 | "db": [13256],
288 | "gy": [13257],
289 | "ha": [13258],
290 | "hp": [13259],
291 | "in": [13260],
292 | "kk": [13261],
293 | "kt": [13263],
294 | "lm": [13264],
295 | "ln": [13265],
296 | "log": [13266],
297 | "lx": [13267],
298 | "mil": [13269],
299 | "mol": [13270],
300 | "ph": [13271],
301 | "ppm": [13273],
302 | "pr": [13274],
303 | "sr": [13275],
304 | "sv": [13276],
305 | "wb": [13277],
306 | "gal": [13311],
307 | "ff": [64256],
308 | "fi": [64257],
309 | "fl": [64258],
310 | "ffi": [64259],
311 | "ffl": [64260],
312 | "st": [64261, 64262],
313 | "0,": [127233],
314 | "1,": [127234],
315 | "2,": [127235],
316 | "3,": [127236],
317 | "4,": [127237],
318 | "5,": [127238],
319 | "6,": [127239],
320 | "7,": [127240],
321 | "8,": [127241],
322 | "9,": [127242],
323 | "wz": [127278],
324 | "hv": [127306],
325 | "sd": [127308],
326 | "ppv": [127310],
327 | "wc": [127311],
328 | "mc": [127338],
329 | "md": [127339],
330 | "dj": [127376]
331 | };
332 |
333 | /*
334 | {
335 | "0": ["0", "⁰", "₀", "⓪", "0", "𝟎", "𝟘", "𝟢", "𝟬", "𝟶"],
336 | "1": ["1", "¹", "₁", "①", "1", "𝟏", "𝟙", "𝟣", "𝟭", "𝟷"],
337 | "2": ["2", "²", "₂", "②", "2", "𝟐", "𝟚", "𝟤", "𝟮", "𝟸"],
338 | "3": ["3", "³", "₃", "③", "3", "𝟑", "𝟛", "𝟥", "𝟯", "𝟹"],
339 | "4": ["4", "⁴", "₄", "④", "4", "𝟒", "𝟜", "𝟦", "𝟰", "𝟺"],
340 | "5": ["5", "⁵", "₅", "⑤", "5", "𝟓", "𝟝", "𝟧", "𝟱", "𝟻"],
341 | "6": ["6", "⁶", "₆", "⑥", "6", "𝟔", "𝟞", "𝟨", "𝟲", "𝟼"],
342 | "7": ["7", "⁷", "₇", "⑦", "7", "𝟕", "𝟟", "𝟩", "𝟳", "𝟽"],
343 | "8": ["8", "⁸", "₈", "⑧", "8", "𝟖", "𝟠", "𝟪", "𝟴", "𝟾"],
344 | "9": ["9", "⁹", "₉", "⑨", "9", "𝟗", "𝟡", "𝟫", "𝟵", "𝟿"],
345 | "10": ["⑩"],
346 | "11": ["⑪"],
347 | "12": ["⑫"],
348 | "13": ["⑬"],
349 | "14": ["⑭"],
350 | "15": ["⑮"],
351 | "16": ["⑯"],
352 | "17": ["⑰"],
353 | "18": ["⑱"],
354 | "19": ["⑲"],
355 | "20": ["⑳"],
356 | "21": ["㉑"],
357 | "22": ["㉒"],
358 | "23": ["㉓"],
359 | "24": ["㉔"],
360 | "25": ["㉕"],
361 | "26": ["㉖"],
362 | "27": ["㉗"],
363 | "28": ["㉘"],
364 | "29": ["㉙"],
365 | "30": ["㉚"],
366 | "31": ["㉛"],
367 | "32": ["㉜"],
368 | "33": ["㉝"],
369 | "34": ["㉞"],
370 | "35": ["㉟"],
371 | "36": ["㊱"],
372 | "37": ["㊲"],
373 | "38": ["㊳"],
374 | "39": ["㊴"],
375 | "40": ["㊵"],
376 | "41": ["㊶"],
377 | "42": ["㊷"],
378 | "43": ["㊸"],
379 | "44": ["㊹"],
380 | "45": ["㊺"],
381 | "46": ["㊻"],
382 | "47": ["㊼"],
383 | "48": ["㊽"],
384 | "49": ["㊾"],
385 | "50": ["㊿"],
386 | "\u0001": ["\u0001"],
387 | "\u0002": ["\u0002"],
388 | "\u0003": ["\u0003"],
389 | "\u0004": ["\u0004"],
390 | "\u0005": ["\u0005"],
391 | "\u0006": ["\u0006"],
392 | "\u0007": ["\u0007"],
393 | "\b": ["\b"],
394 | "\t": ["\t"],
395 | "\n": ["\n"],
396 | "\u000b": ["\u000b"],
397 | "\f": ["\f"],
398 | "\r": ["\r"],
399 | "\u000e": ["\u000e"],
400 | "\u000f": ["\u000f"],
401 | "\u0010": ["\u0010"],
402 | "\u0011": ["\u0011"],
403 | "\u0012": ["\u0012"],
404 | "\u0013": ["\u0013"],
405 | "\u0014": ["\u0014"],
406 | "\u0015": ["\u0015"],
407 | "\u0016": ["\u0016"],
408 | "\u0017": ["\u0017"],
409 | "\u0018": ["\u0018"],
410 | "\u0019": ["\u0019"],
411 | "\u001a": ["\u001a"],
412 | "\u001b": ["\u001b"],
413 | "\u001c": ["\u001c"],
414 | "\u001d": ["\u001d"],
415 | "\u001e": ["\u001e"],
416 | "\u001f": ["\u001f"],
417 | " ": [" ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "],
418 | "!": ["!", "︕", "﹗", "!"],
419 | "\"": ["\"", """],
420 | "#": ["#", "﹟", "#"],
421 | "$": ["$", "﹩", "$"],
422 | "%": ["%", "﹪", "%"],
423 | "&": ["&", "﹠", "&"],
424 | "'": ["'", "'"],
425 | "(": ["(", "⁽", "₍", "︵", "﹙", "("],
426 | ")": [")", "⁾", "₎", "︶", "﹚", ")"],
427 | "*": ["*", "﹡", "*"],
428 | "+": ["+", "⁺", "₊", "﬩", "﹢", "+"],
429 | ",": [",", "︐", "﹐", ","],
430 | ".": [".", "。", ".", "。"],
431 | "/": ["/", "/"],
432 | ":": [":", "︓", "﹕", ":"],
433 | ";": [";", ";", "︔", "﹔", ";"],
434 | "<": ["<", "﹤", "<"],
435 | "=": ["=", "⁼", "₌", "﹦", "="],
436 | ">": [">", "﹥", ">"],
437 | "?": ["?", "︖", "﹖", "?"],
438 | "@": ["@", "﹫", "@"],
439 | "a": ["A", "a", "ª", "ᴬ", "ᵃ", "ₐ", "Ⓐ", "ⓐ", "A", "a", "𝐀", "𝐚", "𝐴", "𝑎", "𝑨", "𝒂", "𝒜", "𝒶", "𝓐", "𝓪", "𝔄", "𝔞", "𝔸", "𝕒", "𝕬", "𝖆", "𝖠", "𝖺", "𝗔", "𝗮", "𝘈", "𝘢", "𝘼", "𝙖", "𝙰", "𝚊", "🄰"],
440 | "b": ["B", "b", "ᴮ", "ᵇ", "ℬ", "Ⓑ", "ⓑ", "B", "b", "𝐁", "𝐛", "𝐵", "𝑏", "𝑩", "𝒃", "𝒷", "𝓑", "𝓫", "𝔅", "𝔟", "𝔹", "𝕓", "𝕭", "𝖇", "𝖡", "𝖻", "𝗕", "𝗯", "𝘉", "𝘣", "𝘽", "𝙗", "𝙱", "𝚋", "🄱"],
441 | "c": ["C", "c", "ᶜ", "ℂ", "ℭ", "Ⅽ", "ⅽ", "Ⓒ", "ⓒ", "C", "c", "𝐂", "𝐜", "𝐶", "𝑐", "𝑪", "𝒄", "𝒞", "𝒸", "𝓒", "𝓬", "𝔠", "𝕔", "𝕮", "𝖈", "𝖢", "𝖼", "𝗖", "𝗰", "𝘊", "𝘤", "𝘾", "𝙘", "𝙲", "𝚌", "🄫", "🄲"],
442 | "d": ["D", "d", "ᴰ", "ᵈ", "ⅅ", "ⅆ", "Ⅾ", "ⅾ", "Ⓓ", "ⓓ", "D", "d", "𝐃", "𝐝", "𝐷", "𝑑", "𝑫", "𝒅", "𝒟", "𝒹", "𝓓", "𝓭", "𝔇", "𝔡", "𝔻", "𝕕", "𝕯", "𝖉", "𝖣", "𝖽", "𝗗", "𝗱", "𝘋", "𝘥", "𝘿", "𝙙", "𝙳", "𝚍", "🄳"],
443 | "e": ["E", "e", "ᴱ", "ᵉ", "ₑ", "ℯ", "ℰ", "ⅇ", "Ⓔ", "ⓔ", "E", "e", "𝐄", "𝐞", "𝐸", "𝑒", "𝑬", "𝒆", "𝓔", "𝓮", "𝔈", "𝔢", "𝔼", "𝕖", "𝕰", "𝖊", "𝖤", "𝖾", "𝗘", "𝗲", "𝘌", "𝘦", "𝙀", "𝙚", "𝙴", "𝚎", "🄴"],
444 | "f": ["F", "f", "ᶠ", "ℱ", "Ⓕ", "ⓕ", "F", "f", "𝐅", "𝐟", "𝐹", "𝑓", "𝑭", "𝒇", "𝒻", "𝓕", "𝓯", "𝔉", "𝔣", "𝔽", "𝕗", "𝕱", "𝖋", "𝖥", "𝖿", "𝗙", "𝗳", "𝘍", "𝘧", "𝙁", "𝙛", "𝙵", "𝚏", "🄵"],
445 | "g": ["G", "g", "ᴳ", "ᵍ", "ℊ", "Ⓖ", "ⓖ", "G", "g", "𝐆", "𝐠", "𝐺", "𝑔", "𝑮", "𝒈", "𝒢", "𝓖", "𝓰", "𝔊", "𝔤", "𝔾", "𝕘", "𝕲", "𝖌", "𝖦", "𝗀", "𝗚", "𝗴", "𝘎", "𝘨", "𝙂", "𝙜", "𝙶", "𝚐", "🄶"],
446 | "h": ["H", "h", "ʰ", "ᴴ", "ₕ", "ℋ", "ℌ", "ℍ", "ℎ", "Ⓗ", "ⓗ", "H", "h", "𝐇", "𝐡", "𝐻", "𝑯", "𝒉", "𝒽", "𝓗", "𝓱", "𝔥", "𝕙", "𝕳", "𝖍", "𝖧", "𝗁", "𝗛", "𝗵", "𝘏", "𝘩", "𝙃", "𝙝", "𝙷", "𝚑", "🄷"],
447 | "i": ["I", "i", "ᴵ", "ᵢ", "ⁱ", "ℐ", "ℑ", "ℹ", "ⅈ", "Ⅰ", "ⅰ", "Ⓘ", "ⓘ", "I", "i", "𝐈", "𝐢", "𝐼", "𝑖", "𝑰", "𝒊", "𝒾", "𝓘", "𝓲", "𝔦", "𝕀", "𝕚", "𝕴", "𝖎", "𝖨", "𝗂", "𝗜", "𝗶", "𝘐", "𝘪", "𝙄", "𝙞", "𝙸", "𝚒", "🄸"],
448 | "j": ["J", "j", "ʲ", "ᴶ", "ⅉ", "Ⓙ", "ⓙ", "ⱼ", "J", "j", "𝐉", "𝐣", "𝐽", "𝑗", "𝑱", "𝒋", "𝒥", "𝒿", "𝓙", "𝓳", "𝔍", "𝔧", "𝕁", "𝕛", "𝕵", "𝖏", "𝖩", "𝗃", "𝗝", "𝗷", "𝘑", "𝘫", "𝙅", "𝙟", "𝙹", "𝚓", "🄹"],
449 | "k": ["K", "k", "ᴷ", "ᵏ", "ₖ", "K", "Ⓚ", "ⓚ", "K", "k", "𝐊", "𝐤", "𝐾", "𝑘", "𝑲", "𝒌", "𝒦", "𝓀", "𝓚", "𝓴", "𝔎", "𝔨", "𝕂", "𝕜", "𝕶", "𝖐", "𝖪", "𝗄", "𝗞", "𝗸", "𝘒", "𝘬", "𝙆", "𝙠", "𝙺", "𝚔", "🄺"],
450 | "l": ["L", "l", "ˡ", "ᴸ", "ₗ", "ℒ", "ℓ", "Ⅼ", "ⅼ", "Ⓛ", "ⓛ", "L", "l", "𝐋", "𝐥", "𝐿", "𝑙", "𝑳", "𝒍", "𝓁", "𝓛", "𝓵", "𝔏", "𝔩", "𝕃", "𝕝", "𝕷", "𝖑", "𝖫", "𝗅", "𝗟", "𝗹", "𝘓", "𝘭", "𝙇", "𝙡", "𝙻", "𝚕", "🄻"],
451 | "m": ["M", "m", "ᴹ", "ᵐ", "ₘ", "ℳ", "Ⅿ", "ⅿ", "Ⓜ", "ⓜ", "M", "m", "𝐌", "𝐦", "𝑀", "𝑚", "𝑴", "𝒎", "𝓂", "𝓜", "𝓶", "𝔐", "𝔪", "𝕄", "𝕞", "𝕸", "𝖒", "𝖬", "𝗆", "𝗠", "𝗺", "𝘔", "𝘮", "𝙈", "𝙢", "𝙼", "𝚖", "🄼"],
452 | "n": ["N", "n", "ᴺ", "ⁿ", "ₙ", "ℕ", "Ⓝ", "ⓝ", "N", "n", "𝐍", "𝐧", "𝑁", "𝑛", "𝑵", "𝒏", "𝒩", "𝓃", "𝓝", "𝓷", "𝔑", "𝔫", "𝕟", "𝕹", "𝖓", "𝖭", "𝗇", "𝗡", "𝗻", "𝘕", "𝘯", "𝙉", "𝙣", "𝙽", "𝚗", "🄽"],
453 | "o": ["O", "o", "º", "ᴼ", "ᵒ", "ₒ", "ℴ", "Ⓞ", "ⓞ", "O", "o", "𝐎", "𝐨", "𝑂", "𝑜", "𝑶", "𝒐", "𝒪", "𝓞", "𝓸", "𝔒", "𝔬", "𝕆", "𝕠", "𝕺", "𝖔", "𝖮", "𝗈", "𝗢", "𝗼", "𝘖", "𝘰", "𝙊", "𝙤", "𝙾", "𝚘", "🄾"],
454 | "p": ["P", "p", "ᴾ", "ᵖ", "ₚ", "ℙ", "Ⓟ", "ⓟ", "P", "p", "𝐏", "𝐩", "𝑃", "𝑝", "𝑷", "𝒑", "𝒫", "𝓅", "𝓟", "𝓹", "𝔓", "𝔭", "𝕡", "𝕻", "𝖕", "𝖯", "𝗉", "𝗣", "𝗽", "𝘗", "𝘱", "𝙋", "𝙥", "𝙿", "𝚙", "🄿"],
455 | "q": ["Q", "q", "ℚ", "Ⓠ", "ⓠ", "Q", "q", "𝐐", "𝐪", "𝑄", "𝑞", "𝑸", "𝒒", "𝒬", "𝓆", "𝓠", "𝓺", "𝔔", "𝔮", "𝕢", "𝕼", "𝖖", "𝖰", "𝗊", "𝗤", "𝗾", "𝘘", "𝘲", "𝙌", "𝙦", "𝚀", "𝚚", "🅀"],
456 | "r": ["R", "r", "ʳ", "ᴿ", "ᵣ", "ℛ", "ℜ", "ℝ", "Ⓡ", "ⓡ", "R", "r", "𝐑", "𝐫", "𝑅", "𝑟", "𝑹", "𝒓", "𝓇", "𝓡", "𝓻", "𝔯", "𝕣", "𝕽", "𝖗", "𝖱", "𝗋", "𝗥", "𝗿", "𝘙", "𝘳", "𝙍", "𝙧", "𝚁", "𝚛", "🄬", "🅁"],
457 | "s": ["S", "s", "ſ", "ˢ", "ₛ", "Ⓢ", "ⓢ", "S", "s", "𝐒", "𝐬", "𝑆", "𝑠", "𝑺", "𝒔", "𝒮", "𝓈", "𝓢", "𝓼", "𝔖", "𝔰", "𝕊", "𝕤", "𝕾", "𝖘", "𝖲", "𝗌", "𝗦", "𝘀", "𝘚", "𝘴", "𝙎", "𝙨", "𝚂", "𝚜", "🅂"],
458 | "t": ["T", "t", "ᵀ", "ᵗ", "ₜ", "Ⓣ", "ⓣ", "T", "t", "𝐓", "𝐭", "𝑇", "𝑡", "𝑻", "𝒕", "𝒯", "𝓉", "𝓣", "𝓽", "𝔗", "𝔱", "𝕋", "𝕥", "𝕿", "𝖙", "𝖳", "𝗍", "𝗧", "𝘁", "𝘛", "𝘵", "𝙏", "𝙩", "𝚃", "𝚝", "🅃"],
459 | "u": ["U", "u", "ᵁ", "ᵘ", "ᵤ", "Ⓤ", "ⓤ", "U", "u", "𝐔", "𝐮", "𝑈", "𝑢", "𝑼", "𝒖", "𝒰", "𝓊", "𝓤", "𝓾", "𝔘", "𝔲", "𝕌", "𝕦", "𝖀", "𝖚", "𝖴", "𝗎", "𝗨", "𝘂", "𝘜", "𝘶", "𝙐", "𝙪", "𝚄", "𝚞", "🅄"],
460 | "v": ["V", "v", "ᵛ", "ᵥ", "Ⅴ", "ⅴ", "Ⓥ", "ⓥ", "ⱽ", "V", "v", "𝐕", "𝐯", "𝑉", "𝑣", "𝑽", "𝒗", "𝒱", "𝓋", "𝓥", "𝓿", "𝔙", "𝔳", "𝕍", "𝕧", "𝖁", "𝖛", "𝖵", "𝗏", "𝗩", "𝘃", "𝘝", "𝘷", "𝙑", "𝙫", "𝚅", "𝚟", "🅅"],
461 | "w": ["W", "w", "ʷ", "ᵂ", "Ⓦ", "ⓦ", "W", "w", "𝐖", "𝐰", "𝑊", "𝑤", "𝑾", "𝒘", "𝒲", "𝓌", "𝓦", "𝔀", "𝔚", "𝔴", "𝕎", "𝕨", "𝖂", "𝖜", "𝖶", "𝗐", "𝗪", "𝘄", "𝘞", "𝘸", "𝙒", "𝙬", "𝚆", "𝚠", "🅆"],
462 | "x": ["X", "x", "ˣ", "ₓ", "Ⅹ", "ⅹ", "Ⓧ", "ⓧ", "X", "x", "𝐗", "𝐱", "𝑋", "𝑥", "𝑿", "𝒙", "𝒳", "𝓍", "𝓧", "𝔁", "𝔛", "𝔵", "𝕏", "𝕩", "𝖃", "𝖝", "𝖷", "𝗑", "𝗫", "𝘅", "𝘟", "𝘹", "𝙓", "𝙭", "𝚇", "𝚡", "🅇"],
463 | "y": ["Y", "y", "ʸ", "Ⓨ", "ⓨ", "Y", "y", "𝐘", "𝐲", "𝑌", "𝑦", "𝒀", "𝒚", "𝒴", "𝓎", "𝓨", "𝔂", "𝔜", "𝔶", "𝕐", "𝕪", "𝖄", "𝖞", "𝖸", "𝗒", "𝗬", "𝘆", "𝘠", "𝘺", "𝙔", "𝙮", "𝚈", "𝚢", "🅈"],
464 | "z": ["Z", "z", "ᶻ", "ℤ", "ℨ", "Ⓩ", "ⓩ", "Z", "z", "𝐙", "𝐳", "𝑍", "𝑧", "𝒁", "𝒛", "𝒵", "𝓏", "𝓩", "𝔃", "𝔷", "𝕫", "𝖅", "𝖟", "𝖹", "𝗓", "𝗭", "𝘇", "𝘡", "𝘻", "𝙕", "𝙯", "𝚉", "𝚣", "🅉"],
465 | "[": ["[", "﹇", "["],
466 | "\\": ["\\", "﹨", "\"],
467 | "]": ["]", "﹈", "]"],
468 | "^": ["^", "^"],
469 | "_": ["_", "︳", "︴", "﹍", "﹎", "﹏", "_"],
470 | "`": ["`", "`", "`"],
471 | "{": ["{", "︷", "﹛", "{"],
472 | "|": ["|", "|"],
473 | "}": ["}", "︸", "﹜", "}"],
474 | "~": ["~", "~"],
475 | "": ["", "͏", "᠋", "᠌", "᠍", "", "", "", "", "", "︀", "︁", "︂", "︃", "︄", "︅", "︆", "︇", "︈", "︉", "︊", "︋", "︌", "︍", "︎", "️", "", "", "", "", "", "󠄀", "󠄁", "󠄂", "󠄃", "󠄄", "󠄅", "󠄆", "󠄇", "󠄈", "󠄉", "󠄊", "󠄋", "󠄌", "󠄍", "󠄎", "󠄏", "󠄐", "󠄑", "󠄒", "󠄓", "󠄔", "󠄕", "󠄖", "󠄗", "󠄘", "󠄙", "󠄚", "󠄛", "󠄜", "󠄝", "󠄞", "󠄟", "󠄠", "󠄡", "󠄢", "󠄣", "󠄤", "󠄥", "󠄦", "󠄧", "󠄨", "󠄩", "󠄪", "󠄫", "󠄬", "󠄭", "󠄮", "󠄯", "󠄰", "󠄱", "󠄲", "󠄳", "󠄴", "󠄵", "󠄶", "󠄷", "󠄸", "󠄹", "󠄺", "󠄻", "󠄼", "󠄽", "󠄾", "󠄿", "󠅀", "󠅁", "󠅂", "󠅃", "󠅄", "󠅅", "󠅆", "󠅇", "󠅈", "󠅉", "󠅊", "󠅋", "󠅌", "󠅍", "󠅎", "󠅏", "󠅐", "󠅑", "󠅒", "󠅓", "󠅔", "󠅕", "󠅖", "󠅗", "󠅘", "󠅙", "󠅚", "󠅛", "󠅜", "󠅝", "󠅞", "󠅟", "󠅠", "󠅡", "󠅢", "󠅣", "󠅤", "󠅥", "󠅦", "󠅧", "󠅨", "󠅩", "󠅪", "󠅫", "󠅬", "󠅭", "󠅮", "󠅯", "󠅰", "󠅱", "󠅲", "󠅳", "󠅴", "󠅵", "󠅶", "󠅷", "󠅸", "󠅹", "󠅺", "󠅻", "󠅼", "󠅽", "󠅾", "󠅿", "󠆀", "󠆁", "󠆂", "󠆃", "󠆄", "󠆅", "󠆆", "󠆇", "󠆈", "󠆉", "󠆊", "󠆋", "󠆌", "󠆍", "󠆎", "󠆏", "󠆐", "󠆑", "󠆒", "󠆓", "󠆔", "󠆕", "󠆖", "󠆗", "󠆘", "󠆙", "󠆚", "󠆛", "󠆜", "󠆝", "󠆞", "󠆟", "󠆠", "󠆡", "󠆢", "󠆣", "󠆤", "󠆥", "󠆦", "󠆧", "󠆨", "󠆩", "󠆪", "󠆫", "󠆬", "󠆭", "󠆮", "󠆯", "󠆰", "󠆱", "󠆲", "󠆳", "󠆴", "󠆵", "󠆶", "󠆷", "󠆸", "󠆹", "󠆺", "󠆻", "󠆼", "󠆽", "󠆾", "󠆿", "󠇀", "󠇁", "󠇂", "󠇃", "󠇄", "󠇅", "󠇆", "󠇇", "󠇈", "󠇉", "󠇊", "󠇋", "󠇌", "󠇍", "󠇎", "󠇏", "󠇐", "󠇑", "󠇒", "󠇓", "󠇔", "󠇕", "󠇖", "󠇗", "󠇘", "󠇙", "󠇚", "󠇛", "󠇜", "󠇝", "󠇞", "󠇟", "󠇠", "󠇡", "󠇢", "󠇣", "󠇤", "󠇥", "󠇦", "󠇧", "󠇨", "󠇩", "󠇪", "󠇫", "󠇬", "󠇭", "󠇮", "󠇯"],
476 | "ss": ["ß", "ẞ", "🅍"],
477 | "ij": ["IJ", "ij"],
478 | "lj": ["LJ", "Lj", "lj"],
479 | "nj": ["NJ", "Nj", "nj"],
480 | "dz": ["DZ", "Dz", "dz"],
481 | "!!": ["‼"],
482 | "??": ["⁇"],
483 | "?!": ["⁈"],
484 | "!?": ["⁉"],
485 | "rs": ["₨"],
486 | "a/c": ["℀"],
487 | "a/s": ["℁"],
488 | "c/o": ["℅"],
489 | "c/u": ["℆"],
490 | "no": ["№"],
491 | "sm": ["℠"],
492 | "tel": ["℡"],
493 | "tm": ["™"],
494 | "fax": ["℻"],
495 | "ii": ["Ⅱ", "ⅱ"],
496 | "iii": ["Ⅲ", "ⅲ"],
497 | "iv": ["Ⅳ", "ⅳ"],
498 | "vi": ["Ⅵ", "ⅵ"],
499 | "vii": ["Ⅶ", "ⅶ"],
500 | "viii": ["Ⅷ", "ⅷ"],
501 | "ix": ["Ⅸ", "ⅸ"],
502 | "xi": ["Ⅺ", "ⅺ"],
503 | "xii": ["Ⅻ", "ⅻ"],
504 | "(1)": ["⑴"],
505 | "(2)": ["⑵"],
506 | "(3)": ["⑶"],
507 | "(4)": ["⑷"],
508 | "(5)": ["⑸"],
509 | "(6)": ["⑹"],
510 | "(7)": ["⑺"],
511 | "(8)": ["⑻"],
512 | "(9)": ["⑼"],
513 | "(10)": ["⑽"],
514 | "(11)": ["⑾"],
515 | "(12)": ["⑿"],
516 | "(13)": ["⒀"],
517 | "(14)": ["⒁"],
518 | "(15)": ["⒂"],
519 | "(16)": ["⒃"],
520 | "(17)": ["⒄"],
521 | "(18)": ["⒅"],
522 | "(19)": ["⒆"],
523 | "(20)": ["⒇"],
524 | "(a)": ["⒜", "🄐"],
525 | "(b)": ["⒝", "🄑"],
526 | "(c)": ["⒞", "🄒"],
527 | "(d)": ["⒟", "🄓"],
528 | "(e)": ["⒠", "🄔"],
529 | "(f)": ["⒡", "🄕"],
530 | "(g)": ["⒢", "🄖"],
531 | "(h)": ["⒣", "🄗"],
532 | "(i)": ["⒤", "🄘"],
533 | "(j)": ["⒥", "🄙"],
534 | "(k)": ["⒦", "🄚"],
535 | "(l)": ["⒧", "🄛"],
536 | "(m)": ["⒨", "🄜"],
537 | "(n)": ["⒩", "🄝"],
538 | "(o)": ["⒪", "🄞"],
539 | "(p)": ["⒫", "🄟"],
540 | "(q)": ["⒬", "🄠"],
541 | "(r)": ["⒭", "🄡"],
542 | "(s)": ["⒮", "🄢"],
543 | "(t)": ["⒯", "🄣"],
544 | "(u)": ["⒰", "🄤"],
545 | "(v)": ["⒱", "🄥"],
546 | "(w)": ["⒲", "🄦"],
547 | "(x)": ["⒳", "🄧"],
548 | "(y)": ["⒴", "🄨"],
549 | "(z)": ["⒵", "🄩"],
550 | "::=": ["⩴"],
551 | "==": ["⩵"],
552 | "===": ["⩶"],
553 | "pte": ["㉐"],
554 | "hg": ["㋌"],
555 | "erg": ["㋍"],
556 | "ev": ["㋎"],
557 | "ltd": ["㋏"],
558 | "hpa": ["㍱"],
559 | "da": ["㍲"],
560 | "au": ["㍳"],
561 | "bar": ["㍴"],
562 | "ov": ["㍵"],
563 | "pc": ["㍶"],
564 | "dm": ["㍷"],
565 | "dm2": ["㍸"],
566 | "dm3": ["㍹"],
567 | "iu": ["㍺"],
568 | "pa": ["㎀", "㎩"],
569 | "na": ["㎁"],
570 | "ma": ["㎃"],
571 | "ka": ["㎄"],
572 | "kb": ["㎅"],
573 | "mb": ["㎆", "㏔"],
574 | "gb": ["㎇"],
575 | "cal": ["㎈"],
576 | "kcal": ["㎉"],
577 | "pf": ["㎊"],
578 | "nf": ["㎋"],
579 | "mg": ["㎎"],
580 | "kg": ["㎏"],
581 | "hz": ["㎐"],
582 | "khz": ["㎑"],
583 | "mhz": ["㎒"],
584 | "ghz": ["㎓"],
585 | "thz": ["㎔"],
586 | "ml": ["㎖"],
587 | "dl": ["㎗"],
588 | "kl": ["㎘"],
589 | "fm": ["㎙"],
590 | "nm": ["㎚"],
591 | "mm": ["㎜"],
592 | "cm": ["㎝"],
593 | "km": ["㎞", "㏎"],
594 | "mm2": ["㎟"],
595 | "cm2": ["㎠"],
596 | "m2": ["㎡"],
597 | "km2": ["㎢"],
598 | "mm3": ["㎣"],
599 | "cm3": ["㎤"],
600 | "m3": ["㎥"],
601 | "km3": ["㎦"],
602 | "kpa": ["㎪"],
603 | "mpa": ["㎫"],
604 | "gpa": ["㎬"],
605 | "rad": ["㎭"],
606 | "ps": ["㎰"],
607 | "ns": ["㎱"],
608 | "ms": ["㎳"],
609 | "pv": ["㎴"],
610 | "nv": ["㎵"],
611 | "mv": ["㎷", "㎹", "🅋"],
612 | "kv": ["㎸"],
613 | "pw": ["㎺"],
614 | "nw": ["㎻"],
615 | "mw": ["㎽", "㎿"],
616 | "kw": ["㎾"],
617 | "bq": ["㏃"],
618 | "cc": ["㏄"],
619 | "cd": ["㏅", "🄭"],
620 | "db": ["㏈"],
621 | "gy": ["㏉"],
622 | "ha": ["㏊"],
623 | "hp": ["㏋"],
624 | "in": ["㏌"],
625 | "kk": ["㏍"],
626 | "kt": ["㏏"],
627 | "lm": ["㏐"],
628 | "ln": ["㏑"],
629 | "log": ["㏒"],
630 | "lx": ["㏓"],
631 | "mil": ["㏕"],
632 | "mol": ["㏖"],
633 | "ph": ["㏗"],
634 | "ppm": ["㏙"],
635 | "pr": ["㏚"],
636 | "sr": ["㏛"],
637 | "sv": ["㏜"],
638 | "wb": ["㏝"],
639 | "gal": ["㏿"],
640 | "ff": ["ff"],
641 | "fi": ["fi"],
642 | "fl": ["fl"],
643 | "ffi": ["ffi"],
644 | "ffl": ["ffl"],
645 | "st": ["ſt", "st"],
646 | "0,": ["🄁"],
647 | "1,": ["🄂"],
648 | "2,": ["🄃"],
649 | "3,": ["🄄"],
650 | "4,": ["🄅"],
651 | "5,": ["🄆"],
652 | "6,": ["🄇"],
653 | "7,": ["🄈"],
654 | "8,": ["🄉"],
655 | "9,": ["🄊"],
656 | "wz": ["🄮"],
657 | "hv": ["🅊"],
658 | "sd": ["🅌"],
659 | "ppv": ["🅎"],
660 | "wc": ["🅏"],
661 | "mc": ["🅪"],
662 | "md": ["🅫"],
663 | "dj": ["🆐"]
664 | }
665 | */
--------------------------------------------------------------------------------