diff options
Diffstat (limited to 'share/extensions/text_braille.py')
-rwxr-xr-x | share/extensions/text_braille.py | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/share/extensions/text_braille.py b/share/extensions/text_braille.py new file mode 100755 index 0000000..1ce2bdd --- /dev/null +++ b/share/extensions/text_braille.py @@ -0,0 +1,25 @@ +#!/usr/bin/env python +"""Convert the text to braille text""" + +import inkex + +# https://en.wikipedia.org/wiki/Braille_ASCII#Braille_ASCII_values +U2800_MAP = " A1B'K2L@CIF/MSP\"E3H9O6R^DJG>NTQ,*5<-U8V.%[$+X!&;:4\\0Z7(_?W]#Y)=" + + +class Braille(inkex.TextExtension): + """Convert to ASCII Braille""" + + @staticmethod + def map_char(char): + """Map a single letter to braille""" + assert isinstance(char, str) + try: + mapint = U2800_MAP.index(char.upper()) + except ValueError: + return char + return chr(mapint + 0x2800) + + +if __name__ == "__main__": + Braille().run() |