This is a *VERY* Rough library for translating binary representations of grade 1 braille into ASCII strings.
Braille_In.cpp
- Committer:
- aganger3
- Date:
- 2012-09-25
- Revision:
- 0:22ca5452cf10
- Child:
- 1:d79dbb617533
File content as of revision 0:22ca5452cf10:
#include "Braille_In.h" char* BrailleInput::translateBraille(char* input, int numChars) { char output[numChars+1]; bool NextCaps=false; for (int i=0;i<numChars;i++) { output[i]=translateBrailleChar(input[i],NextCaps); } return input; } char BrailleInput::translateBrailleChar(char input, bool& NextCaps) { NextCaps=false; char out; bool undefined=false; if (!(input & 0x4)) { switch(input) { case 0x1: out= 'a'; break; case 0x3: out= 'b'; break; case 0x9: out= 'c'; break; case 0x25: out= 'd'; break; case 0x17: out= 'e'; break; case 0x11: out='f'; break; case 0x27: out='g'; break; case 0x19: out='h'; break; case 0x18: out='i'; break; case 0x26: out='j'; break; default: if (input == 0x58){ out = 'w'; } else { out ='a'; undefined=true; } }} else if (input & 0x36){ switch (input) { case 0x37: out='u'; break; case 0x39: out='v'; break; case 0x45: out='x'; break; case 0x61: out='y'; break; case 0x53: out='z'; break; default: out='u'; undefined=true; }} else{ switch(input){ case 0x5: out='k'; break; case 0x7: out='l'; break; case 0x13: out='m'; break; case 0x29: out='n'; break; case 0x21: out='o'; break; case 0x15: out='p'; break; case 0x31: out='q'; break; case 0x23: out='r'; break; case 0x14: out='s'; break; case 0x30: out='t'; break; default: out='k'; undefined=true; }} return out; }