anchor.diff:          end
           else if RunLength = ceHorizontal then begin
             //two passes: black and then white
  -          if FIsWhite then
  -            RunLength := FindWhiteCode
  -          else
  -            RunLength := FindBlackCode;
  +          RunLength:=FindRunLength;
             FillRun(RunLength);
             inc(fBitPos, RunLength);
   
  
positive.code:       FIsWhite := True;
        // decode one line
        repeat
          if FIsWhite then
            RunLength := FindWhiteCode
          else
            RunLength := FindBlackCode;
          //populating array for 2D compression (if needed)
          if ((FOptions and 1) <> 0) then begin
            inc(fBitPos, RunLength);
  
negative.code:     procedure ReverseBits(Source: Pointer; PackedSize: Integer);
      function FillRun(RunLength: Cardinal): Boolean;
      function DoFiniteStateMachine(const states: TStateArray): Integer;
      function FindRunLength: Integer;
      function Find2DCode:    Integer;
      function NextBit: Boolean;
  
  