Skip to content

Commit 64d2dd8

Browse files
added subscript convertion script
1 parent e794bf9 commit 64d2dd8

File tree

1 file changed

+131
-0
lines changed

1 file changed

+131
-0
lines changed

convert_subscript.py

+131
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,131 @@
1+
SUBSCRIPTS: dict[str, str] = {
2+
"0": "₀",
3+
"1": "₁",
4+
"2": "₂",
5+
"3": "₃",
6+
"4": "₄",
7+
"5": "₅",
8+
"6": "₆",
9+
"7": "₇",
10+
"8": "₈",
11+
"9": "₉",
12+
"+": "₊",
13+
"-": "₋",
14+
"=": "₌",
15+
"(": "₍",
16+
")": "₎",
17+
# lowercase letters
18+
"a": "ₐ",
19+
# "b": None,
20+
# "c": None,
21+
# "d": None,
22+
"e": "ₑ",
23+
# "f": None,
24+
# "g": None,
25+
"h": "ₕ",
26+
"i": "ᵢ",
27+
"j": "ⱼ",
28+
"k": "ₖ",
29+
"l": "ₗ",
30+
"m": "ₘ",
31+
"n": "ₙ",
32+
"o": "ₒ",
33+
"p": "ₚ",
34+
# "q": None,
35+
"r": "ᵣ",
36+
"s": "ₛ",
37+
"t": "ₜ",
38+
"u": "ᵤ",
39+
"v": "ᵥ",
40+
# "w": None,
41+
"x": "ₓ",
42+
# "y": None,
43+
# "z": None,
44+
}
45+
46+
47+
SUPERSCRIPTS: dict[str, str] = {
48+
"0": "⁰",
49+
"1": "¹",
50+
"2": "²",
51+
"3": "³",
52+
"4": "⁴",
53+
"5": "⁵",
54+
"6": "⁶",
55+
"7": "⁷",
56+
"8": "⁸",
57+
"9": "⁹",
58+
"+": "⁺",
59+
"-": "⁻",
60+
"=": "⁼",
61+
"(": "⁽",
62+
")": "⁾",
63+
# lowercase letters
64+
"a": "ᵃ",
65+
"b": "ᵇ",
66+
"c": "ᶜ",
67+
"d": "ᵈ",
68+
"e": "ᵉ",
69+
"f": "ᶠ",
70+
"g": "ᵍ",
71+
"h": "ʰ",
72+
"i": "ⁱ",
73+
"j": "ʲ",
74+
"k": "ᵏ",
75+
"l": "ˡ",
76+
"m": "ᵐ",
77+
"n": "ⁿ",
78+
"o": "ᵒ",
79+
"p": "ᵖ",
80+
# "q": None,
81+
"r": "ʳ",
82+
"s": "ˢ",
83+
"t": "ᵗ",
84+
"u": "ᵘ",
85+
"v": "ᵛ",
86+
"w": "ʷ",
87+
"x": "ˣ",
88+
"y": "ʸ",
89+
"z": "ᶻ",
90+
# uppercase letters
91+
"A": "ᴬ",
92+
"B": "ᴮ",
93+
# "C": None,
94+
"D": "ᴰ",
95+
"E": "ᴱ",
96+
# "F": None,
97+
"G": "ᴳ",
98+
"H": "ᴴ",
99+
"I": "ᴵ",
100+
"J": "ᴶ",
101+
"K": "ᴷ",
102+
"L": "ᴸ",
103+
"M": "ᴹ",
104+
"N": "ᴺ",
105+
"O": "ᴼ",
106+
"P": "ᴾ",
107+
# "Q": None,
108+
"R": "ᴿ",
109+
# "S": None,
110+
"T": "ᵀ",
111+
"U": "ᵁ",
112+
"V": "ⱽ",
113+
"W": "ᵂ",
114+
# "X": None,
115+
# "Y": None,
116+
# "Z": None,
117+
}
118+
119+
120+
def to_subscript(s: str) -> str:
121+
try:
122+
return "".join(SUBSCRIPTS[c] for c in s)
123+
except KeyError:
124+
return s
125+
126+
127+
def to_superscript(s: str) -> str:
128+
try:
129+
return "".join(SUPERSCRIPTS[c] for c in s)
130+
except KeyError:
131+
return s

0 commit comments

Comments
 (0)