Andrew7.4 Frequently Asked Questions
Andrew User Interface System Release 7.4

Last Update:  August, 1996

    Andrew Consortium
    School of Computer Science
    Carnegie Mellon University
    5000 Forbes Avenue
    Pittsburgh, PA 15213-3891
    USA

telephone: (412) 268-6710    fax: (412) 268-5571
Web:  	http://www.cs.cmu.edu/~AUIS
Bugs to: 	info-andrew-bugs@andrew.cmu.edu
Demo: 	finger @atk.cs.cmu.edu
Orders, requests:  info-andrew-request@andrew.cmu.edu
Archives: 	ftp.andrew.cmu.edu/pub/AUIS

Copyright Carnegie Mellon University 1991, 1996 - All Rights Reserved. 
Please see disclaimer at the end of this file.

Welcome to the Andrew User Interface System (AUIS). This FAQ file
contains questions from everywhere and answers from many places. 

File and pathnames beginning with <src>/ are references to files in the
AUIS sources;  names of installed files begin with $ANDREWDIR. All
patches assume you are in directory <src>/, the top-level source
directory; that is, the directory with subdirectories atk, ams, atkams,
config, overhead, and so on.

Send suggestions and comments to the Andrew Consortium's mailing
list/newsgroup:  

	info-andrew@andrew.cmu.edu.

Send bug reports to:

	info-andrew-bugs@andrew.cmu.edu

For information about the Andrew Consortium, the organization at
Carnegie Mellon University's School of Computer Science which both
enhances and maintains the Andrew system, please contact the Director,
Wilfred J. Hansen, at the addresses above.

General Information
            (Compiled by Susan Straub)
        G1.  What is Andrew?
        G2.  How do I obtain the latest release?
        G3.  Which platforms has Andrew been ported to?
        G4.  What is the Remote Andrew Demo Service?
        G5.  What books have been written for Andrew and where can I
        obtain them?
        G6.  What other sources of printed and taped information are
        available on Andrew?
        G7.  What is the Andrew Consortium and what benefits do the
        members receive?
        G8. Will there be the restrictions on distributing non-source
        applications that are developed?  
        G9.  Is there one place I can look to find information about all
        AUIS-related documents? 

User Questions  
            (Extracted from a larger FAQ at 
            Carnegie Mellon University)
        U0. Introduction
        U1. Customizing your account
        U2. Playing with ATK things, including ez, typescript, console,
        and help
        U3. Mail and bboards, including messages
        U4. Strange file formats
        U5. Working with graphics and images
        U6. Fancy key bindings
        U7. Programming in Ness and C++

Auxiliary Software

        S1.  How can I get other useful software?
        S2.  How can I use PostScript fonts other than those defined in
        /usr/andrew/X11fonts both in displayed and printed documents? 
        S3.  How do I use the spell checker function in ez?  
        S4.  Why can't ez find ispell when I know it's installed? 

Printing

        P1.  How can I print Andrew documents?
        P2.  Ezprint outputs rasters in PostScript.  Can I print those rasters?
        P3.  How can I adjust for other printer page sizes?
        P4.  How can I update the font metrics for PostScript fonts?


Messages/Mail

        M1.  How can I instruct "messages" to use /usr/spool/mail for
        mail drop?
        M2.  When using UCB sendmail, are aliases in /usr/lib/aliases
        case-sensitive?  
        M3.  Why wasn't queuemail installed automatically?
        M4.  How can I avoid word-wrapping when sending a message?  
        M5.  Is there any way to adopt the sendmail program to PGP?

AUIS on AFS 

        A1.  Do I need to have AFS to run ANDREW?
        A2.  What is AFS and how can I get more information?  


Known Problems

        K1. When I try to run an Andrew application, I get the following
        error:  ld.so: libclass.so.1: not found.  What should I do?  
        K2. My cursor is a dot.  What should I do?
        K3. How can I fix the error message in my console about
        <getstats/gvm> Cannot open /dev/kmem? '
        K4. When I run Andrew applications on a remote X server, I get
        the wrong fonts or cursors.

___________________________________________________
General Questions

G1.  What is Andrew?

    The Andrew User Interface System (AUIS or Andrew) is an
    integrated set of tools that allow you to create, use, and mail
    documents and applications containing typographically formatted
    text and embedded objects. The system, called AUIS or "Andrew",
    has three principal components:

        The Andrew User Environment (AUE) is an integrated set
        of applications beginning with a 'generic object' editor
        (ez), a help system, a system monitoring tool (console),
        an editor-based shell interface (typescript), and
        support for printing multi-media documents. 

        The Andrew Toolkit (ATK) is a portable user-interface
        toolkit.  It provides a dynamically-loadable,
        object-oriented environment wherein objects can be
        embedded in one-another. Thus, one could edit text that
        contains not only fonts and styles, but also embedded
        raster images, spreadsheets, drawing editors, equations,
        simple animations, etc. These embedded objects could
        themselves contain other objects, including text. ATK is
        an open system so programmers can create new objects
        that can be embedded as easily as those system-defined
        objects. 
        The Andrew Message System (AMS) provides a multi-media
        interface to mail and bulletin-boards.  AMS supports
        several mail management strategies and implements many
        advanced  features including authentication, return
        receipts, automatic sorting of mail, vote collection and
        tabulation, enclosures, audit trails of related
        messages, and subscription management. It also provides
        a variety of interfaces that support ttys and
        low-function personal computers in addition to the
        high-function workstations.

G2.  How do I obtain the latest release?

    This release, Andrew 7.4 in C++, is a binary release to the
    internet. It, as well as a variety of CMU software and the
    latest patches, is available via anonymous ftp from the Internet
    host, ftp.andrew.cmu.edu (Internet: 128.2.232.154) in pub/AUIS. 
     Due to its size, the compressed tar'd tree is split into
    multiple files as described in pub/AUIS/bin-dist/INSTALL.  The
    binary release is also available via the web from

        http://www.cs.cmu.edu/~AUIS/bin-dist

    First read the file README.

G3.  Which platforms has Andrew been ported to?

    The available machine types are 

        rs_aix325       - IBM RS/6000, AIX 3.2.5
        pa1.1_hpux90 - HP700 series (pa1.1), hpux 9.0
        pmax_ultrix43 - DEC pamx, Ultrix 4.3
        sparc_sunos413 - Sun SPARCstation, Sunos 4.1.3
        sparc_sunos54  - Sun SPARCstation, Solaris (Sunos 5.4)
        ix86_Linux - Intel x86 processor, Linux (several)

    In many cases the binaries will work successfully with
    successors to the noted operating system release; in some cases
    they will even work with earlier releases.

