anchor.diff:  
       // this can be nil if not already fetched
       pCharWidthArray: TPCharWidthArray;
  -    lMaxbaselineExt: longint;
  -    lAveCharWidth: longint;
  -    lMaxCharInc: longint;
  -    lMaxDescender: longint;
  +    lMaxbaselineExt: longint; //LONG;
  +    lAveCharWidth: longint; //LONG;
  +    lMaxCharInc: longint; //LONG;
  +    lMaxDescender: longint; //LONG;
     public
       constructor Create(AOwner: TComponent); override;
       destructor Destroy; override;
  
positive.code:   // For bitmap fonts the logical font definition includes pointsize
    // For outline fonts the defn is only face+attr; in this case
    // selectfont also ses the 'CharBox' according to the point size.
  Implementation
  
  uses
  //  PMWin, PMGpi, OS2Def, PmDev,
    SysUtils
    ,ACLStringUtility
    ,nvUtilities
    ;
  
  {
  Imports
    Function GpiQueryCharStringPosAt( PS: Hps;
                                StartPoint: PPointL;
                                Options: ULONG;
                                Count: LONG;
                                TheString: PChar;
                                IncrementsArray: PLONG;
                                CharacterPoints: PPointL ): BOOL;
      ApiEntry; 'PMGPI' Index 585;
    Function GpiQueryCharStringPos( PS: Hps;
                                Options: ULONG;
                                Count: LONG;
                                TheString: PChar;
                                IncrementsArray: PLONG;
                                CharacterPoints: PPointL ): BOOL;
      ApiEntry; 'PMGPI' Index 584;
  end;
  }
  
  Type
    // A little pretend window to send font name.size
    // and get definite font info back. (See .CreateFont)
    TFontWindow = class( TfpgWidget )
    protected
      procedure   DoAllocateWindowHandle(AParent: TfpgWindowBase); override;
    public
  //    procedure CreateWnd; override;
      function SetPPFontNameSize( Const FNS: String ): Boolean;
    end;
  
  var
    FontFaces: TList = nil; // of TFontface
    //FontWindow: TFontWindow;
  
    DefaultOutlineFixedFace: TFontFace;
    DefaultOutlineProportionalFace: TFontFace;
  
  
negative.code:   begin
      Face := TFontFace(FontFaces[ FaceIndex ]);
  
      if pos(UpperCase(name), UpperCase(Face.Name)) > 0 then
      begin
        Result := Face;
  