anchor.diff:          Draw(FGutterWidth, pt.Y, bmp2);
           Brush.Color := clBtnFace;
         end;
  +      {$ENDIF}
         r := Rect(0, pt.y, FGutterWidth-10, pt.y+lh);
         l := format('%10d', [offset+1]);
         DrawText(Handle, PChar(l), Length(l), r, DT_NOCLIP or DT_RIGHT or DT_SINGLELINE);
         DrawText(Handle, PChar(l), Length(l), r, DT_NOCLIP or DT_RIGHT or DT_SINGLELINE or DT_CALCRECT);
         FillRect(Rect(0, r.Bottom, FGutterWidth-10, height));
  +
  +      {$IFDEF HIGHLIGHT_TOKEN}
  +      if (IsHighlighted(offset)) then begin
  +        Font.Name := 'Marlett';
  +        Font.Size := 12;
  +        Font.Color := fhighlightcolor;
  +        l := '4';
  +        SetBkMode(Handle, TRANSPARENT);
  +        r.Left := FGutterWidth-15;
  +        DrawText(Handle, PChar(l), Length(l), r, DT_NOCLIP or DT_SINGLELINE);
  +        SetBkMode(Handle, OPAQUE);
  +        Font.Name := 'Courier New';
  +        Font.Size := 8;
  +        Font.Color := clWindowText;
  +      end;
  +      {$ENDIF}
       end
       else if (lines.Count = 0) then begin
         FillRect(Rect(0, 0, FGutterWidth-10, height));
  
positive.code:       pt := pt2;
      end;
      if (offset = lines.Count-1) then begin   // bottom part
        Perform(EM_POSFROMCHAR, Integer(@pt2), Perform(EM_LINEINDEX, offset+1, 0));
        if (IsHighlighted(offset)) then begin
          bmp.Canvas.FillRect(Rect(0, 0, ClientWidth, pt2.Y-pt.Y));
          bmp.Height := pt2.Y-pt.Y;
  
negative.code: implementation
  
  uses
    Forms, Math;
  
  const
    RichEditModuleName = 'RICHED20.DLL';
  