anchor.diff:  
     if FSelected then
     begin
  -    Canvas.TextColor := clWhite;
  -    Canvas.Color :=  fpgColorToRGB(clSelection);
       if (ALineIndex > StartNo) and (ALineIndex < EndNo) then     // whole line is selected
       begin
         R.SetRect(X, Y, UTF8Length(S) * FChrW, FChrH);
  +      Canvas.TextColor := clWhite;
  +      Canvas.Color := fpgColorToRGB(clSelection);
         Canvas.FillRectangle(R);
         Canvas.DrawText(R, S);
       end
  
positive.code:         else
            SS := UTF8Copy(S, Si + 1, Ei - Si);
          R.SetRect(X+(Si * FChrW), Y, (UTF8Length(SS) * FChrW), FChrH);
          Canvas.FillRectangle(R);
          Canvas.DrawText(R, SS);
        end
  
negative.code:               Ei := UTF8Length(S);
              SS := UTF8Copy(S, 1, Ei);
              R.SetRect(X, Y, (UTF8Length(SS) * FChrW), FChrH);
              Canvas.TextColor := clWhite;
              Canvas.Color := fpgColorToRGB(clSelection);
              Canvas.FillRectangle(R);
              Canvas.DrawText(R, SS);
            end;
  