anchor.diff:              begin
                 LeftT := CPx + Obj.HSpaceL;
                 case Obj.VertAlign of
  -                ATop: TopP := Y - YOffset - LR.LineHt + Obj.VSpaceT;
  +                ATop, ANone: TopP := Y - YOffset - LR.LineHt + Obj.VSpaceT;
                   AMiddle: TopP := Y - YOffset - FO.tmHeight div 2 - (ImageHeight - Obj.VSpaceT + Obj.VSpaceB) div 2;
                   ABottom, ABaseline: TopP := Y - YOffset - ImageHeight - Descent - Obj.VSpaceB;
                 else
  
positive.code:           end;
          end;
          case VertAlign of {draw border}
            {ALeft, ARight,} ATop: Rectangle(X, TopY + VSpaceT, X + ImageWidth, TopY + VSpaceT + ImageHeight);
            AMiddle: Rectangle(X, MiddleAlignTop, X + ImageWidth, MiddleAlignTop + ImageHeight);
            ABottom, ABaseline: Rectangle(X, YBaseLine - ImageHeight - VSpaceB, X + ImageWidth, YBaseLine - VSpaceB);
          end;
  
negative.code: 
      TopP := MargArray[TopPos];
      LeftP := MargArray[LeftPos];
      case Positioning of
        PosRelative:
        begin
          if TopP = Auto then
            TopP := 0;
          if LeftP = Auto then
            LeftP := 0;
        end;
  
        PosAbsolute:
        begin
          if TopP = Auto then
            TopP := 0;
          if (LeftP = Auto) then
            if (MargArray[RightPos] <> Auto) and (AutoCount = 0)
            then
              LeftP := AWidth - MargArray[RightPos] - MargArray[Width] - MargArray[MarginRight]
                - MargArray[MarginLeft] - MargArray[PaddingLeft] - MargArray[PaddingRight]
                - MargArray[BorderLeftWidth] - MargArray[BorderRightWidth]
            else
              LeftP := 0;
          X := LeftP;
          Y := TopP + YRef;
        end;
      end;
  
      NewWidth := FindWidth(Canvas, AWidth, AHeight, AutoCount);
  