G4.  What is the Andrew Remote Demo Service?  

    This network service allows you to test drive Andrew
    applications without downloading them to your workstation.  The
    Andrew Remote Demo service will have you running Andrew software
    within 5 minutes.  You'll be able to compose multimedia
    documents, navigate through the interactive Andrew Tour, and use
    the Andrew Message System to browse through a few of CMU's four
    thousand bulletin boards and newsgroups.

    To use the Remote Andrew Demo service, run the following command
    on your machine:

        finger   @atk.cs.cmu.edu

    You will receive further instructions.

G5.  What books have been written about Andrew and where can I obtain them?

    Nathaniel S. Borenstein's book: Multimedia Applications
    Development with the Andrew Toolkit (Prentice-Hall, 1989).  
    [Out of print - contact AnnMarie Zanger, assistant director of
    the Andrew Consortium, via email <annmarie+@cmu.edu> for further
    details.]

G6.  What other sources of printed and taped information are available
    on Andrew?

    The Andrew Consortium sells a number of tools which help you
    learn about and better use the Andrew system. These include: "A
    User's Guide to Andrew", "Selected Technical Papers",
    "Conference Proceedings", "ProgrammingDocumentation",  Source
    Tapes, and Binary Tapes. Please send email to
    <info-andrew-request@andrew.cmu.edu> for further details.

G7.  What is the Andrew Consortium and what benefits do its members receive?

    The principal activity of the Andrew Consortium is to maintain
    the central sources for AUIS.  Improvements and enhancments from
    many organizations are gathered together for redistribution,
    frequently to members and more-or-less annually to others via
    the X Consortium distribution channel.  The Consortium also
    promotes use of the Andrew system. It organizes an annual
    technical meeting, publishes a newsletter, maintains the
    info-andrew mailing list, and supports a World Wide Web page on
    the internet.

    A variety of levels of Consortium membership are available,
    ranging from nominal to fully supportive. They are:
    Participating, Full, Contributing, and Associate. Programming
    support and consultation are available to Participating and Full
    members. The source code for the latest Andrew (8.0 at this
    writing) is available at all membership levels.  Organizations
    and individuals are invited to become members of the Consortium.
    For more information, contact Consoritum director Wilfred Hansen
    via telephone at (412) 268-6710 or via email at
    <wjh@andrew.cmu.edu>. 

G8. Will there be the restrictions on distributing non-source
    applications that may be developed?  

    This question is undergoing evaluation as plans for future
    funding of the Consortium are considered. 

G9.  Is there one place I can look to find information about all
    AUIS-related documents? 

    The document $ANDREWDIR/doc/doclaunch contains links to documents
    organized by topic. Each topic document contains links to related
    documents.  

___________________________________________________
User Questions

U0. Introduction

This section has been extracted from a larger FAQ file created at CMU by
Andrew Plotkin  (ap1i+@andrew.cmu.edu).  Its permission information
reads:

    Everything in this file is public domain. You can copy it, mail
    it to people, put bits of it in other files, print it out in
    500-point type and staple it to the walls, whatever you want --
    I'm happy to give you the opportunity, and I couldn't do a thing
    about it if I wanted to.

    Thanks to the multiple people who provided me with questions and
    answers.

U1. Customizing your account

How can I customize my Andrew account?
    For info on your preferences file:
        help preferences   (or help prefs)

I edited my .cshrc, but now I get strange errors when I start typescript, or
I edited my .login, but now I get strange errors when I log in, or
I edited my .plan, but now I get strange symbols when I finger myself, or
I edited my .Xresources, but now I get strange errors when I start X, or
I edited this file, but now I get strange errors....
    If you use ez to edit your .plan, .login, .logout, preferences,
    .cshrc, .Xresources, .Xclients, .Xmodmap, .signature, or any file
    like that: you must get rid of any styles you put in. You can't have
    sections of bold, or typewriter, or italics, or different text
    sizes, or indentation. (Not even in your .plan file or .signature,
    although that would be nice.) Use "Plainest" on the whole file if
    you have to.  

    If worst comes to worst, Plainest will not work because style
    definitions have been introduced.  To solve this problem, edit the
    file in binary mode.  First make sure ez does not have the file in a
    buffer.  If it does, use the ^x-k command to delete the buffer. 
    Then edit the file with the ez key sequence ^X-ESC-v, which uses
    binary mode.  Look for lines like this:

        \define sillystyle{
                ...
        }

    Delete everything from the backslash to the newline after the right
    curly brace.  Save the file, delete the buffer with ^X-k, and
    revisit the file, but now with ^X-^V. Use the Plainest menu option
    again to get rid of the Andrew formatting and save the file yet
    again.      

U2. Playing with ATK things

