return Utilities.getTabbedTextWidth(buffer, metrics, 0, this,
return Utilities.getTabbedTextWidth(buffer, metrics, tabBase, this,
  private int getLineLength(int line)  {    Element lineEl = getElement().getElement(line);    Segment buffer = getLineBuffer();    try      {        Document doc = getDocument();        doc.getText(lineEl.getStartOffset(),                    lineEl.getEndOffset() - lineEl.getStartOffset() - 1,                    buffer);      }    catch (BadLocationException ex)      {        AssertionError err = new AssertionError("Unexpected bad location");        err.initCause(ex);        throw err;      }    return Utilities.getTabbedTextWidth(buffer, metrics, 0, this,                                        lineEl.getStartOffset());  }