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:
8:4e65648a50cd
Parent:
7:bd06bf7ddafb
Child:
9:cc189ce99a98

File content as of revision 8:4e65648a50cd:

#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  1:
        out='a';
        break;
    case  3:
        out='b';
        break;
    case  9:
        out='c';
        break;
    case  25:
        out='d';
        break;
    case  17:
        out='e';
        break;
    case  11:
        out='f';
        break;
    case  27:
        out='g';
        break;
    case  19:
        out='h';
        break;
    case  10:
        out='i';
        break;
    case  26:
        out='j';
        break;
    case  5:
        out='k';
        break;
    case  7:
        out='l';
        break;
    case  13:
        out='m';
        break;
    case  29:
        out='n';
        break;
    case  21:
        out='o';
        break;
    case  15:
        out='p';
        break;
    case  31:
        out='q';
        break;
    case  23:
        out='r';
        break;
    case  14:
        out='s';
        break;
    case  30:
        out='t';
        break;
    case  37:
        out='u';
        break;
    case  39:
        out='v';
        break;
    case  58:
        out='w';
        break;
    case  45:
        out='x';
        break;
    case  61:
        out='y';
        break;
    case  53:
        out='z';
        break;
    case  38:
        out='?';
        break;
    case  50:
        out='.';
        break;
    case  22:
        out='!';
        break;
    case  18:
        out=':';
        break;
    case  6:
        out=';';
        break;
    case 0:
        out=' ';
        break;
    case  32:
        out=' ';
        NextCaps=true;
        break;
    
        
    default:
        out=' ';
       }
    
        
        
    
       
         
    if (NextCaps)
    {   

        //out=out-0x20;
        NextCaps=false;
    }
    
    
    if (input== 0x0)
    {
        out=' ';
    }
    
    return out;
    }