![[Contents]](../images/toc_d.gif) 
 ![[index]](../images/index.gif) 
 ![[Help]](../images/help_d.gif) 
![[Retrace]](../images/retrace_d.gif) 
 ![[browse <]](../images/prev.gif) 
 ![[Browse >]](../images/next.gif) 
The ASL library also contains a font requester.  Using the font requester
is very similar to using the file requester.  First, allocate a requester
structure with allocaslrequest() or allocaslrequesttags().  the type
should be set to ASL_FontRequest in order to get a fontrequester structure:
    struct FontRequester    {
        APTR    fo_Reserved1[2];
        struct TextAttr fo_Attr;        /* Returned TextAttr            */
        UBYTE   fo_FrontPen;            /* Returned pens, if selected   */
        UBYTE   fo_BackPen;
        UBYTE   fo_DrawMode;
        APTR    fo_UserData;
        /* missing from asl.h but present in this structure */
        SHORT   fo_LeftEdge, fo_TopEdge, fo_Width, fo_Height;
        };
Once the requester is set up, call aslrequest() or aslrequesttags() to
make the requester appear on screen.  These functions return TRUE if the
user makes a selection.  In that case, the font selected is returned as a
textattr structure in the fo_attr field of the fontrequester structure.
(The TextAttr structure is defined in <graphics/text.h>.  see the amiga
ROM Kernel Manual: Includes and Autodocs for a complete listing.)  If the
user cancels the font requester FALSE is returned.
     figure 16-2: the asl font requester 
When the requester is no longer needed, call freeaslrequest() to
deallocate the requester data structure.
 specifying font requester options with tagitems 
 example font requester