      function AtStart(i, text) {
        return ((i == 0) || (text.charAt(i-1) == ' '));
      }

      function PrevChar(i, text) {
        if (AtStart(i, text)) {
          return "";
        }
        return text.charAt(i-1);
      }

      function IsVowel(c) {
        return c==cap_a || c==cap_ye || c==cap_ee || c==cap_o || c==cap_u ||
               c==cap_yeru || c==cap_e || c==cap_yu || c==cap_ya;
      }

      function DisplayEnglish(dialect, text) {
//        dialect 0 = 16-bit unicode
//        dialect 1 = &# notation for unicode

        var result = "";
        for (var i=0; i<text.length; i++) {
          var charCode = 0;
          var lowerCase = false;

          if (dialect == 0) { // charcode is the code value of the unicode character
            charCode = text.charCodeAt(i);
          } else if (text.substr(i,2) != "&#") {
            result += text.charAt(i);
            continue;  
          } else { // charcode is found inside the &# notation
            i += 2;
            while (true) {
              var c = text.substr(i,1);
              if (c == ";") {
                break;
              }
              charCode = 10*charCode + (c-'0');
              i++;
            }
          }

          if (charCode >= 1072 && charCode <= 1103) {
            lowerCase = true;
            charCode -= 32;
          }
          var russianLetter = "&#" + charCode + ";";
          var englishLetter = '';
          if (russianLetter == cap_a) {
            englishLetter = 'A';
          } else if (russianLetter == cap_be) {
            englishLetter = 'B';
          } else if (russianLetter == cap_ve) {
            englishLetter = 'V';
          } else if (russianLetter == cap_ge) {
            englishLetter = 'G';
          } else if (russianLetter == cap_de) {
            englishLetter = 'D';
          } else if (russianLetter == cap_ye) {
            if (AtStart(i, text) || IsVowel(PrevChar(i, text)) ||
                PrevChar(i, text) == cap_hard || PrevChar(i, text) == cap_soft) {
              englishLetter = 'Ye';
            } else {
              englishLetter = 'E';
            }
          } else if (russianLetter == cap_zhe) {
            englishLetter = 'Zh';
          } else if (russianLetter == cap_ze) {
            englishLetter = 'Z';
          } else if (russianLetter == cap_ee) {
            englishLetter = 'I';
          } else if (russianLetter == cap_i) {
            englishLetter = 'Y'; // J ???
          } else if (russianLetter == cap_ka) {
            englishLetter = 'K';
          } else if (russianLetter == cap_el) {
            englishLetter = 'L';
          } else if (russianLetter == cap_em) {
            englishLetter = 'M';
          } else if (russianLetter == cap_en) {
            englishLetter = 'N';
          } else if (russianLetter == cap_o) {
            englishLetter = 'O';
          } else if (russianLetter == cap_pe) {
            englishLetter = 'P';
          } else if (russianLetter == cap_er) {
            englishLetter = 'R';
          } else if (russianLetter == cap_es) {
            englishLetter = 'S';
          } else if (russianLetter == cap_te) {
            englishLetter = 'T';
          } else if (russianLetter == cap_u) {
            englishLetter = 'U';
          } else if (russianLetter == cap_ef) {
            englishLetter = 'F';
          } else if (russianLetter == cap_kha) {
            englishLetter = 'Kh';
          } else if (russianLetter == cap_tse) {
            englishLetter = 'Ts';
          } else if (russianLetter == cap_che) {
            englishLetter = 'Ch';
          } else if (russianLetter == cap_sha) {
            englishLetter = 'Sh';
          } else if (russianLetter == cap_shcha) {
            englishLetter = 'Shch';
          } else if (russianLetter == cap_soft) {
            englishLetter = "'";
          } else if (russianLetter == cap_yeru) {
            englishLetter = 'Y';
          } else if (russianLetter == cap_hard) {
            englishLetter = '"';
          } else if (russianLetter == cap_e) {
            englishLetter = 'E';
          } else if (russianLetter == cap_yu) {
            englishLetter = 'Yu';
          } else if (russianLetter == cap_ya) {
            englishLetter = 'Ya';
          } else if (russianLetter == cap_yo) {
            englishLetter = 'Yo';
          } else if (russianLetter == BLANK) {
            englishLetter = ' ';
          }
          if (lowerCase) {
            englishLetter = englishLetter.toLowerCase();
          }
          result += englishLetter;
        }
        return result;
      }
