anchor.diff:      // For bitmap fonts, multiply by 256 manually
       for TheChar := #0 to #255 do
       begin
  -      FCurrentFont.pCharWidthArray^[ TheChar ] :=
  -        FCurrentFont.pCharWidthArray^[ TheChar ]
  -        * FontWidthPrecisionFactor;
  +      FCurrentFont.pCharWidthArray^[ TheChar ] := FCurrentFont.pCharWidthArray^[ TheChar ];
       end;
     end;
  -
  -  //GpiQueryFontMetrics( FCanvas.Handle,
  -  //                     sizeof( fm ),
  -  //                     fm );
  -  //FCurrentFont.lMaxbaseLineExt := fm.lMaxbaselineExt;
  -  //FCurrentFont.lAveCharWidth := fm.lAveCharWidth;
  -  //FCurrentFont.lMaxCharInc := fm.lMaxCharInc;
  -  //FCurrentFont.lMaxDescender := fm.lMaxDescender;
   end;
   
   procedure TCanvasFontManager.EnsureMetricsLoaded;
  
positive.code:   FCanvas := Canvas;
    FWidget := AWidget;
    FLogicalFonts := TList.Create;
    FCurrentFontSpec.FaceName := 'Arial';
    FCurrentFont := nil;
    FAllowBitmapFonts := AllowBitmapFonts;
    // get system default font spec
    // as default default ;)
    FPGuiFontToFontSpec( fpgApplication.DefaultFont, FDefaultFontSpec );
    if FDefaultFontSpec.FaceName = '' then
      raise Exception.Create('For some reason we could not create a FDefaultFontSpec instance');
  end;
  
  // Destructor
  
negative.code: 
    // allocate memory for storing the char widths
    GetMem( FCurrentFont.pCharWidthArray, sizeof( TCharWidthArray ) );
  
    for TheChar := #0 to #255 do
    begin
      FCurrentFont.pCharWidthArray^[ TheChar ] := Abs( FCurrentFont.pCharWidthArray^[ TheChar ] );
  