anchor.diff:      begin
         TB := MyCell[I];
         if TB.Display <> pdNone then
  -        if TB is TBlock then
  -          if Block.Positioning = posStatic then
  -            break;
  +        if not (TB is TBlock) or ((TBlock(TB).Positioning <> PosAbsolute) and (TBlock(TB).Floating = aNone)) then
  +          break;
         Dec(I);
       end;
   
       if I >= 0 then
  +      if (TB is TBlock) and (Block.Positioning = posStatic) then
       begin
         // collapse block, if it has no bottom padding and no bottom border
         BCD := ConvData(100, 100, Block.EmSize, Block.ExSize, Block.BorderWidth);
  
positive.code:         begin
            BottomMargin := Block.MargArray[MarginBottom];
            Block.MargArray[MarginBottom] := 0;
            MargArray[MarginBottom] := Max(MargArray[MarginBottom], BottomMargin);
          end;
      end;
    end;
  
negative.code:           break;
        Dec(I);
      end;
  
      if OwnerCell.OwnerBlock <> nil then
        Tag := OwnerCell.OwnerBlock.Symbol
      else
  