anchor.diff:      property    FontDesc: string read FFontDesc;
       property    FontRes: TfpgFontResourceBase read FFontRes;
       property    Handle: TfpgFontResourceBase read FFontRes;
  +    property    IsFixedWidth: boolean read GetIsFixedWidth;
     end;
   
   
  
positive.code:   protected
      FFontDesc: string;
      FFontRes: TfpgFontResourceBase;
    public
      function    TextWidth(const txt: string): integer;
      function    Ascent: integer;
  
negative.code: 
  { TfpgFontBase }
  
  function TfpgFontBase.GetIsFixedWidth: boolean;
  begin
    // very crude but handy as a fallback option
    if (Pos('mono', Lowercase(FFontDesc)) > 0) or
       (Pos('courier', Lowercase(FFontDesc)) > 0) or
       (Pos('fixed', Lowercase(FFontDesc)) > 0) then
      Result := True
    else
      Result := False;
  end;
  
  function TfpgFontBase.TextWidth(const txt: string): integer;
  begin
    if Length(txt) = 0 then
  