anchor.diff:        ABottom, ABaseline: YIndent := Tmp;
       end;
       Dummy := 0;
  -    Cell.DoLogic(Canvas, Y + PadTop + BrdTop + CellSpacing + YIndent, Wd - (HzSpace + CellSpacing),
  +    Cell.DoLogic(Canvas, Y + FPad.Top + FBrd.Top + CellSpacing + YIndent, Wd - (HzSpace + CellSpacing),
         Ht - VrSpace - CellSpacing, 0, Dummy, Curs);
     end;
     if Assigned(BGImage) and Cell.MasterList.ShowImages then
  
positive.code:     //property AsPercent: TWidthType read  write ; {it's a percent}
      //property SpecHtPercent: Integer read  write ;
      //property WidthAttr: Integer read  write ; {Width attribute (percentage or absolute)}
      property Brd: TRect read FBrd write FBrd; //Top, BrdRight, BrdBottom, BrdLeft: Integer;
      property BrdBottom: Integer read FBrd.Bottom write FBrd.Bottom;
      property BrdLeft: Integer read FBrd.Left write FBrd.Left;
      property BrdRight: Integer read FBrd.Right write FBrd.Right;
      property BrdTop: Integer read FBrd.Top write FBrd.Top;
      property Cell: TCellObjCell read FCell;
      property ColSpan: Integer read FColSpan write FColSpan; {column and row spans for this cell}
      property EmSize: Integer read FEmSize write FEmSize;
  
negative.code:   inherited Destroy;
  end;
  
  //-- BG ---------------------------------------------------------- 08.01.2012 --
  function TCellObj.getBorderBottom: Integer;
  begin
    Result := FBrd.Bottom;
  end;
  
  //-- BG ---------------------------------------------------------- 08.01.2012 --
  function TCellObj.getBorderLeft: Integer;
  begin
    Result := FBrd.Left;
  end;
  
  //-- BG ---------------------------------------------------------- 08.01.2012 --
  function TCellObj.getBorderRight: Integer;
  begin
    Result := FBrd.Right;
  end;
  
  //-- BG ---------------------------------------------------------- 08.01.2012 --
  function TCellObj.getBorderTop: Integer;
  begin
    Result := FBrd.Top;
  end;
  
  //-- BG ---------------------------------------------------------- 08.01.2012 --
  function TCellObj.getPaddingBottom: Integer;
  begin
    Result := FPad.Bottom;
  end;
  
  //-- BG ---------------------------------------------------------- 08.01.2012 --
  function TCellObj.getPaddingLeft: Integer;
  begin
    Result := FPad.Left;
  end;
  
  //-- BG ---------------------------------------------------------- 08.01.2012 --
  function TCellObj.getPaddingRight: Integer;
  begin
    Result := FPad.Right;
  end;
  
  //-- BG ---------------------------------------------------------- 08.01.2012 --
  function TCellObj.getPaddingTop: Integer;
  begin
    Result := FPad.Top;
  end;
  
  {----------------TCellObj.InitializeCell}
  
  procedure TCellObj.Initialize(TablePadding: Integer; const BkImageName: ThtString;
    const APRec: PtPositionRec; Border: boolean);
  begin
    if FPad.Top < 0 then
      FPad.Top := TablePadding;
    if FPad.Right < 0 then
      FPad.Right := TablePadding;
    if FPad.Bottom < 0 then
      FPad.Bottom := TablePadding;
    if FPad.Left < 0 then
      FPad.Left := TablePadding;
    if Border and (BorderStyle = bssNone) then
    begin
      FBrd.Left := Max(1, FBrd.Left);
      FBrd.Right := Max(1, FBrd.Right);
      FBrd.Top := Max(1, FBrd.Top);
      FBrd.Bottom := Max(1, FBrd.Bottom);
    end;
    HzSpace := FPad.Left + FBrd.Left + FBrd.Right + FPad.Right;
    VrSpace := FPad.Top + FBrd.Top + FBrd.Bottom + FPad.Bottom;
  
    if (BkImageName <> '') and not Assigned(BGImage) then
    begin
  