public StringBuffer startTable(StringBuffer org, MutableAttributeSet attrSet) {
        originalBuffer = org;
        ret = new StringBuffer();

        tblno = tblcnt++;
        tc = ""+(char)('a'+(tblno/(26*26)))+
              (char)((tblno/26)+'a')+
              (char)((tblno%26)+'a');

        String val = (String)attrSet.getAttribute(HTML.Attribute.BORDER);
        border = false;
        if( val != null ) {
            border = true;
            bordwid = 2;
            if( val.equals("") == false ) {
                try {
                    bordwid = Integer.parseInt( val );
                } catch( Exception ex ) {
                }
                if( bordwid == 0 )
                    border = false;
            }
        }
        String bgcolor = (String)attrSet.getAttribute(HTML.Attribute.BGCOLOR);
        if (bgcolor != null) {
            try {
                if (bgcolor.length() != 7 && bgcolor.charAt(0) == '#')
                    throw new NumberFormatException();
                red   = Integer.decode("#"+bgcolor.substring(1,3)).doubleValue();
                blue  = Integer.decode("#"+bgcolor.substring(3,5)).doubleValue();
                green = Integer.decode("#"+bgcolor.substring(5,7)).doubleValue();
                red   /= 255.0;
                blue  /= 255.0;
                green /= 255.0;
            } catch (NumberFormatException e) {
                red   = 1.0;
                blue  = 1.0;
                green = 1.0;
            }
        }

        return ret;
    }