A 
font-list% object maintains a list of 
font%
 objects to avoid repeatedly creating fonts.
A global font list, the-font-list, is created automatically.
Creates an empty font list.
 | 
|  → (is-a?/c font%) | 
|   size : (integer-in 1 255) | 
|    | family |   | : |   | | (one-of/c 'default 'decorative 'roman 'script |  |           'swiss 'modern 'symbol 'system) |  
  |  
  | 
|   style : (one-of/c 'normal 'italic 'slant) | 
|   weight : (one-of/c 'normal 'bold 'light) | 
|   underline? : any/c = #f | 
|    | smoothing |   | : |   | (one-of/c 'default 'partly-smoothed 'smoothed 'unsmoothed) |  |   |   |   | = |   | 'default |  
  | 
|   size-in-pixels? : any/c = #f | 
 | 
|  → (is-a?/c font%) | 
|   size : (integer-in 1 255) | 
|   face : string? | 
|    | family |   | : |   | | (one-of/c 'default 'decorative 'roman 'script |  |           'swiss 'modern 'symbol 'system) |  
  |  
  | 
|   style : (one-of/c 'normal 'italic 'slant) | 
|   weight : (one-of/c 'normal 'bold 'light) | 
|   underline : any/c = #f | 
|    | smoothing |   | : |   | (one-of/c 'default 'partly-smoothed 'smoothed 'unsmoothed) |  |   |   |   | = |   | 'default |  
  | 
|   size-in-pixels? : any/c = #f | 
Finds an existing font in the list or creates a new one (that is
 automatically added to the list). The arguments are the same as for
 creating a 
font% instance.