How do I customize an ATK program?
    For help on program `xxx' give the command
        help xxx
    The ATK help files are more friendly than average; lots of examples,
    no words over two syllables, etc.

How do I change the behavior, fonts, and so on in ATK windows and menus?
    Most of these are controlled by preferences:
        help preferences
        help menubar
    The lines described in these help files go in your preferences file.
    For example, 
        *.Thumbscroll: yes
    will cause the text in any ATK window to swoop up and down when you
    wiggle the scroll bar.
        typescript.Thumbscroll: yes
    will cause that to happen only in typescript windows.

    A major exception is the appearance of the pop-up menus you get when
    you press and hold the middle button. These are controlled by X
    resources (when you are running X.)
        help cmenu
    The resources described in this help file go in your .Xresources file. 
        *TitleFont: andysans22b
    will cause your menu card titles to be printed in a 22-point bold
    sans-serif font. 
        help*TitleFont: andysans22b
    will cause that to happen only in help windows.
    (Notice the format of an .Xresources entry is different from a
    preferences entry.)

I have a color display.  Can I get windows in colors other than black
and white?
    Yes, set the colors in your preference file with lines like this:

        # darker blue on lighter tan.  tan good.  (blue not really dark enough)
        ez.foregroundcolor: #003ea2
        ez.backgroundcolor: wheat

    For colors you can run xcolorpick or edit the file
    /usr/lib/X11/rgb.txt.   Color names are recognized by X only if they
    are in rgb.txt.
    If you want colors just for one execution of a program, you can set
    them on the command line:
        typescript -fg black -bg burlywood

    Here's a technique for setting color preferences based on the value
    of the environment variable ISCOLOR, which you can set in your
    .login file as follows:  

        set TTY = `tty`
        if ($TTY == /dev/console || \
                $TTY == /dev/hft/0 || \
                $TTY == /dev/ttyaed || \
                $TTY == /dev/ttyapa16 || \
                $TTY == /dev/ttyap16 || \
                $TTY == /dev/tty8514 || \
                $TTY == /dev/pty/ttyse || \
                $TTY == /dev/ttymono) then
                set consolelogin = 1
                echo -n "Color display? [y/n]: "
                set answer = $<
                if ($answer" =~ [Yy]*) then
                        setenv ISCOLOR 1
                        echo "color console login"
                else
                        echo "console login"
                endif
                unset answer
        endif

    You can then reference this variable in your preferences file: 

        ?E=ISCOLOR=1:ez.backgroundcolor: antiquewhite1
        ?E=ISCOLOR=1:console.backgroundcolor: cornsilk
        ?E=ISCOLOR=1:typescript.backgroundcolor: cornsilk3
        ?E=ISCOLOR=1:help.backgroundcolor: cornsilk3
        ?E=ISCOLOR=1:messages.backgroundcolor: cornsilk2
        ?E=ISCOLOR=1:bush.backgroundcolor: #e5d7c6

How do I add styles to ATK documents?
    	help ez-styles

How do I add tables of contents and footnotes to ATK documents?
    	help ez-contents
        help ez-footnotes

How do I adjust line spacing and margins in ATK documents?
    	help ez
    and scroll down to "Formatting text: line spacing and margins".

What keystroke commands work in ATK programs?
    	help ez-keys
    Notice that most gnu-emacs keys work in ATK programs. 

How do I work with multiple ez windows or multiple buffers?
    	help ez-buffers

How do I remove ATK formatting from an ATK document, to turn it into
plain text?
    The easy way is to edit it with ez, select (highlight) the entire
    document, and select "Plainest". 
    This will not work if the document has pagebreaks, footnotes, or
    insets (such as embedded rasters.)
    If you don't want to start up ez, you can use ez2ascii:
        ez2ascii filename

    For more info, see
        help ez2ascii

How can I write my own console layout?
    	help lacc
    The publically-available console layouts are in
    /usr/local/lib/consoles. If you want to write your own, it's best to
    start with one of these and modify it.

    Once you've written your console layout file, add this line to your
    preferences:
        console.default: consolefilename
    where consolefile is a full pathname (no ~'s), for example
    /afs/andrew/usr99/userid/layoutfile

What is a help search path?
    Look at
        help preferences
    and scroll down to "Help preferences." (Redundant, aren't I? And
    repetitive.)
    The default help search path includes the help directories for all
    the standard Andrew programs, and everything in /usr/contributed. To
    add, for example, the help directory for the Computer Club's
    programs, you would add this line to your preferences:
        help.searchpath: /afs/andrew.cmu.edu/usr0/cl0x/man
    If you have more than one directory in this line, they should be
    separated by colons, not spaces.

    The search path is read in when you start help. If help is already
    running, you can add a directory to the search path by choosing "Add
    Search Directory" from the menu. This change is only temporary and
    will go away when you quit help. To permanently add a directory, you
    have to put it in your preferences.

U3.  Mail and bboards

How do I set options for messages?
    Select "Set Options" on the "Other" menu card. This will bring up a
    long list of options where the message titles usually are, and
    explanations and switches where the message bodies usually are. You
    can scroll through either list, and click on the switches to change
    things. (Some of these changes take effect immediately; for others,
    you have to quit and restart messages.) 
    There are a few, more obscure, options that you can set in your
    preferences file. Type
        help preferences
    and scroll down to "Andrew Messages System preferences". 


U4. Strange file formats

How do I convert rasters, bitmaps, or images from one type to another?
    To convert old-style ATK rasters (.ras) to new-style ATK rasters
    (.raster) or vice-versa,
        help convertraster
    convertraster claims to be able to convert MacPaint files that you
    have ftp'd to Andrew. This may not be reliable.
    To convert other image types, including X bitmaps, MacPaint files,
    and GIFs, 
        help pbm
        help pnm
    and also see the help files on all the little programs they mention.

    Some notes:
        The most recent version of pbm is NetPBM and is available via
    the web.  Most web search engines will find it under that name.
        PBM, PPM, and PGM are special image file formats which are
    designed to be "intermediate" conversion formats. That is, you can
    convert anything to these formats, and then convert it to anything
    else.
        PBM ("portable bitmap") is for simple black-and-white images
    like those produced by MacPaint or bitmap. PGM ("portable greymap")
    is for images with shades of grey, and PPM ("portable pixmap") is
    for full-color images. PNM ("portable any-map") is not a file
    format; a program called "pnm-something" can handle PBM, PPM, or PGM
    files.
        PBM, PGM, and PPM can be interconverted with the appropriate
    programs (ppmtopgm, pgmtopbm.) Both of these lose information, of
    course: ppmtopgm reduces the color image to shades of grey, and
    pgmtopbm changes shades to grey to black-and-white (although it will
    simulate grey by mixing black and white dots.)
        Also, a PGM file can be used whenever a PPM file is expected
    (ie, as input to ppm-something), and a PBM file can be used whenever
    either of the other two formats is expected. This is reasonable,
    since a bitmap is just a greyscale image with only two shades of
    grey, and a greyscale image is just a color image with only grey
    colors.
        All the conversion programs (except convertraster) work as
    filters. See the examples below.
        There are two programs, atobm and bmtoa, which convert X bitmaps
    to and from ASCII files. There are no help files on them.
        The MacPaint to RLE program, painttorle, is not reliable for
    large (full-screen) MacPaint files.
        PostScript files are designed only to be printed, so they're
    hard to convert to any other format. If you want to do that, you
    should view the file with dxpsview and then take a window dump of
    the dxpsview window (which produces an XWD file), and then convert
    that.

    To convert an X bitmap to a PBM file, use
        cat file.bm | xbmtopbm > file.pbm

    To convert a PBM file to an X bitmap file, use
        cat file.pbm | pbmtoxbm > file.bm

    To convert a GIF to PostScript, use
        cat file.gif | giftoppm | ppmtops > file.ps


U5.  Working with graphics and images

What drawing and painting programs are available on Andrew?
    (Drawing programs are the ones like MacDraw, that let you put down
    geometric objects and then move them around, change their sizes, and
    so on. Painting programs, like MacPaint, let you splot paint down on
    a raster, possibly in geometric shapes, and edit it pixel by pixel.)
    There are the ATK versions, figure (drawing) and raster (painting). 
        help figure
        help raster

U6. Fancy key bindings

    Some packages commonly used by developers are not normally bound to
    keys in order to simplify the user interface.  If you want to bind
    them, add the given line to your ~/.atkinit file or to apply the
    binding just to application xxx, add the line to ~/.xxxinit.
        help initfiles

How can I execute an arbitrary expression?
    	help ness
    and read
        $ANDREWDIR/doc/atk/ness/nesshack.doc
    The normal binding of this function is ESC-ESC, though some people
    find this too easy to type by mistake (and Ness does take a second
    to load the first time it is called).  To get the ESC-ESC binding
    add to your .atkinit the line:
        addkey ness-dostmt  \e\e  view  

What is the "proctable"?
    	help procs
    Menu entries and key sequences are not bound directly to functions
    in C code.  Instead they are bound to routines made available by the
    C code for the various insets.  For instance, the operation on text
    usually bound to ESC-b, which moves the cursor backward by one word,
    is the proctable function textview-backward-word.  When such a
    function is called from Ness, however, the dashes are written as
    underscores: textview_backward_word.  

    How can I find out what is in the proctable?
        help deskey
    The deskey package offers several proctable functions which can be
    bound to keys or menu entries.  My own usage is given by these lines
    in my ~/.atkinit:
        addkey deskey-describe-bound-keys ^XK im
        addkey deskey-describe-proctable ^XP im
    Then control-X-shift-K opens another window showing all the current
    key bindings and control-X-shift-P opens a window showing all
    functions currently in the proctable.  More functions are added to
    the list as more insets are loaded in.

How can I execute an arbitrary proctable function?
    	help metax
    The metax package offers two operations to bind to keys.  They
    prompt for a function to execute and provide name completion by
    examining the proctable for function names.  To bind ESC-x to the
    operation that calls a function without passing an argument add this
    line to .atkinit:
        addkey metax "\ex" view metax

How can I get file name completion in typescript?
    If you are typing a file name to ez, you can get file name
    completion with space and question mark.  The same functionality is
    available in the typescript window, but it is better to bind it to
    other keys.  The following in your .atkinit:
        addkey fcomp-complete-filename "\t" typescript
        addkey fcomp-possible-completions "\e\t" typescript
    will bind TAB so it completes the currently entered file name as far
    as it can and will bind ESC-TAB so it offers a list of all possible
    completions (as a list in the typescript).

Can I perform incremental search as in gnuemacs?
    	help search
        help gsearch
    Yes, three different alternative search packages are available. 
    Dynamic search is described in the help file for search and a
    gnu-emacs clone is described in the gsearch helpfile. 
    (Unfortunately, when you ask for help on 'search', you get the
    gsearch helpfile;  you have to select twice the menu option Show
    More Documentation.)  

    A simplified incremental search package with no documentation can be
    bound with
        addkey incsearch-forward ^S textview
        addkey incsearch-backward ^R textview
    Note that incsearch-forward MUST be bound to ^S or it will do
    backward searches.

    Recursive search will find a string even if it is in an embedded
    object.  This package is not the default, but can be activated by
    adding these two lines to your ~/.atkinit file:
        addmenu recsearch-begin "Search/Spell,RecSearch~62" im
        addmenu recsearch-resume "Search/Spell,Continue~64" im

How can I convert paragraphs that have hard newlines within them to ATK
paragraphs with newlines only at the ends?
    	read $ANDREWDIR/lib/ness/format.n
    To convert text in messages or DOS files to ATK format, you need to
    wrap the lines.  This can be done with a query replace changing
    newlines to spaces, but this is not always satisfactory because
    multiple spaces are needed after sentence ending punctuation.  When
    you have a binding for ness-dostmt you can use a Ness function. 
    Select the text to be wrapped, type ESC-ESC or your binding for
    ness-dostmt, and then answer the prompt with 
        format_wrap()
    The selected text will be wrapped appropriately

    Another approach is with the program `toez', which will convert from
    either scribe or troff format to Andrew format files.  
        help toez


