if(ch<0 || ch>0x7F)
return error(ch, buf, "Can't express character in ASCII");
- buf+=ch;
+ buf += ch;
}
void Ascii::Encoder::transliterate(UnicodeChar ch, string &buf)
{
if(ch>=0xC0 && ch<=0xC5)
- buf+='A';
+ buf += 'A';
else if(ch==0xC6)
- buf+="AE";
+ buf += "AE";
else if(ch==0xC7)
- buf+='C';
+ buf += 'C';
else if(ch>=0xC8 && ch<=0xCB)
- buf+='E';
+ buf += 'E';
else if(ch>=0xCC && ch<=0xCF)
- buf+='I';
+ buf += 'I';
else if(ch==0xD0)
- buf+='D';
+ buf += 'D';
else if(ch==0xD1)
- buf+='N';
+ buf += 'N';
else if((ch>=0xD2 && ch<=0xD7) || ch==0xD9)
- buf+='O';
+ buf += 'O';
else if(ch==0xD8)
- buf+='x';
+ buf += 'x';
else if(ch>=0xDA && ch<=0xDC)
- buf+='U';
+ buf += 'U';
else if(ch==0xDD)
- buf+='Y';
+ buf += 'Y';
else if(ch==0xDE)
- buf+='T';
+ buf += 'T';
else if(ch==0xDF)
- buf+="ss";
+ buf += "ss";
else if(ch>=0xE0 && ch<=0xE5)
- buf+='a';
+ buf += 'a';
else if(ch==0xE6)
- buf+="ae";
+ buf += "ae";
else if(ch==0xE7)
- buf+='c';
+ buf += 'c';
else if(ch>=0xE8 && ch<=0xEB)
- buf+='e';
+ buf += 'e';
else if(ch>=0xEC && ch<=0xEF)
- buf+='i';
+ buf += 'i';
else if(ch==0xF0)
- buf+='d';
+ buf += 'd';
else if(ch==0xF1)
- buf+='n';
+ buf += 'n';
else if((ch>=0xF2 && ch<=0xF7) || ch==0xF9)
- buf+='o';
+ buf += 'o';
else if(ch==0xF8)
- buf+='/';
+ buf += '/';
else if(ch>=0xFA && ch<=0xFC)
- buf+='u';
+ buf += 'u';
else if(ch==0xFD)
- buf+='y';
+ buf += 'y';
else if(ch==0xFE)
- buf+='t';
+ buf += 't';
else if(ch==0xFF)
- buf+='y';
+ buf += 'y';
else
- buf+='?';
+ buf += '?';
}
return error("No input");
else if(*i&0x80)
{
- UnicodeChar result=error("Undefined ASCII character");
+ UnicodeChar result = error("Undefined ASCII character");
++i;
return result;
}