This is a *VERY* Rough library for translating binary representations of grade 1 braille into ASCII strings.

Braille_In.cpp

Committer:
aganger3
Date:
2012-10-12
Revision:
7:bd06bf7ddafb
Parent:
4:0ddc5208706e
Child:
8:4e65648a50cd

File content as of revision 7:bd06bf7ddafb:

#include "Braille_In.h"



char* BrailleInput::translateBraille(char* input, int numChars)
{
    
    bool NextCaps=false;
    for (int i=0;i<numChars;i++)
    {
       output[i]=translateBrailleChar(input[i],NextCaps);
    }
    output[numChars+1]='\0';
    return output;
}


char* BrailleInput::translateBraille(const char* input, int numChars)
{
    
    bool NextCaps=false;
    for (int i=0;i<numChars;i++)
    {
       output[i]=translateBrailleChar(input[i],NextCaps);
    }
    output[numChars+1]='\0';
    return output;

}

char BrailleInput::translateBrailleChar(char input, bool& NextCaps)
{
    NextCaps=false;
    char out;
    bool undefined=false;
    
    
    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 0x10:
        out='i';
        break;
    case 0x26:
        out='j';
        break;
    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;
    case 0x37:
        out='u';
        break;
    case 0x39:
        out='v';
        break;
    case 0x58:
        out='w';
        break;
    case 0x45:
        out='x';
        break;
    case 0x61:
        out='y';
        break;
    case 0x53:
        out='z';
        break;
    case 0x38:
        out='?';
        break;
    case 0x50:
        out='.';
        break;
    case 0x22:
        out='!';
        break;
    case 0x18:
        out=':';
        break;
    case 0x6:
        out=';';
        break;
    case 0:
        out=' ';
        break;
    case 0x32:
        out=' ';
        NextCaps=true;
        break;
    
        
    default:
        out=' ';
       }
    
        
        
    
       
         
    if (NextCaps)
    {   
        //out=out-0x20;
        NextCaps=false;
    }
    
    
    if (input== 0x0)
    {
        out=' ';
    }
    
    return out;
    }