anchor.diff:  
     SelectFont( Font, 1 );
     FCurrentFontSpec := FontSpec;
  -  FCurrentFont.Free;
  +  if FCurrentFont <> Font then
  +    FCurrentFont.Free;
     FCurrentFont := Font;
   ProfileEvent('DEBUG:  TCanvasFontManager.SetFont <<<<');
   end;
  
positive.code:   lDefaultFontSpec: TFontSpec;
  begin
  ProfileEvent('DEBUG:  TCanvasFontManager.SetFont >>>>');
    if (FCurrentFontSpec.FaceName = FontSpec.FaceName) and
       (FCurrentFontSpec.PointSize = FontSpec.PointSize) and
       (FCurrentFontSpec.Attributes = FontSpec.Attributes) then
      // same font
      exit;
  
    Font := GetFont( FontSpec );
  
  
negative.code:       FPGuiFontToFontSpec( fpgApplication.DefaultFont, lDefaultFontSpec );
        Font := GetFont( lDefaultFontSpec );
        if Font = nil then
          // WTF! We can't even get the default system font
          raise Exception.Create( 'Could not access default font '
                                  + 'in place of '
                                  + FontSpec.FaceName
  