anchor.diff:    AnsiLineFeed       = AnsiChar(#10);
     AnsiCarriageReturn = AnsiChar(#13);
     AnsiCrLf           = AnsiString(#13#10);
  -  WordBreakString = ',.;:"`^!?&$@%#~[](){}<>-=+*/\| ';
  +  WordBreakString = ',.;:"�`�^!?&$@�%#~[](){}<>-=+*/\| ';
   
   (* returns the System ImageList index of the icon of a given file *)
   function GetIconIndexFromFile(const AFileName: string;
  
positive.code:   end;
  
    function NewTimer(Interval: Cardinal): ITimer;
  
  Var
    StopWatch : TStopWatch;
  
negative.code:    Result := MulDiv(ASize, 96, FCurrentPPI);
  end;
  
  type
    TObjectHandle<T: class> = class(TInterfacedObject, TFunc<T>)
    // used by TSmartPointer
    private
      FValue:  T;
    public
      constructor  Create(AValue:  T);
      destructor  Destroy;  override;
      function  Invoke:  T;
    end;
  
  { TObjectHandle }
  
  constructor  TObjectHandle<T>.Create(AValue:  T);
  begin
    FValue  :=  AValue;
  end;
  
  destructor  TObjectHandle<T>.Destroy;
  begin
    FValue.Free;
  end;
  
  function  TObjectHandle<T>.Invoke:  T;
  begin
    Result  :=  FValue;
  end;
  
  
  { TSmartPointer }
  
  class function TSmartPointer.Make<T>(AValue: T): TFunc<T>;
  begin
    Result := TObjectHandle<T>.Create(AValue);
  end;
  
  
  
  initialization
    StopWatch := TStopWatch.StartNew;
  
  