U7. Programming in Ness and C++

Is there a way to bind a keystroke or menu to a simple combination of
other operations?
    You could write a "package" following the model of incremental
    search, but it's lots easier just to write a short Ness function.  
        help ness
    A simple approach is to create a directory ~/nesslib and put in it
    the files--say f.n and g.n--with the Ness functions.  Then in your
    .atkinit or other .XXXinit file, add the lines
        load ness
        call ness-load /usr/you/nesslib/f.n
        call ness-load /usr/you/nesslib/g.n
    Substitute the full path to your nesslib directory.  Do the "load
    ness" line only once.

    Example 1:  Provide a menu operation to start up a typescript. 
    (This was written for a user whose window manager and typescripts
    died often;  if any window was left the user could start a
    typescript.)  The Ness code is:

        extend "view:frame"
                on menu "File,Typescript~85"
                        system("typescript"     -- launch typescript
                                        -- and don't wait:
                                ~ " >/dev/null </dev/null  2>&1 &")
                end menu
        end extend

    Example 2: Add to messages a menu option "FollowUp-To" which sets up
    a reply to the sender of the current message, excerpts the body of
    the message into the reply, and warps the mouse to the sendmessage
    window.  This code was the subject of a "call ness-load" in
    ~/.messagesinit.

        extend "view:messwind"
                on menu "This Message,Followup-To"
                        messages_reply_to_sender(currentwindow)
                        messages_sendmessage_compound(currentwindow,
                                "sendmessage-excerpt-body;"
                                ~ "sendmessage-focus-on-body")
                        frame_next_window(currentwindow)
                        textview_end_of_text(currentinputfocus)
                end menu
        end extend

How can I create the C code for a new inset?
    	help createinset
    This program creates a directory and puts seven files in it which
    constitute a working, though not useful, inset.  You need only
    modify the appropriate portions to make an inset which does what you
    want.

Auxiliary Software

S1.  How can I get other useful software?

    Enormous quantities of software are available for free from the
    internet.  Many of the pieces are also available via electronic
    mail.  Subsequent paragraphs list some software that may be of value
    as an adjunct to ATK/AMS.

archie - archive locator
    A major source of information about the location of software on the
    network is 'archie'.  Send mail to 
        archie@archie.rutgers.edu
    In the body of the message include line(s) of the form
        prog   name
    where name is the name of the software you would like to find out
    about.  For more information, the body can contain the line
        help
    The listing returned from a 'prog' request will list ftp sites
    containing information with the name you gave.  A site with a name
    ending in .com, .edu, or .gov will be in the United States and will
    be the best place to try.

ftp - file transfer package
    To retrieve information via ftp over the internet:  Give the command 
        ftp <site name>
    The response will ask for your login;  reply
        anonymous
    the response will ask for your email address;  type it in.  Now you
    can give the help command to see the commands.  I generally use ls,
    dir, cd, lcd, pwd, and get.

X Windows System:  X11, imake, makedepend, patch
    Screen management and graphics software
    Binaries for X11R5 on cdrom in <system>/X11/...
    Bdf fonts  on cdrom in  src/util/bdffonts
    imake, makedepend, and patch
        source on cdrom in src/util/...
        objects on cdrom in <system>/util/...
    ftp: ftp.x.org and numerous other sites (see archie)
    newsgroup: comp.windows.x 
    mail address:
        X Consortium
        One Memorial Drive
        PO Box 546
        Cambridge, MA  02142-0004
        USA
        phone: (617) 374-1000

