dotfiles/bin/superscript
zendesk-acicchetti c2c938aceb superscript
2021-08-20 11:11:45 -04:00

82 lines
1.4 KiB
Python
Executable file

#!/usr/bin/env python3
import argparse
SUPERSCRIPTS = {
' ': ' ',
'0': '',
'1': '¹',
'2': '²',
'3': '³',
'4': '',
'5': '',
'6': '',
'7': '',
'8': '',
'9': '',
'+': '',
'-': '',
'a': '',
'b': '',
'c': '',
'd': '',
'e': '',
'f': '',
'g': '',
'h': 'ʰ',
'i': '',
'j': 'ʲ',
'k': '',
'l': 'ˡ',
'm': '',
'n': '',
'o': '',
'p': '',
'r': 'ʳ',
's': 'ˢ',
't': '',
'u': '',
'v': '',
'w': 'ʷ',
'x': 'ˣ',
'y': 'ʸ',
'z': '',
'A': '',
'B': '',
'C': '',
'D': '',
'E': '',
'F': '',
'G': '',
'H': '',
'I': '',
'J': '',
'K': '',
'L': '',
'M': '',
'N': '',
'O': '',
'P': '',
'Q': '',
'R': 'ᴿ',
'S': 'ˢ',
'T': '',
'U': '',
'V': '',
'W': '',
'X': 'ˣ',
'Y': 'ʸ',
'Z': '',
}
def convert_str(s: str) -> str:
return "".join([SUPERSCRIPTS.get(c, c) for c in s])
def convert(s: list[str]) -> str:
return " ".join([convert_str(word) for word in s])
if __name__ == "__main__":
parser = argparse.ArgumentParser(description='Superscript some chars')
parser.add_argument('string', metavar='N', type=str, nargs='+',
help='str')
string_to_convert = parser.parse_args().string
print(convert(string_to_convert))