Copyright (C) 1992, Digital Equipment Corporation                         
 All rights reserved.                                                      
 See the file COPYRIGHT for a full description.                            
                                                                           
 Last modified on Wed Dec 21 18:28:34 PST 1994 by heydon                   
INTERFACE ScrnFontExtras;
 Extensions to the ScrnFont interface. 
IMPORT ScrnFont, Rect;
PROCEDURE TightBoundingBox(txt: TEXT; fnt: ScrnFont.T): Rect.T;
 Return the smallest rectangle enclosing the ink resulting from painting
   txt at the origin in the font fnt. Requires txt # NIL. If fnt is
   NIL or the font's metrics are NIL, then the result is a rectangle
   whose southwest corner is the origin, and whose height is 1 and whose width
   is the length of txt. 
PROCEDURE TightBoundingBoxSub(READONLY txt: ARRAY OF CHAR; fnt: ScrnFont.T):
  Rect.T;
 Like TightBoundingBox, but the string is passed as an array of characters
   instead of as a TEXT. 
PROCEDURE TightBoundingBoxSubValid(
  READONLY txt: ARRAY OF CHAR;
  fnt: ScrnFont.T;
  VAR (*OUT*) valid: BOOLEAN)
  : Rect.T;
 Like TightBoundingBoxSub, but valid is set to TRUE iff all characters
   of txt are valid. If fnt is NIL or the font's metrics are NIL, then
   valid will be TRUE independent of txt. 
END ScrnFontExtras.