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

Committer:
aganger3
Date:
Tue Sep 25 22:57:22 2012 +0000
Revision:
0:22ca5452cf10
Child:
1:d79dbb617533
Compiles :);

Who changed what in which revision?

UserRevisionLine numberNew contents of line
aganger3 0:22ca5452cf10 1 #include "Braille_In.h"
aganger3 0:22ca5452cf10 2
aganger3 0:22ca5452cf10 3
aganger3 0:22ca5452cf10 4
aganger3 0:22ca5452cf10 5 char* BrailleInput::translateBraille(char* input, int numChars)
aganger3 0:22ca5452cf10 6 {
aganger3 0:22ca5452cf10 7 char output[numChars+1];
aganger3 0:22ca5452cf10 8 bool NextCaps=false;
aganger3 0:22ca5452cf10 9 for (int i=0;i<numChars;i++)
aganger3 0:22ca5452cf10 10 {
aganger3 0:22ca5452cf10 11 output[i]=translateBrailleChar(input[i],NextCaps);
aganger3 0:22ca5452cf10 12 }
aganger3 0:22ca5452cf10 13 return input;
aganger3 0:22ca5452cf10 14 }
aganger3 0:22ca5452cf10 15
aganger3 0:22ca5452cf10 16
aganger3 0:22ca5452cf10 17 char BrailleInput::translateBrailleChar(char input, bool& NextCaps)
aganger3 0:22ca5452cf10 18 {
aganger3 0:22ca5452cf10 19 NextCaps=false;
aganger3 0:22ca5452cf10 20 char out;
aganger3 0:22ca5452cf10 21 bool undefined=false;
aganger3 0:22ca5452cf10 22
aganger3 0:22ca5452cf10 23
aganger3 0:22ca5452cf10 24 if (!(input & 0x4)) {
aganger3 0:22ca5452cf10 25 switch(input) {
aganger3 0:22ca5452cf10 26 case 0x1:
aganger3 0:22ca5452cf10 27 out= 'a';
aganger3 0:22ca5452cf10 28 break;
aganger3 0:22ca5452cf10 29 case 0x3:
aganger3 0:22ca5452cf10 30 out= 'b';
aganger3 0:22ca5452cf10 31 break;
aganger3 0:22ca5452cf10 32 case 0x9:
aganger3 0:22ca5452cf10 33 out= 'c';
aganger3 0:22ca5452cf10 34 break;
aganger3 0:22ca5452cf10 35 case 0x25:
aganger3 0:22ca5452cf10 36 out= 'd';
aganger3 0:22ca5452cf10 37 break;
aganger3 0:22ca5452cf10 38 case 0x17:
aganger3 0:22ca5452cf10 39 out= 'e';
aganger3 0:22ca5452cf10 40 break;
aganger3 0:22ca5452cf10 41 case 0x11:
aganger3 0:22ca5452cf10 42 out='f';
aganger3 0:22ca5452cf10 43 break;
aganger3 0:22ca5452cf10 44 case 0x27:
aganger3 0:22ca5452cf10 45 out='g';
aganger3 0:22ca5452cf10 46 break;
aganger3 0:22ca5452cf10 47 case 0x19:
aganger3 0:22ca5452cf10 48 out='h';
aganger3 0:22ca5452cf10 49 break;
aganger3 0:22ca5452cf10 50 case 0x18:
aganger3 0:22ca5452cf10 51 out='i';
aganger3 0:22ca5452cf10 52 break;
aganger3 0:22ca5452cf10 53 case 0x26:
aganger3 0:22ca5452cf10 54 out='j';
aganger3 0:22ca5452cf10 55 break;
aganger3 0:22ca5452cf10 56 default:
aganger3 0:22ca5452cf10 57 if (input == 0x58){ out = 'w'; } else { out ='a'; undefined=true; }
aganger3 0:22ca5452cf10 58
aganger3 0:22ca5452cf10 59
aganger3 0:22ca5452cf10 60 }}
aganger3 0:22ca5452cf10 61 else if (input & 0x36){
aganger3 0:22ca5452cf10 62 switch (input)
aganger3 0:22ca5452cf10 63 {
aganger3 0:22ca5452cf10 64 case 0x37:
aganger3 0:22ca5452cf10 65 out='u';
aganger3 0:22ca5452cf10 66 break;
aganger3 0:22ca5452cf10 67 case 0x39:
aganger3 0:22ca5452cf10 68 out='v';
aganger3 0:22ca5452cf10 69 break;
aganger3 0:22ca5452cf10 70 case 0x45:
aganger3 0:22ca5452cf10 71 out='x';
aganger3 0:22ca5452cf10 72 break;
aganger3 0:22ca5452cf10 73 case 0x61:
aganger3 0:22ca5452cf10 74 out='y';
aganger3 0:22ca5452cf10 75 break;
aganger3 0:22ca5452cf10 76 case 0x53:
aganger3 0:22ca5452cf10 77 out='z';
aganger3 0:22ca5452cf10 78 break;
aganger3 0:22ca5452cf10 79 default:
aganger3 0:22ca5452cf10 80 out='u'; undefined=true;
aganger3 0:22ca5452cf10 81 }} else{
aganger3 0:22ca5452cf10 82 switch(input){
aganger3 0:22ca5452cf10 83 case 0x5:
aganger3 0:22ca5452cf10 84 out='k';
aganger3 0:22ca5452cf10 85 break;
aganger3 0:22ca5452cf10 86 case 0x7:
aganger3 0:22ca5452cf10 87 out='l';
aganger3 0:22ca5452cf10 88 break;
aganger3 0:22ca5452cf10 89 case 0x13:
aganger3 0:22ca5452cf10 90 out='m';
aganger3 0:22ca5452cf10 91 break;
aganger3 0:22ca5452cf10 92 case 0x29:
aganger3 0:22ca5452cf10 93 out='n';
aganger3 0:22ca5452cf10 94 break;
aganger3 0:22ca5452cf10 95 case 0x21:
aganger3 0:22ca5452cf10 96 out='o';
aganger3 0:22ca5452cf10 97 break;
aganger3 0:22ca5452cf10 98 case 0x15:
aganger3 0:22ca5452cf10 99 out='p';
aganger3 0:22ca5452cf10 100 break;
aganger3 0:22ca5452cf10 101 case 0x31:
aganger3 0:22ca5452cf10 102 out='q';
aganger3 0:22ca5452cf10 103 break;
aganger3 0:22ca5452cf10 104 case 0x23:
aganger3 0:22ca5452cf10 105 out='r';
aganger3 0:22ca5452cf10 106 break;
aganger3 0:22ca5452cf10 107 case 0x14:
aganger3 0:22ca5452cf10 108 out='s';
aganger3 0:22ca5452cf10 109 break;
aganger3 0:22ca5452cf10 110 case 0x30:
aganger3 0:22ca5452cf10 111 out='t';
aganger3 0:22ca5452cf10 112 break;
aganger3 0:22ca5452cf10 113 default:
aganger3 0:22ca5452cf10 114 out='k'; undefined=true;
aganger3 0:22ca5452cf10 115 }}
aganger3 0:22ca5452cf10 116
aganger3 0:22ca5452cf10 117
aganger3 0:22ca5452cf10 118
aganger3 0:22ca5452cf10 119 return out;
aganger3 0:22ca5452cf10 120 }
aganger3 0:22ca5452cf10 121
aganger3 0:22ca5452cf10 122
aganger3 0:22ca5452cf10 123
aganger3 0:22ca5452cf10 124
aganger3 0:22ca5452cf10 125
aganger3 0:22ca5452cf10 126
aganger3 0:22ca5452cf10 127
aganger3 0:22ca5452cf10 128
aganger3 0:22ca5452cf10 129
aganger3 0:22ca5452cf10 130
aganger3 0:22ca5452cf10 131
aganger3 0:22ca5452cf10 132
aganger3 0:22ca5452cf10 133
aganger3 0:22ca5452cf10 134
aganger3 0:22ca5452cf10 135
aganger3 0:22ca5452cf10 136