function ff_impString(text)
{
    var str = '';
    var ss = 0;
    var s;
    var tl = text.length;
    var hexdigs = "0123456789abcdefABCDEF";
    while (ss < tl) {
        s = text.charAt(ss++);
        if (s == '\\') {
            if (ss < tl) s = text.charAt(ss++); else s = 0;
            switch (s) {
                case 0   : break;
                case 'e' : str += '\33'; break;
                case 't' : str += '\t'; break;
                case 'r' : str += '\r'; break;
                case 'n' : str += '\n'; break;
                case 'f' : str += '\f'; break;
                case 'x' : {
                    if (ss < tl) s = text.charAt(ss++); else s = 0;
                    var ch = '';
                    while (hexdigs.indexOf(s)>=0 && ch.length < 2) {
                        ch += s;
                        if (ss < tl) s = text.charAt(ss++); else s = 0;
                    } // while
                    while (ch.length < 2) ch = '0'+ch;
                    str += unescape('%'+ch);
                    if (s) ss--;
                    break;
                }
                default:
                    str += s;
            } // switch
        } else
            str += s;
    } // while
    return str;
} // impString