diff --git a/bin/superscript b/bin/superscript new file mode 100755 index 0000000..edd29a4 --- /dev/null +++ b/bin/superscript @@ -0,0 +1,82 @@ +#!/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))