anchor.diff:    i: integer;
   begin
     prevval   := FText;
  -  if FSpecialChar> -1 then
  -  begin
  -    case FSpecialChar of
  -      58536:
  -        case AText of
  -          'a':
  -            AText:= 'â';
  -          'e':
  -            AText:= 'ë';
  -          'i':
  -            AText:= 'ï';
  -          'o':
  -            AText:= 'ö';
  -          'u':
  -            AText:= 'ü';
  -        end;
  -      58462:
  -        case AText of
  -          'a':
  -            AText:= 'â';
  -          'e':
  -            AText:= 'ê';
  -          'i':
  -            AText:= 'î';
  -          'o':
  -            AText:= 'ô';
  -          'u':
  -            AText:= 'û';
  -        end;
  -    end;
  -    FSpecialChar:= -1;
  -  end;
     s         := AText;
     consumed  := False;
     if FText = '' then
  
positive.code:   i: integer;
  begin
    hasChanged := False;
  
    if (keycode= 58536) or (keycode= 58462) then
      FSpecialChar:= keycode;
  
    if not Enabled then
      consumed := False
  
negative.code:     FSelStart: integer;
      FSelOffset: integer;
      FCursorPos: integer;
      procedure   DoDropDown; override;
      function    GetText: string; virtual;
      function    HasText: boolean; virtual;
  