diff options
Diffstat (limited to 'share/extensions/text_braille.py')
-rwxr-xr-x | share/extensions/text_braille.py | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/share/extensions/text_braille.py b/share/extensions/text_braille.py new file mode 100755 index 0000000..67d5b10 --- /dev/null +++ b/share/extensions/text_braille.py @@ -0,0 +1,22 @@ +#!/usr/bin/env python +"""Convert the text to braille text""" + +import inkex + +# https://en.wikipedia.org/wiki/Braille_ASCII#Braille_ASCII_values +U2801_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 = U2801_MAP.index(char.upper()) + except ValueError: + return char + return chr(mapint + 0x2801) + +if __name__ == '__main__': + Braille().run() |