metamail
	Converter for implementing MIME multi-media internet standard.
	newer version due early April, 1992
	contact:  Nathaniel Borenstein
		Bellcore Room 2A-274
		Morristown, NJ 07962-1910
	phone: (201) 829-4270
	email: nsb@thumper.bellcore.com
	ftp:  thumper.bellcore.com,  see  pub/nsb/README
	source: $ATKSRC/overhead/mail/metamail

pbmplus
	Portable bit map conversion and transformation software
	version in cdrom:/src/util/pbmplus is from   10 December 1991
	contact: Jef Poskanzer
	email: jef@well.sf.ca.us

ispell  
	version on cdrom in src/util/ispell is 2.0.02
		updated with a bigger dictionary
	new version 3.0.09 is available (technically a beta version). As of Jan
1994, it can be FTP'd from ftp.cs.ucla.edu, in /pub/ispell. 
	a version called 4.0 is available from GNU (see below), but it is
actually less featured than 3.0.09. See question S3.
	contact: Geoff Kuenning
	email:  geoff@ITcorp.com

GNU software: groff, g++, gcc, gdb, gnuemacs, ... 
    Free software, eventually replacing Un*x
    ftp: prep.ai.mit.edu
        see pub/gnu/GNUinfo/FTP
        and pub/gnu/etc/DISTRIB
    email: gnu@prep.ai.mit.edu
    mailing address:
        Free Software Foundation, Inc.
        675 Massachusetts Avenue
        Cambridge, MA  02139
        USA
    phone:  +1 617-876-3296

RTF Specification
	To receive the most up-to-date copy of the RTF specification,  write:

	Microsoft Corporation
	Department: RTF
	16011 NE 36th Way
	Box 97017
	Redmond, WA 98073-9717

