anchor.diff:  // Increases width of spanned columns relative to difference between min and max widths.
   var
     AddedExcess, AddedDelta, I, Add: Integer;
  +  WidthSum, K, Remaining: Integer;
   begin
     AddedExcess := 0;
     AddedDelta := 0;
  
positive.code:       Untouched := SumOfNotType(WidthType, ColumnSpecs, MinWidths, StartIndex, EndIndex);
        IncreaseWidthsEvenly(WidthType, MaxWidths, StartIndex, EndIndex, CellMax - Untouched, SpannedMax - Untouched, SpannedCounts[WidthType]);
      end;
    end;
  
    procedure IncreaseMinMaxWidthsByMinMaxDelta(WidthType: TWidthType; StartIndex, EndIndex: Integer);
    var
      Deltas: IntArray;
    begin
      Deltas := SubArray(MaxWidths, MinWidths);
      if CellMin > SpannedMin then
        IncreaseWidthsByMinMaxDelta(WidthType, MinWidths, StartIndex, EndIndex, CellMin - SpannedMin, SpannedMax - SpannedMin, SpannedCounts[WidthType], Deltas);
      if CellMax > SpannedMax then
        IncreaseWidthsByMinMaxDelta(WidthType, MaxWidths, StartIndex, EndIndex, CellMax - SpannedMax, SpannedMax - SpannedMin, SpannedCounts[WidthType], Deltas);
    end;
  
  var
  
negative.code: 
    procedure IncreaseMinMaxWidthsEvenly(WidthType: TWidthType; StartIndex, EndIndex: Integer);
    var
      Untouched, I: Integer;
    begin
      if CellMin > SpannedMin then
      begin
  