0

So I'm trying to use Liblouis*, namely the lou_translate function, in a C program to translate Grade 2 Braille, but I've noticed a discrepancy and I'm hoping someone can help explain it.

Firstly, the lou_translate function takes an ASCII sentence and translates it into proper Braille ASCII. I.e. words that end in -ing, the 'ing' is replaced with '+'; ding = d+

But for certain contractions, like -er, lou_translate doesn't translate the 'er' into ']' like Braille ASCII tables state, but instead translate 'er' to '}'.

Why does this happen and how can I fix it?

Online Braille Translator with same problem

Braille ASCII Chart

elrobe
  • 555
  • 2
  • 16

1 Answers1

0

I found the reason is because of the Liblouis* translation tables. For American English, the non-alphabetic character mappings are stored in us-table.dis while the alphabetic character mappings are stored in latinLetterDef6Dots.uti.

As for the '}' versus ']' according to the standard for Braille ASCII, I'm not sure. BUT, in the table we can see:

...
display } 12456
display ] 124567
...

Here we can tell that the ']' character uses a 7th dot, while '}' only uses dots 1, 2, 4, 5, 6, according to the standard positions of a 6-dot braille character.

Though the Liblouis* tables don't match Braille ASCII, obviously they can be changed, or the Liblouis* standard character mappings can just be used.

elrobe
  • 555
  • 2
  • 16