/
unicodify.py
75 lines (68 loc) · 2.23 KB
/
unicodify.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
import sublime_plugin
import random
def unicodify(string):
result = []
mapping = {
"A": ["À", "Á", "Â", "Ã", "Ä", "Å", "A", "Ɑ", ],
"B": ["B", "Ƃ", "Ƅ", ],
"C": ["C", ],
"D": ["Ꮷ", "D", "Ԁ", ],
"E": ["È", "É", "Ê", "Ë", "E", ],
"F": ["F", ],
"G": ["G", "Ǥ", "ɢ", ],
"H": ["H", ],
"I": ["Ì", "Í", "Ï", "I", ],
"J": ["J", "ϳ", "Յ", ],
"K": ["K", "Ƙ", ],
"L": ["L", "ɭ", ],
"M": ["M", "Ϻ", ],
"N": ["N", ],
"O": ["Ò", "O", ],
"P": ["P", "Ρ", ],
"Q": ["Q", "Ɋ", ],
"R": ["R", ],
"S": ["S", "Ѕ", ],
"T": ["T", ],
"U": ["Ù", "Ú", "Û", "Ü", "U", ],
"V": ["V", "Ѵ", ],
"W": ["W", "Ɯ", "ɰ", ],
"X": ["X", "Х", "х", "Ӽ", ],
"Y": ["Y", "ϒ", ],
"Z": ["Z", "Ȥ", "Ƶ", ],
"a": ["à", "á", "â", "ã", "ä", "å", "a", "ɑ", ],
"b": ["b", "ƃ", "ƅ", ],
"c": ["c", ],
"d": ["Ꮷ", "d", "ԁ", ],
"e": ["è", "é", "ê", "ë", "e", ],
"f": ["f", ],
"g": ["g", "ǥ", "ɢ", ],
"h": ["h", "ɦ", ],
"i": ["ì", "í", "ï", "i", ],
"j": ["j", "ϳ", "յ", ],
"k": ["k", "ƙ", ],
"l": ["l", "ɭ", ],
"m": ["m", "ϻ", ],
"n": ["n", ],
"o": ["ò", "o", ],
"p": ["p", "ρ", ],
"q": ["q", "ɋ", ],
"r": ["r", ],
"s": ["s", "ѕ", ],
"t": ["t", ],
"u": ["ù", "ú", "û", "ü", "u", ],
"v": ["v", "ѵ", ],
"w": ["w", "ɯ", "ɰ", ],
"x": ["x", "х", "Х", "ӽ", ],
"y": ["y", "ϒ", ],
"z": ["z", "ȥ", "ƶ", ],
}
for character in string:
if character in mapping:
character = random.choice(mapping[character])
result.append(character)
return "".join(result)
class UnicodifyCommand(sublime_plugin.TextCommand):
def run(self, edit):
for selection in self.view.sel():
string = self.view.substr(selection)
self.view.replace(edit, selection, unicodify(string))