S2.  How can I use PostScript fonts other than those defined in
/usr/andrew/X11fonts both in displayed and printed documents?

    There are two aspects of this problem: screen display and printing.

    Screen Display: 

    To have your own fonts used by ATK applications for displaying
    text you must first create those fonts and place them in a
    directory, possibly set up a fonts.alias file, run mkfontdir to
    get a fonts.dir file, and finally add that directory to your X
    fontpath by using `xset +fp directory-name'.  Also, you'll have
    to specify in your preferences file the fontname:

                ez.bodyfont: myfont12

    Print: The font name must be one of the names supported by your
    PostScript printer and having its font metrics in
    $ANDREWDIR/lib/afm/.  See question P4, below.

S3.  How do I use the spell checker function in ez?  

    If ispell, the spelling checker used by ez, is not available at your
    site or is not along your path, ez will not be able to perform this
    function. ispell is widely available (e.g. via anonymous FTP off of
    uunet.uu.net). All an installer has to do to get ez spell checking
    to work is to install ispell somewhere along the user's path. The
    following .atkinit line will then be useful:

        addmenu "spell-check-document" "Search/Spell~1,Check
        Spelling~30" textview

    You should try to find either ispell version 2.0.02 or the newer
    version 3.0.09. (As of Jan 1994, 3.0.09 can be FTP'd from
    ftp.cs.ucla.edu, in /pub/ispell.) 
    This is because ispell version 4.0 (the version released by the FSF)
    is missing a few features. If you use the standard distribution of
    ispell 4.0, ez will not be able to add words to your private
    dictionary, or accept words for the rest of the session. 

    If you wish to use ispell 4.0 anyway, the following patch will add
    the required functionality. (Use this only on ispell 4.0, not any
    other version.) If you recompile ispell 4.0 with this patch, ATK
    will use it and work correctly. The patched ispell must, of course,
    be earlier than any other version of ispell in your shell path.

    -------------------------------------
        *** ../ispell-4.0/screen.c      Mon May 31 19:45:29 1993
        --- screen.c    Tue Jan 11 14:50:25 1994
        ***************
        *** 845,850 ****
        --- 845,862 ----
                if (verbose && len == 0)
                continue;
          
        +       if (buf[0] == '*' || buf[0] == '@')
        +         {
        +         /* allow * and @ commands, which are
        +          used by the ATK spellchecker */
        +         (void) p_enter(buf + 1, 1, buf[0] == '*'); 
        +         if (verbose) 
        +           (void) printf ("ok\n"); 
        +         else 
        +           (void) printf ("*\n"); 
        +         continue; 
        +         }
        + 
                if (good (buf, strlen (buf), 0))
                {
                  /* used to print + if rootword */
    -------------------------------------
    This patch has been submitted to to FSF, but they have not yet released it.

S4.  Why can't ez find ispell when I know it's installed? 

    Ispell must be on your path in order for ez to find it.  

Printing

P1. How can I print Andrew documents?

    Printing requires two steps, text formatting and then driving the
    printer.  ATK utilizes troff for text formatting.  That is adequate
    for printing documents with styled texts, but some insets such as
    rasters and zip require that the printer be driven with PostScript.

    Print processing is controlled via the FormatCommand and
    PrintCommand options, which can be specified in site.h during system
    build, the global preferences in $ANDREWDIR/lib/global.prf, or the
    user's ~/preferences file.  The most general defaults are:
        *.FormatCommand: eqn -Tpsc /tmp/%s.n  | troff -Tpsc - |
        *.PrintCommand: lpr -n
    The -Tpsc flags specify that the troff output is ultimately intended
    for a PostScript printer.  If you do not have one, this value must
    be set to whatever is appropriate for your printer.  ATK documents
    containing only styled text can be printed via most versions of
    troff and most print drivers.

    To print ATK documents via PostScript printers, you have three options:
        troff - psroff
        ditroff - psdit
        groff
    These differ in cost and the difficulty of installation.  See Q8 for
    hints on acquiring these packages.

    troff - psroff
    Standard Unix systems are often delivered with an old troff which
    generates output for the "CAT" typesetter.  This troff can be used
    to print ATK documents by sending the output through the psroff
    processor, available freely on the internet.  See the psroff
    documentation.

    ditroff - psdit
    This is the route we use at CMU.  ditroff is the device independent
    troff which comes with the Documenters Work Bench portion of Unix
    System V.  psdit is part of the "Transcript" package available from
    Adobe software.  Both ditroff and Transcript cost money.  Adjust the
    FormatCommand to utilize the ditroff version of troff (it is usually
    called troff).  The PrintCommand should usually use the -n switch
    and the lpr daemon will run psdit.

    Ditroff is part of the Documenter's WorkBench (DWB) which is under
    development by AT&T.  Universities can get source code, but others
    may have to get binaries.  The AT&T manager for DWB is Peter Nelson,
    908 582 6078.

    groff 
    This package is free from the Free Software Foundation, the gnu
    people.  The only hitch is that to build groff you must first build
    g++ and to build g++ you must first build gcc.  We have compiled
    groff without any problems with g++-1.39.1. g++ also compiled gpic,
    geqn, gtbl.   

    Groff includes gtroff to do text formatting and grops to generate
    PostScript.  To To use both, have this specification:
        *.formatcommand:      groff -pte -E /tmp/%s.n |
        *.PrintCommand: lpr -v
    Note:  The -pte switches tell it to run gpic, gtbl, and geqn before
    running gtroff.  The output of gtroff is automatically piped into
    grops, which generates the PostScript.  (This assumes that
    /usr/gnu/bin (or wherever groff is installed) is on one's path.)

    The drawback of this simple approach is that the ATK preview option
    will no longer work.  To retain the preview command, I believe, one
    can use specifications something like this:
        *.FormatCommand: 
        *.PreviewCommand: groff -pteZ -TX100 /tmp/%s.n | preview -f -o %s
        *.PrintCommand: groff -pte -E /tmp/%s.n | lpr -v

(You may want to use X75 if your display is closer to 75 dpi that 100dpi.)


P2.  Ezprint outputs rasters in PostScript.  Can I print those rasters?

    If you just want to print one raster from an Andrew document, you
    can extract the raster from the troff output with a raw text editor
    and print it directly.  You may have to add the line
        20 20 translate
    to get it out of the bottom corner.  You may also have to add an
    initial line containing only 
        %!

    If you haven't got a postscript printer, the raster image can still
    be massaged with the pbm package.  pbm understands the Andrew format
    or you can use the output of 
        ezprint -t <file>
    which will include the raster encoded in PostScript / hex form.

P3. How can I adjust for other printer page sizes?

    Page size for all AUIS printing can be adjusted by modifying the
    file $ANDREWDIR/lib/tmac/tmac.atk.  Just after the copyright notice,
    you can insert these lines (without leading whitespace)

        .ll 20c
        .pl 30c

    These set a line length of 20 centimeters and a page length of 30
    centimeters.

    You can also adjust the default header and footer margins by
    changing the values assigned to HM and FM a few lines later.

    If you want to change paper size for just one user, that user can
    copy tmac.atk into a private file, say /usr/you/tmac/tmac.atk.  To
    utilize this file, the user's preferences file should include a line
    like:

        *.tmacfile:/usr/you/tmac/tmac.atk

P4.  How can I update the font metrics for PostScript fonts?

    The widths for existing fonts can be updated by changing the
    appropriate file in $ANDREWDIR/lib/afm.  File names must be
    abbreviated by using 
        $ANDREWDIR/etc/afmmangle Adobe-name
    which returns the proper filename for the file in .../lib/afm.

    It is not possible in Andrew7.4 to define new PostScript fonts.

Messages/Mail

M1.  How can I instruct messages to use /usr/spool/mail for mail drop?

    Although the following lines are in /usr/andrew/etc/AndrewSetup:

        AMS_NonAMSDelivery: yes
        AMS_MailBoxPrefix: /usr/spool/mail

    Messages says, "/usr/user/Mailbox" could not be properly read and
>     delivered (0 success, 0 failure)". 

    You should create a file $HOME/.mailrc and put in this line:

        unset hold

    WARNING:  Once you start reading mail with messages, your incoming
    mail will be stored within directories maintained by messages.  It
    is possible to return to other mail handling systems, but it may not
    be easy.


M2.  When using UCB sendmail, are aliases in /usr/lib/aliases case-sensitive?  

    If you build your UCB sendmail with the ``DBM'' option set, aliases
    in /usr/lib/aliases are case-sensitive; if you build it without that
    option, they're case-insensitive. For purposes of validating user
    names, AMS assumes that aliases in /usr/lib/aliases are
    case-insensitive. This might mean that a name that validates OK with
    AMS might be rejected by UCB sendmail, if that sendmail uses DBM to
    do its alias lookup.

M3.  Why isn't queuemail installed automatically?  

    Queuemail wants to be installed setuid-daemon, and the Andrew
    installation mechanism assumes that it can't do that.  The
    installation is omitted, albeit silently, and must be done by
    hand.  

M4.  How can I avoid word-wrapping when sending a message?  

    There are two ways to shut off word-wrapping when sending a message: 

    1.  Highlight the text to be sent and set the "Region" to be
    "literal"  (literal is an option under the "Region" menu). 

    2.  If using a MIME-compatible mailer, add a "mailobj" using
    Esc-tab and use the content type: application/octet-stream.  

M5.   Is there any way to adopt the sendmail program to PGP? 

PGP (Pretty Good Privacy) is a program that gives your electronic mail
something that it otherwise doesn't have: Privacy. It does this by
encrypting your mail so that nobody but the intended person can read it.
When encrypted, the message looks like a meaningless jumble of random
characters. PGP has proven itself quite capable of resisting even the
most sophisticated forms of analysis aimed at reading the encrypted
text.  The FAQ on PGP is available via ftp on ftp.prairienet.org in
/pub/providers/pgp/pgpfaq.txt.  

The following pieces of mail were exchanged between two Andrew users
regarding the way to adopt the sendmail program to PGP.  

The following was contributed by Nathaniel Borenstein, <nsb@fv.com> 11/95: 

    Actually, it's pretty easy to use PGP with Andrew.  I present them
    here with NO GUARANTEES and I absolutely will NOT help you debug
    them if they don't work for you.  

    In fact, what follows makes it a lot HARDER than it needs to be to
    use PGP with Andrew, because my version bears the scars of LOTS of
    evolution, and uses pieces (notably the 'rencap' program) that were
    designed for other purposes entirely, but which I managed to evolve
    or re-use.  I'd love to see someone put together a standard package,
    actually.  But what follows mostly works for me.  -- Nathaniel
    ----------------
    For viewing mail, I use the following mailcap entries:
    ----------------
    application/x-pgp; decode-pgp %s ; needsterminal
    application/pgp; decode-pgp %s ; needsterminal
    ----------------
    Where the "decode-pgp" program looks something like this:
    ----------------
    #!/bin/csh -f
    set viewprog=more
    if ($#argv > 1) then
        set viewprog=metamail
    endif
    set prog="pgp"
    set infile=$1
    pgp $1 -o /tmp/outputfile.$$ |& tee /tmp/shotputfile.$$
    set PS=`grep "^Good signature from user " /tmp/shotputfile.$$ | sed -e
    's%^Good signature from user "\(.*\)".$%\1%'`
    setenv PGP_SIGNATURE "$PS"

    $viewprog /tmp/outputfile.$$
    rm /tmp/*putfile.$$
    ----------------
    Note that the above is only directly useful when people send encrypted
    mail with the right content-type.  If they don't, however, the following
    .messagesinit or .sendmessageinit entry can help a lot:
    ----------------
    addmenu messages-different-content-type "Custom~99,Application/x-pgp~52"
    messages messages inherit "application/x-pgp"
    ----------------
    For composing pgp mail, I use the X-Encrypt-For header.  First, I set
    the following in the AndrewSetup file:
    ----------------
    Oldsendmailprogram: /home/nsb/bin/encrypt-to
    ----------------
    Then, I use special menus like the following, configured from
    .messagesinit and/or .sendmessageinit (all one line):
    ----------------
    addmenu sendmessage-compound-operation "Request-Encryption~41,For
    Carlyn~60" sendmessage sendmessage inherit "sendmessage-add-header
    X-Encrypt-For: lowery"
    ----------------
    and here is the encrypt-to program:
    ----------------
    #!/bin/csh -f

    # I really shouldn't do any encryption at all if there's no X-Encrypt-For 
    # header, but that's not a big deal.

    set prog="xterm -e pgp"
    # set prog="pgp"

    cat > /tmp/infile.$$.raw
    /home/nsb/bin/rencap "application/pgp; format=mime" > /tmp/infile.$$ <
    /tmp/infile.$$.raw
    set encfor=`grep X-Encrypt-For /tmp/infile.$$`
    if ("$encfor" == "") then
        cp /tmp/infile.$$.raw /tmp/infile.$$
    else
        shift encfor
        set sender=`whoami`
        $prog -esa /tmp/infile.$$.raw $encfor $sender -u $sender
        cat /tmp/infile.$$.raw.as* >> /tmp/infile.$$
    endif
    /usr/lib/sendmail -t  < /tmp/infile.$$
    rm /tmp/infile.$$* 
    ----------------
    And here's the C source for my "rencap" program:
    ----------------
    #include <stdio.h>
    #include <ctype.h>

    #define DISP_PASSTHRU 1
    #define DISP_PUSHDOWN 2

    extern char *malloc(), *realloc();

    main(argc, argv)
    int argc;
    char **argv;
    {
        char Buf[2000], *PushDown = NULL;
        int SawSomething=0, Disposition=DISP_PASSTHRU, PushDownAlloced;
        char *ct = NULL;

        if (argc > 1) {
        ct = "application/pgp; format=mime";
        }
        PushDownAlloced = 2000;
        PushDown = malloc(PushDownAlloced+1);
        if (!PushDown) exit(-1);
        *PushDown = NULL;
        while (fgets(Buf, sizeof(Buf), stdin) != NULL) {
        if (Buf[0] == '\n') break;
        if (SawSomething && isspace(Buf[0])) {
            /* Leave Disposition as it was */
        } else {
            if (!strncmp(Buf, "Content-", 8) || !strncmp(Buf, "content-", 8)) {
                Disposition = DISP_PUSHDOWN;
            } else {
                Disposition= DISP_PASSTHRU;
            }
        }
        SawSomething=1;
        if (Disposition == DISP_PASSTHRU) {
            fputs(Buf, stdout);
        } else {
            if ((strlen(PushDown) + strlen(Buf)) > PushDownAlloced) {
                PushDownAlloced += 2000;
                PushDown = realloc(PushDown, PushDownAlloced);
                if (!PushDown) exit(-1);
            }
            strcat(PushDown, Buf);
        }
        }
        fprintf(stdout, "Content-type: %s\n\n", ct ? ct : "message/rfc822");
        if (!ct) {
        fputs(PushDown, stdout);
        fputs("\n", stdout);
        free(PushDown);
        while (fgets(Buf, sizeof(Buf), stdin) != NULL) {
            fputs(Buf, stdout);
        }
        }
        exit(0);
    }

The following was contributed by Rudy Maceyko <rm55@pitt.edu> 11/95:

    I am using your "decode-pgp" directly, but since we use AMDS here,
    your "encrypt-to" and "Oldsendmail" solutions won't work.

    So, I'm using a rather clunky encryption facility now, based on
    these .*init additions:

    addmenu filter-filter-region "File,Textview Filter~91" textview filter noinherit
    addmenu sendmessage-add-header "Custom~99,Application/x-pgp~52" sendmessage sendmessage inherit "Content-Type: application/x-pgp"

    I compose the message, choose "Application/x-pgp" from the "Custom"
    header, select the body of the message, choose "Textview Filter"
    from the "File" menu and enter the command "pgp-to recipient":

    #!/bin/sh

    cat > /tmp/infile.$$.raw
    xterm -e pgp -seat /tmp/infile.$$.raw ${1+"$@"}
    cat /tmp/infile.$$.raw.asc
    rm /tmp/infile.$$*

The following response was contributed by Nathaniel Borenstein,
<nsb@fv.com> 11/95: 

    > I compose the message, choose  
    > "Application/x-pgp" from the "Custom" header, 
    > select the body of the message, choose "Textview 
    > Filter" from the "File" menu and enter the 
    > command "pgp-to recipient":

    My guess is that, with enough work, you could put this all together
    into a single custom menu, using the klunky -compound features. 
    What follows below is what I used to use a long time ago, before I
    wrote encrypt-to, to add a single menu to encrypt for a single
    target recipient.  I changed it because there were several buggy
    things about it, and I don't even know if it would still work, but
    it might give you some clues about the compound syntax:

    addmenu sendmessage-compound-operation "Encrypt~41,For nsb~99"
    sendmessage sendmessage inherit "sendmessage-bodies-textview-compound
    untyped-bodies-textview-compound textview-beginning-of-text;
    sendmessage-bodies-textview-compound untyped-bodies-textview-compound
    textview-ctrl-at; sendmessage-bodies-textview-compound
    untyped-bodies-textview-compound textview-end-of-text;
    sendmessage-bodies-textview-compound untyped-bodies-textview-compound
    textview-select-region; sendmessage-bodies-textview-compound
    untyped-bodies-textview-compound
    untyped-filter-filter-region-thru-command filter-pgp nsb yes;
    sendmessage-add-header Content-type: application/x-pgp"

    Here's the "filter-pgp" script:

    #!/bin/csh -f

    if ($#argv > 1) then
        set prog="xterm -e pgp"
    else
        set prog="pgp"
    endif

    # The following eliminates the long lines, but also the
    inter-paragraph lines
    #cat > /tmp/rawfile.$$
    #ezview -p /tmp/rawfile.$$ > /tmp/infile.$$
    cat > /tmp/infile.$$

    set recip="$1"
    set sender=`whoami`
    $prog -esa /tmp/infile.$$ $recip $sender -u $sender
    cat /tmp/infile.$$.asc
    rm /tmp/infile.$$* /tmp/rawfile.$$

AFS

A1.  Do I need to have AFS to run ANDREW?

    No.  The binaries have been built without AFS.  Having AFS or not
    having AFS will not affect the system.  Andrew applications will be
    able to access files stored in AFS, just as any other application
    can.

A2.  What is AFS and how can I get more information?  

    AFS is a distributed file system available from Transarc
    Corporation. For more information, please send email to
    afs-sales+@transarc.com or snail mail to:  

        Transarc Corporation
        The Gulf Tower
        707 Grant Street
        Pittsburgh, PA  15219
        +1 412 338 4400 


Known Problems

K1.  When I try to run an Andrew application, I get the following error:
     ld.so: libclass.so.1: not found.  What should I do?  

    This problem happens on systems that employ the "shared library"
    facility, typically SUNOS.  You may need to set LD_LIBRARY_PATH. 
    Issue the following command before bringing up any Andrew
    application: 

    setenv LD_LIBRARY_PATH
    ${ANDREWDIR}/lib:${XLIBDIR}:/usr/lib:/lib:/usr/ccs/lib

    This will ensure that all the shared libraries needed for Andrew can
    be found.  

    See the file $ANDREWDIR/INSTALL.

K2. My cursor is a dot.  What should I do?
  
    A common problem with the sunsite distribution is that the
    cursor is only a little white dot on some boxes.  We think this
    might be an X server bug or possibly a  limitation on the size
    of the cursor.  If it is a size limit you can try picking up
    afonts.tar.Z by anonymous ftp from atk.itc.cmu.edu. 
    Instructions for using them follow: 

        1.  Make a directory where you will place the fonts.  Cd to
    that directory.
        2.  Run "ftp atk.itc.cmu.edu".  When asked for your login
    name, respond with "anonymous".  When asked for your password,
    respond with your email address.
        3.  Place ftp into binary file transfer mode with the
    command "binary".
        4.  Run the ftp command "get afonts.tar.Z".  Depending on
    the speed of the connection, this can take anywhere between a
    few seconds to a few minutes.
        5.  Quit ftp with "quit".
        6.  Extract the font files from afonts.tar.Z with the
    command "uncompress < afonts.tar.Z | tar xf -".
        6a. [If you are running a version of X11 earlier than
    release 4, you may need to compile the bdf-style font files with
    "bdftosnf", then run "mkfontdir".  Consult your local
    documentation.]
        7.  Place the current directory in your font path with the
    command "xset fp+ /directory/name/here/".  Be sure to include
    the trailing /.

K3.  How can I fix the error message in my console about <getstats/gvm>
Cannot open /dev/kmem?

    You may see the following error message: 

        |>> console:<getstats/gvm> Cannot open /dev/kmem - will not
        monitor Disk and GVMStats <<| 
        console: ->> Try 'Restart Stats' Menu <<

    If you get this message, your ``getstats'' program (installed from
    atk/console/stats/common) wasn't installed with sufficient privilege
    to be able to open /dev/kmem. This happens because your /dev/kmem is
    protected against global reading, but you didn't do an Andrew
    installation from an account with enough privilege to install
    ``getstats'' set-uid or set-gid. One possibility for this is that
    you are running AFS, but you didn't turn the AFS flag on for the
    compilation. In order for console to monitor information available
    only through /dev/kmem, you'll have to do the following: 

        cd ..../atk/console/stats/common
        su admin (or su root)
        chmod 4555 getstats

    We have not included any consoles specifically tailored to a
    non-AMDS, non-AFS environment. We hope to have some available in
    future patch distributions. 

K4. When I run Andrew applications on a remote X server, I get the wrong
fonts or cursors.

    ATK applications attempt to set the X font path correctly, to
    pick up all the special fonts used for cursors and whatnot.
    However, if the X server and the ATK application are running on
    different machines, this may get confused. If so, you will have
    to set the font path yourself.

    The most important fonts are: icon12 (for cursors), shape10 and
    xshape10 (for grey shading). The basic Andrew text fonts have
    names starting with tim, hel, and sym (Times, Helvetica, and
    Symbol). Other significant fonts are con10 and con12 (used by
    Console), msgs10 and msgs14 (used by Messages). 

    These are often installed in $ANDREWDIR/X11fonts, but may be in
    /usr/local/fonts or elsewhere, depending on how your site is
    configured. The filenames to look for will be the same as the
    font names, except that icon12 may be called icn16x16. Most
    likely these files will have .pcf extensions, but they may be
    installed as .bdf or some other format appropriate to your X
    server.

    The directory on the server machine which contains those font
    files should be added to the X font path. Use the command 
        xset fp+ /directory/name/here/
    Be sure to include the / at the end. 

    Once this is done, Andrew applications should run properly on
    that X server. The only possible remaining difficulty is that if
    you are using the "CacheShades" preference, the X server will
    have cached invalid grey-shades from the original (invalid) font
    path. Type
        xprop -remove ATK_SHADES -root
    to clear them out; they will be stored correctly once ATK runs
    with the proper font path.

    If you are absolutely unable to find the proper fonts, the
    critical ones can be downloaded from our FTP site. Type
        finger font-help@atk.itc.cmu.edu
    for instructions.

    The distributed Andrew fonts are tailored for about 80 pixels to
    the inch. By default these are not used, since for workstations
    with other resolutions it is generally best to utilize the X
    fonts instead.

 /* 
	$Disclaimer: Andrew User Interface System - Binary Distribution 7.5


Permission to use, copy, modify, and distribute this software for any 
purpose is hereby granted, provided (a) that no fee is charged for the 
software, for the medium on which it is distributed, for the 
distribution process, or for effort involved in making the distribution;  
(b) that all copyright notices, this permission notice, and the 
following disclaimer remain in these files and appear in supporting 
documentation;  (c) that you do not translate, reverse engineer, 
decompile, or disassemble the software; and (d) that the names of 
IBM, Carnegie Mellon University, and other copyright holders not 
be used in advertising or publicity pertaining to distribution of the 
software.


CARNEGIE MELLON UNIVERSITY, IBM, AND THE OTHER 
COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES 
WITH REGARD TO THIS SOFTWARE, INCLUDING ALL 
IMPLIED WARRANTIES OF MERCHANTABILITY AND 
FITNESS.  IN NO EVENT SHALL CARNEGIE MELLON 
UNIVERSITY, IBM, OR ANY OTHER COPYRIGHT HOLDER 
BE LIABLE FOR ANY SPECIAL, INDIRECT OR 
CONSEQUENTIAL DAMAGES OR ANY DAMAGES 
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR 
PROFITS, WHETHER IN AN ACTION OF CONTRACT, 
NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING 
OUT OF OR IN CONNECTION WITH THE USE OR 
PERFORMANCE OF THIS SOFTWARE.
 $
*/
