anchor.diff:    end;
   end;
   
  -procedure TfpgBaseTextEdit.DrawLine(const I, Y: Integer);
  +procedure TfpgBaseTextEdit.DrawLine(const ALineIndex, Y: Integer);
   var
     X: Integer;
     GSz: Integer;
  
positive.code:     procedure   HandleKeyChar(var AText: TfpgChar; var shiftstate: TShiftState; var consumed: boolean); override;
      { -- local widget functions -- }
      procedure   DrawVisible; virtual;
      procedure   DrawLine(const I, Y: Integer); virtual;
      procedure   FormatLine(const I, X, Y: Integer);
      procedure   DrawCaret(const X, Y: Integer); virtual;
      { -- to be published --}
      property    FontDesc: string read GetFontDesc write SetFontDesc;
  
negative.code:         end
          else
          begin
            if (ALineIndex = StartNo) and (ALineIndex < EndNo) then
            begin
              SS := UTF8Copy(S, Si + 1, UTF8Length(S) - Si);
              R.SetRect(X+(Si * FChrW), Y, (UTF8Length(SS) * FChrW), FChrH);
  