Friday, May 3, 2013

A FOSS Devanagari to Bharati Braille Converter

Almost a year ago, I worked with Pooja on transliterating a Hindi poem to Bharati Braille for a Type installation at Amar Jyoti School; an institute for the visually-impaired in Delhi. You can read more about that on her blog post about it. While working on that, we were surprised to discover that there were no free (or open source) tools to do the conversion! All we could find were expensive proprietary software, or horribly wrong websites. We had to sit down and manually transliterate each character while keeping in mind the idiosyncrasies of the conversion.

Now, like all programmers who love what they do, I have an urge to reduce the amount of drudgery and repetitive work in my life with automation ;). In addition, we both felt that a free tool to do such a transliteration would be useful for those who work in this field. And so, we decided to work on a website to convert from Devanagari (Hindi & Marathi) to Bharati Braille.

Now, after tons of research and design/coding work, we are proud to announce the first release of our Devanagari to Bharati Braille converter! You can read more about the converter here, and download the source code on Github.

If you know anyone who might find this useful, please tell them about it!

3 comments:

KGB said...

Good stuff!

Eitan said...

This is very cool. Have you checkout out liblouis? It has translation tables for different languages (and different grades). Orca, the GNOME screen reader, and NVDA a free Windows screen reader use it. It is not perfect by any means, but it is what is available today. If it doesn't do Bharati already, it should!

Nirbheek said...

@Kalapi, glad you liked it!

@Eitan, hello!

We've looked into liblouis—they claim to support Indic languages, but they don't do the translation well. At least for Devanagari, the mappings are incomplete, and from what we can make out, it's likely that some of the corner cases can't even be encoded into their tables.

Indic languages have a large character set which needs to be compressed into the small character space of 6-dot-braille. As a result, the transliteration rules are quite complicated compared to Latin, and very different when compared to mathematical conversion.

We would absolutely love it if someone could prove us wrong about this, though!

Our project is also about providing a comprehensive online reference for the transliteration rules for Bharati Braille, so someone more familiar with liblouis can read up on our documentation + code, and add support to liblouis if they can. The website serves as a “reference implementation” so that even non-native speakers could easily work on this.

Cheers!