anchor.diff:        MinWidth := Sum(Widths);
   
         if MinWidth > NewWidth then
  -        // Table is too small for given precentage specifications.
  +        // Table is too small for given percentage specifications.
           // Shrink percentage columns to fit exactly into NewWidth. All other columns are at minimum.
           IncreaseWidths(wtPercent, MinWidth, NewWidth, Counts[wtPercent])
         else if not Specified and (MaxWidth <= NewWidth) then
  
positive.code:     if not HasCaption then {already done if HasCaption}
      begin
        if AsPercent then
        begin
          Result := MulDiv(AWidth, WidthAttr, 1000);
          Dec(Result, (LeftSide + RightSide));
        end
        else
          Result := WidthAttr - (MargArray[PaddingLeft] + MargArray[BorderLeftWidth]
            + MargArray[PaddingRight] + MargArray[BorderRightWidth]);
        Table.tblWidthAttr := Result;
        Table.MinMaxWidth(Canvas, Min, Max);
        Result := Math.Max(Min, Result);
        Table.tblWidthAttr := Result;
      end
      else
        Result := Table.tblWidthAttr;
    end
    else
    begin
      Table.MinMaxWidth(Canvas, Min, Max);
      Result := AWidth - LeftSide - RightSide;
      if Result > Max then
        Result := Max
      else if Result < Min then
  
negative.code: function TTableBlock.FindWidth(Canvas: TCanvas; AWidth, AHeight, AutoCount: Integer): Integer;
  var
    LeftSide, RightSide: Integer;
    Min, Max, M, P: Integer;
  begin
    if not HasCaption then
    begin
  