anchor.diff:   Rows is number rows in table.
    AHeight is for calculating percentage heights}
   var
  -  I, J, Dummy: Integer;
  +  I, Dummy: Integer;
     DummyCurs, GuessHt: Integer;
     CellObj: TCellObj;
   begin
  
positive.code:       with CellObj do
          if ColSpan > 0 then {skip the dummy cells}
          begin
            Wd := 0;
            for J := I to ColSpan + I - 1 do
              Inc(FWd, Widths[J]); {accumulate column widths}
            if Span = RowSpan then
            begin
              Dummy := 0;
  
negative.code:       // Table fits into NewWidth.
  
        // Calculate widths with respect to percentage specifications.
        Counts[wtPercent] := 0;
        for I := 0 to NumCols - 1 do
        begin
          wt := ColumnSpecs[I];
          case wt of
            wtPercent:
            begin
              Widths[I] := Max(MinWidths[I], MulDiv(NewWidth, Percents[I], 1000));
              Inc(Counts[wtPercent]);
            end;
          else
            Widths[I] := MinWidths[I];
          end;
  