xfig 3.1.3

NAME

     xfig - Facility for Interactive Generation of figures under
     X11


SYNOPSIS

     xfig [options] [file]


DESCRIPTION

     Xfig is a menu-driven tool that allows the user to draw and
     manipulate objects interactively under the X Window System.
     It runs under X version 11 release 4 or higher and requires
     a two- or three-button mouse.  file specifies the name of a
     file to be edited.  The description of objects in the file
     will be read at the start of xfig.

     When using a two-button mouse use the <Meta> key and the
     right button at the same time to effect the action of the
     middle button.

     Xfig is available via anonymous ftp from ftp.x.org in
     /contrib/applications/drawing_tools/xfig.

     The TransFig package is used when printing or exporting the
     output from xfig.  It is automatically called by xfig as a
     back-end processor to produce various types of output:

     LaTeX         fig2dev -L latex translates xfig to LaTeX pic-
                   ture environment commands which can be pro-
                   cessed along with other LaTeX commands.

     PostScript    fig2dev -L ps produces an Encapsulated
                   PostScript output.

     IBM-GL        fig2dev -L ibmgl produces a IBM-GL (HP/GL)
                   output.

     Pic           fig2dev -L pic produces a pic output.

     PiCTeX        fig2dev -L pictex produces PiCTeX output.
                   This contains macros that can be used with the
                   PiCTeX environment under TeX or LaTeX.

     Others        fig2dev has options for these other languages:
                   box, epic, eepic, and eepicemu.

     The TransFig package is available via anonymous ftp from
     ftp.x.org in /contrib/applications/drawing_tools/transfig.


OPTIONS

     -L[andscape]
          Make xfig come up in landscape mode (10.5" x 8").  This
          is the default; however as the orientation is stored
          with Fig files, when you load a Fig file the orienta-
          tion will change as required.  This is only true for
          files of version 3.0 or higher.

     -P[ortrait]
          Make xfig come up in portrait mode (8.5" x 9").  See
          note about landscape mode.

     -bg color
          Use color as the background color for the canvas and
          buttons.

     -bol[d] font
          Cause the font used for displaying the file name and
          confirmation messages to be font (default = 8x13bold).

     -butt[on] font
          Cause the font used for most buttons to be font
          (default = 6x13).

     -but_[per_row] number
          Specify the number of buttons wide the mode panel
          should be.  This is useful in conjunction with the
          -pheight parameter to reduce the canvas height for
          small screens.

     -de[bug]
          Turn on debugging mode.  Prints various debugging mes-
          sages like font names etc.

     -do[ntswitchcmap]
          Prevents xfig from switching to a private colormap if
          there aren't enough colors available in the default
          colormap.  See also -maximagecolors.

     -e[xportLanguage] language
          Specifies the language to be used for when exporting a
          fig file.  Choices are:














          Name        Language
          -------------------------------------------
          box         LaTeX box (figure boundary)
          latex       LaTeX picture
          epic        LaTeX picture + epic macros
          eepic       LaTeX picture + eepic macros
          eepicemu    LaTeX picture + eepicemu macros
          pictex      PiCTeX macros
          ibmgl       IBMGL (or HPGL)
          eps         Encapuslated PostScript
          ps          PostScript
          pstex       Combined PS/LaTeX (PS part)
          pstex_t     Combined PS/LaTeX (LaTeX part)
          textyl      Textyl special commands
          tpic        TPIC
          pic         PIC
          xbm         X11 Bitmap
          xpm         X11 Pixmap (XPM3 package)
          gif         GIF
          -------------------------------------------

     -fg color
          Use color as the foreground color and default color for
          objects.

     -fl[ushleft]
          Set the print option to print the figure flush left.
          The default is to center the figure on the page.

     -geom[etry] WxH+X+Y
          Specifies the geometry for Fig application.

     -iconG[eometry] +X+Y
          Specifies the position for the icon.

     -inc[hes]
          Make inches the unit of choice (default).

     -ma[ximagecolors] numcols
          Limit the number of colors used for EPS, GIF or XPM
          images to numcols.

     -me[tric]
          Make centimeters the unit of choice.

          After xfig is started you may change the units from
          metric to imperial or vice versa from a popup menu
          available by pressing mouse button 3 in the units box
          where the two rulers meet.

     -internalBW width
          Use lines of width width between all buttons and panels
          (default = 1).

     -inv[erse]
          Use inverse video (white on black).

     -k[eyFile] compose-key-file
          Use compose-key-file instead of CompKeyDB for compose
          (meta) key database.  If there are no ``/''s in the
          name, the file must reside in the xfig library direc-
          tory, $XFIGLIBDIR, usually /usr/local/lib/X11/xfig.  If
          there are any ``/''s in the name it is taken as is (not
          relative to $XFIGLIBDIR).  If there is a leading ``~/''
          in the string then the ``~'' is expanded to the user's
          home directory.

     -lat[exfonts]
          Start xfig with LaTeX font selection.  Normally, the
          PostScript fonts are available as the default.  This
          flag selects the LaTeX fonts to start.

     -le[ft]
          Change the position of the side panel window to the
          left of the canvas window.

     -mo[nochrome]
          Use black and white only.

     -nor[mal] font
          Cause the font used for the message window and ruler
          numbers to be font.  This font is also used on the can-
          vas when the selected font is not available in an X11
          font (default = 6x13).

     -not[rack]
          Turn off cursor (mouse) tracking arrows.

     -ph[eight] height
          Make the xfig canvas height high (where height is
          either cm or in, depending on the -metric setting).

     -pw[idth] width
          Make the xfig canvas width wide (where width is either
          cm or in, depending on the -metric setting).

     -ri[ght]
          Change the position of the side panel window to the
          right of the canvas window (default: left).

     -sc[alablefonts]
          Allows use of the X11R5 or OpenWindows scalable fonts
          (this is the default).  If the scalable fonts aren't
          available xfig will automatically switch to non-scaling
          fonts.

     -nosc[alablefonts]
          Disables use of the X11R5 or OpenWindows scalable
          fonts.  You might want to use this for debugging.

     -sh[owallbuttons]
          Show all the xfig indicator buttons instead of only
          those relevant to the current drawing mode.  Normally,
          the buttons line width, area-fill, grid mode, text
          size, etc. are only visible when they are relevant to
          the current drawing mode.  The -showallbuttons option
          makes all of the indicator buttons visible at all
          times.  This takes up more screen real estate, but
          allows the user to see all settable parameters.

     -sp[ecialtext]
          Start xfig with the special text mode for text objects.

     -startfi[llstyle] stylenumber
          Set the starting fill style for area fill (-1 to 21).

     -startfo[ntsize] pointsize
          Set the default font size for text objects (default =
          12pt).

     -startg[ridmode] modenumber
          Set the starting grid mode (0 to 3).

     -startla[texFont] font
          Set the starting font name for LaTeX fonts.

     -startt[extstep] stepsize
          Set the starting text step.

     -startli[newidth] width
          Set the starting line width.

     -startp[sFont] font
          Set the starting font name for PostScript fonts.

     -ta[blet]
          Specifies that xfig should use the input tablet instead
          of the mouse for drawing.  You must have the XInputEx-
          tension in your X server and an input tablet for this
          to work.  Also, you must modify the Imakefile to
          include the USETAB and TABLIB variables.

     -te[xtoutline]
          Specifies that xfig will draw a red (on color machines)
          outline of the ``actual'' bounding box of text objects.
          This is not very useful anymore.  In the past it was
          useful to show you the outline of rotated text since
          xfig didn't display rotated text then.

     -tr[ack]
          Turn on cursor (mouse) tracking arrows (default).

     -users[cale] scale
          Set the multiplier for displayed line lengths etc.
          This factor is multiplied by the actual length, radius
          or diameter of the object currently being drawn on the
          canvas.  It is useful for making scale drawings, where
          e.g. 1 inch = 1 foot (userscale = 12.0) or 1cm = 1m
          (userscale = 100.0).

     -useru[nit] units
          The units string is printed with the length information
          when drawing objects.  For example if the userscale =
          1.0 and the userunit = ft then a line which is 3 inches
          long on the canvas would be displayed as ``length = 3
          ft'' when it is being drawn.

          After xfig is started you may change the userscale and
          the userunit from a popup menu available by pressing
          mouse button 3 in the units box where the two rulers
          meet.


GRAPHICAL OBJECTS

     The objects in xfig are divided into primitive objects and
     compound objects.  The primitive objects are: ARC, CIRCLE,
     CLOSED SPLINE, ELLIPSE, POLYLINE, POLYGON, PICTURE, BOX,
     ARC-BOX, SPLINE, and TEXT.

     A primitive object can be moved, rotated, flipped vertically
     or horizontally, scaled, copied, aligned within a compound
     object or erased.  The TEXT primitive may not be flipped.
     The attributes of any primitive object can be edited using a
     popup panel (discussed below), so you can, for instance, set
     the position of an object manually.

     A compound object is composed of primitive objects.  The
     primitive objects that constitute a compound can not be
     individually modified, but they can be manipulated as an
     entity; a compound can be moved, rotated, flipped vertically
     or horizontally, scaled, copied or erased.  A compound that
     contains any boxes or arc-boxes may only be rotated by 90
     degrees.

     Objects may overlap other objects according to their
     ``depth''.  Objects with larger depth number are obscured by
     objects with smaller depth.


     Regular polygons may be created using a special drawing
     mode, but a general POLYGON is created as a result, which
     may then be modified, i.e.  the individual vertices may be
     moved if desired.


DISPLAY WINDOWS

     Ten regions comprise the display area of xfig: the command
     region, top ruler, side ruler, drawing mode region, editing
     mode region, filename region, message region, mouse function
     indicator region and canvas region, and indicator region
     with buttons to set and show current line thickness, line
     style, color, area-fill gray color and several other set-
     tings.  (The mouse function indicator region was inspired by
     the UPS debugger from the University of Kent.) The drawing
     and editing mode regions may be placed (together) to the
     left or right of the the canvas window (default: left).


COMMAND PANEL FUNCTIONS

     Quit Exit from xfig, discarding the figure.  If the figure
          has been modified and not saved, the user will be asked
          to confirm the action, by clicking mouse button 1 on a
          confirm/cancel popup menu.  The accelerator <Meta>q
          will also perform this function.  This and all other
          accelerators are defined in the app-defaults file and
          may be changed if desired.

     Port/Land
          Change shape of xfig canvas from/to portrait/landscape.
          Note:  the canvas will automatically change to the
          portrait/landscape configuration specified in Fig files
          of version 3.0 or higher when loading those files.

     Delete ALL
          Delete all objects from the canvas window (may be
          undone).  The accelerator <Meta>d will also perform
          this function.

     Undo Undo the last object creation, deletion or modifica-
          tion.  The accelerator <Meta>u will also perform this
          function.  If an undo of a Paste or file Merge is done,
          any user-defined colors in the figure pasted in or the
          file just merged will NOT be undefined.

     Redraw
          Redraw the canvas.  There are also two accelerators
          which do a redraw - <Meta>r and <Ctrl>l.

     Paste
          Paste the object previously copied into the cut/paste
          file into the current figure (at its original posi-
          tion).  The accelerator <Meta>t will also perform this
          function.

     File Pressing mouse button 3 on this button invokes Save
          function without popping up the file panel.
          Mouse button 1 or <Meta>f pops up a panel which con-
          tains several file-related functions:

          Current Filename
               This is read-only AsciiTextWidget which contains
               the filename that will be used to write output to
               a file if there is no name specified in the
               Filename panel.

          Filename
               This is an editable AsciiTextWidget which contains
               the filename selected either by clicking on a
               filename from the Alternatives list or by typing a
               name in directly.  Pressing return in the Filename
               window will Load the file and copy the name to the
               Current Filename widget.

          (File) Alternatives
               Pressing mouse button 1 on a filename in the file
               alternatives window will select that file by copy-
               ing the filename into Filename window.  Pressing
               return in this window will Load the file specified
               in the Filename window (if any) or the Current
               Filename widget.

          Filename Mask
               A wildcard mask may be typed into this editable
               AsciiTextWidget to restrict the search of
               filenames to a subset ala the ls command.  Press-
               ing return in this window will automatically res-
               can the current directory.  This string may be set
               by setting the X toolkit resource
               Fig*file_panel*mask*string.

          Current Directory
               This is an editable AsciiTextWidget which shows
               the current directory.  It may be modified by the
               user to manually set a directory name.  When
               return is pressed in this window the directory
               specified is scanned for files matching the
               Filenamemask, if any.

               The ~ (tilde) character may be used to specify a
               user's home directory, ala unix shell tilde expan-
               sion.

          (Directory) Alternatives
               Pressing mouse button 1 on a directory name in the
               directory alternatives list will do a ``change
               directory'' to that directory.
               Pressing mouse button 3 in either the file or
               Directory Alternatives window will do a ``change
               directory'' to the parent directory.

          Load/Merge figure offset
               These two editable AsciiTextWidgets allow one to
               load or merge a figure with an offset on the can-
               vas.  The figure will be offset by the amounts
               specified (in Fig units) in the X and Y panels.  A
               negative value in the X offset will shift the fig-
               ure to the left, and a negative value in the Y
               offset will shift the figure up.

          Home Pressing this button will change the directory to
               the $HOME directory of the user.

          Rescan
               Pressing this button or <Meta>r will rescan the
               current directory.

          Cancel
               Pressing this button or <Meta>c will pop down the
               File panel without making any changes to the
               directory or file name.

          Save Pressing this button or <Meta>s will save the
               current contents of the canvas in the file speci-
               fied in the Filename window if any, or the name
               specified in the Current Filename if the former is
               empty.  If the file already exists a confirmation
               popup menu will appear asking the user to confirm
               or cancel the save.  If there is a filename in the
               Filename window it is copied to the Current
               Filename window.

               The current Export directory is updated to the
               current File directory when Save is pressed.

          Load Pressing this button or <Meta>l will clear the
               canvas of any current figure and read the figure
               from the filename specified in the Filename menu
               item if any, or the name specified in the Current
               Filename if the former is empty.  The figure will
               be offset by the amounts specified (Fig units) in
               the X and Y load/merge offset widgets.  If there
               is a figure currently on the canvas and any modif-
               ications have been made to it and not saved, a
               popup query window will first appear asking if the
               user wishes to discard the current figure or can-
               cel the Load operation.

               The current Export directory is updated to the
               current File directory when Load is pressed.

               A popup message window will appear and diagnostic
               messages will be written if xfig changes any
               ``illegal'' object values to legal values.  For
               example, older versions of xfig were lax about
               initializing unused parts such as depth, and would
               produce very large, random values.  Xfig now will
               ``clean up'' bad values and inform you when it
               does so.  Also, if you read in an older file for-
               mat, xfig will inform you that it is converting it
               to the current format for that version of xfig.
               This window can be popped down by clicking the
               mouse button on the Dismiss button.

          Merge Read
               Pressing this button or <Meta>r will read the fig-
               ure from the filename specified in the Filename
               window if any, or the name specified in the
               Current Filename if the former is empty, and merge
               it with the figure already shown on the canvas.
               The figure will be offset by the amounts specified
               (Fig units) in the X and Y load/merge offset widg-
               ets.  Any user-defined colors in the file being
               merged will be renumbered if necessary to unique
               values so as not to conflict with any user-defined
               colors already defined.  There is no comparison of
               the color values of the existing user-defined
               colors with the colors being merged in so there
               may be identical colors with different numbers.

               See Load above for a description of the popup mes-
               sage window.

     Export
          Will let you export the figure to an output file in one
          of several formats.  Pressing mouse button 3 on this
          button invokes Export function without popping up the
          export panel.
          Mouse button 1 or <Meta>e pops up a directory browser
          widget and a menu with several export-related func-
          tions:

          Magnification
               This is an editable AsciiTextWidget which contains
               the magnification to use when translating figure
               to the output language.  The default is 100%.

          Orientation
               This button will toggle the output orientation
               between Landscape (horizontal) and Portrait (vert-
               ical).  The default orientation is the same as the
               mode that xfig was started with, or the orienta-
               tion in the Fig file when loading a Fig file of
               version 3.0 or higher.

          Justification
               This window will only be sensitive when the
               language selected is ``ps'' (PostScript).  You may
               choose that the figure is flush left or centered
               in the output file.  Export Offset These two edit-
               able AsciiTextWidgets allow one to export a figure
               with an offset.  The figure will be offset by the
               amounts specified (in inches or cm) in the X and Y
               panels.  A negative value in the X offset will
               shift the figure to the left, and a negative value
               in the Y offset will shift the figure up.  These
               offsets are in addition to any centering done with
               the centering option.

          Language
               The translation language to use for xfig output
               when output is directed to a file.  The default is
               PostScript.  The figure may be saved as an X11
               bitmap by choosing X11 Bitmap as the output
               language.  The bitmap(pixmap) is created from the
               figure, the size of which is determined by the
               enclosing rectangle of all the figure plus a small
               border.  The figure may also be saved as an color
               X11 pixmap (using the XPM3 package) by choosing
               X11 Pixmap as the output language.  Finally, the
               figure may be saved as a GIF file.  The pixmap is
               created from the figure, the size of which is
               determined by the enclosing rectangle of all the
               figure plus a small border.

          Default Output Filename
               This is read-only AsciiTextWidget which contains
               the filename that will be used to write output to
               a file if there is no name specified in Output
               File.  The default is the figure name plus an
               extension that reflects the output language used,
               e.g.  myfigure.ps if PostScript is the current
               language used.  If the file already exists a con-
               firmation popup menu will appear asking the user
               to confirm or cancel the save.

          Output Filename
               This is an editable AsciiTextWidget which contains
               the filename to use to write output to a file.
               Pressing return in this window will Export the
               file and copy the name to the Default Output
               Filename widget.  If the file already exists a
               confirmation popup menu will appear asking the
               user to confirm or cancel the save.

          (File) Alternatives
               Pressing mouse button 1 on a filename in the file
               alternatives window will select that file by copy-
               ing the filename into Filename window.  Pressing
               return in this window will Export the file and
               copy the name to the Default Output Filename
               widget.

          Filename Mask
               A wildcard mask may be typed into this editable
               AsciiTextWidget to restrict the search of
               filenames to a subset ala the ls command.  Press-
               ing return in this window will automatically res-
               can the current directory.  This string may be set
               by setting the X toolkit resource
               Fig*export_panel*mask*string.

          Current Directory
               This is an editable AsciiTextWidget which shows
               the current directory.  It may be modified by the
               user to manually set a directory name.  When
               return is pressed in this window the directory
               specified is scanned for files matching the
               Filenamemask, if any.

               It is automatically updated to follow the current
               File directory when a File Load or Save is done.

               The ~ (tilde) character may be used to specify a
               user's home directory, ala unix shell tilde expan-
               sion.

          (Directory) Alternatives
               Pressing mouse button 1 on a directory name in the
               directory alternatives list will do a ``change
               directory'' to that directory.

               Pressing mouse button 3 in either the file or
               Directory Alternatives window will do a ``change
               directory'' to the parent directory.

          Home Pressing this button will change the directory to
               the $HOME directory of the user.

          Rescan
               Pressing this button or <Meta>r will rescan the
               current directory.

          Cancel
               Pressing this button or <Meta>c will pop down the
               Export menu without doing any print operation.

          Export
               Pressing this button or <Meta>e will write
               (export) the figure to the file using the selected
               language.  If the file already exists, a confirma-
               tion window will popup to ask the user to confirm
               the write or cancel.  Pressing return in the Out-
               put Filename window will also Export the file.

     Print
          Pressing mouse button 3 on this button invokes Print to
          Printer function without popping up the print panel.
          Pressing the Shift key and mouse button 3 invokes the
          Print to Batch function.  Pressing mouse button 1 or
          <Meta>p pops up a menu with several print-related func-
          tions:

          Magnification
               This is an AsciiTextWidget which contains the mag-
               nification to use when translating figure to the
               output language.

          Orientation
               This button will toggle the output orientation
               between Landscape (horizontal) and Portrait (vert-
               ical).  The default orientation is the same as the
               mode that xfig was started with, or the orienta-
               tion in the Fig file when loading a Fig file of
               version 3.0 or higher.

          Justification
               This button will bring up a sub-menu from which
               you may choose center or flush left to justify the
               figure on the page.  The default is flush left.

          Printer
               This is an AsciiTextWidget which contains the
               printer to use if output is directed to a printer.
               The name of the printer may be set setting the X
               toolkit resource Fig*printer*string.  If no
               resource is set, the environment variable PRINTER
               is used.

          Print Job Params
               This is an AsciiTextWidget which into which you
               may put any extra command-line parameters that
               your lpr or lp program needs for printing.  This
               may be set using the resource
               Fig*job_params*string.

          Figures in batch
               This indicator shows how many figures have been
               put in the batch file for printing

          Dismiss
               Pressing this button or <Meta>c will pop down the
               Print menu.

          Print FIGURE/BATCH to Printer
               Pressing this button or <Meta>p will send the
               current figure (or the batch file if it is has any
               figures in it) to the printer, by passing it
               through fig2dev to convert it to PostScript then
               to the unix lpr (on BSD equivalent Unixes) or lp
               (on SYSV systems) program.  If the batch file is
               printed by this button then it is removed after
               printing.  The message in the button changes to
               reflect whether the batch file will be printed
               (when there are any figures in the batch file) or
               the current figure.

               Note that the figure that is printed is what you
               see on the canvas, not necessarily the figure
               file.  I.e., if you haven't saved the figure since
               the last changes, the figure from the canvas is
               printed.  Xfig writes the figure to a temporary
               file to do this.  The name of the file is
               XFIGTMPDIR/xfig-printPID, where XFIGTMPDIR is the
               value of the environment variable by that name and
               PID is the process ID of xfig.  If the environment
               variable XFIGTMPDIR is empty or not set, the /tmp
               directory is used.  Print FIGURE to Batch Pressing
               this button or <Meta>b will append the figure (in
               PostScript form) to a batch file.  The Print to
               Printer button will send the batch file to the
               printer.

          Clear Batch
               Pressing this button or <Meta>x will erase the
               accumulated figures from the batch file.


INDICATOR PANEL COMMAND DESCRIPTIONS

     The indicator panel contains buttons to set certain drawing
     parameters such as line thickness, canvas grid, rotation
     angle etc.  All of the buttons use the same mouse buttons
     for setting values.  Pressing mouse button 1 on the indica-
     tor will pop up a panel in which either a value may be typed
     (e.g. for a line thickness) or the mouse may be clicked on
     one of several buttons (e.g. for grid style or font name).
     For those that expect a value, pressing return in the value
     part of the window will set the new value and pop down the
     menu.

     Pressing mouse button 2 on an indicator will decrement the
     value (e.g. for line thickness) or cycle through the options
     in one direction (e.g. font names), while pressing mouse
     button 3 will increment the value or cycle through the
     options in the other direction.

     ZOOM SCALE
          The canvas zoom scale may be set/increased/decreased
          with this button.  The zoom scale is displayed within
          the zoom button.  Ruler, grid and linewidth are scaled,
          too.  Pressing mouse button 2 will decrease the zoom
          factor by 1.0 unless it is less than 1.0 already in
          which case it will reduce to the nearest 0.25.  Press-
          ing mouse button 3 will increase the zoom factor by 1.0
          unless it is less than 1.0 in which case it will
          increase it to the nearest 0.25.  Pressing the control
          key and mouse button 3 together will set the zoom scale
          to 1.

          The figure may also be zoomed by defining a zoom rec-
          tangle by pressing the control key and mouse button 1
          together.  This will define one corner of the zoom rec-
          tangle.  Move the mouse and click mouse button 1 again
          to define the opposite corner of the zoom rectangle.

     GRID MODE
          With this button the user may select no grid, 1/4 inch
          (5mm in metric mode) grid 1/2 inch (10mm) grid, or 1
          inch (20mm).

     POINT POSITION
          This button controls the coarseness of object placement
          on the canvas.  The options are exact (on pixel) place-
          ment, 1/16 inch (2mm in metric mode), 1/4 inch (5mm) or
          1/2 inch (10mm).  This allows the user to easily place
          objects in horizontal or vertical alignment.

          This also restricts which objects may be ``picked up''
          by the mouse when editing.  If a corner of an object is
          not positioned on the canvas on a multiple of the point
          positioning resolution you may not be able to pick it.
          If this happens, a black square will temporarily appear
          above the mouse cursor.  This square will also appear
          anytime the user tries to pick a nonexistent object.

     ROTATION ANGLE
          The rotation angle for rotating objects may be
          set/increased/decreased with this button.  Note that
          not all objects may be rotated, and certain objects may
          only be rotated by certain angles.  Pressing mouse but-
          ton 2 will decrease the angle in steps of 15 degrees,
          while mouse button 3 will increase the angle the same
          amount.  To select other angles, press mouse button 1
          and enter the angle in the popup menu.

     DEPTH
          The depth at which new objects will be created may be
          set/increased/decreased with this button.

     NUMBER OF POLYGON SIDES
          The number of sides used in creating a REGULAR POLYGON
          is set with this button.

     NUMBER OF COPIES
          The number of copies to make when doing a COPY & ROTATE
          function on an object.  Each copy will be rotated an
          additional ROTATION ANGLE angle from the previous.
          NOTE: The undo command will only undo the last of the
          objects created.

     NUMBER OF X (or Y) COPIES
          The number of copies to make in the X (or Y) direction
          when doing a COPY function on an object.
          NOTE: The undo command will only undo the last of the
          objects created.

     SMART-LINKS MODE
          This button controls the smart-links mode.  When turned
          on, lines which link box-like objects together (hen-
          ceforth called links) are treated specially when one of
          the box-like objects is moved.  When set to MOVE mode,
          the end point of the link which touches (or is very
          near) the perimeter of the box is moved with the box so
          that the box and the end point remain linked.  When set
          to SLIDE mode, the end segment of the link slides so
          that the box remains linked and the angle of the end
          segment is maintained.  This is useful for keeping the
          last segment of a link horizontal or vertical.

          (At the moment, this mode only works for the MOVE and
          COPY functions and only works for POLYLINE links and
          box-like objects.  Another limitation at the moment is
          that if both ends of a link touch the box being
          operated on, only one end of the link will be
          adjusted.)

     VERTICAL ALIGN
          This sets the vertical alignment mode for the ALIGN
          button in the editing mode panel.  The choices are no
          vertical alignment, align to top edge, middle or bottom
          edge of compound, distribute the centres or edges
          evenly, or abut the vertical edges together.  The HOR-
          IZONTAL ALIGN and VERTICAL ALIGN indicator settings are
          used together to align objects inside a compound or in
          canvas.

     HORIZONTAL ALIGN
          This sets the horizontal alignment mode for the ALIGN
          button in the editing mode panel.  The choices are no
          horizontal alignment, align to left edge, middle or
          right edge of compound, distribute the centres or edges
          evenly, or abut the horizonaal edges together.  The
          HORIZONTAL ALIGN and VERTICAL ALIGN indicator settings
          are used together to align objects inside a compound or
          in canvas.

     ANGLE GEOMETRY
          The following settings are available to restrict the
          drawing angle of line segments in POLYLINES, POLYGONS
               and SPLINES.

          UNRESTRICTED
               Allow lines to be drawn with any slope.  This is
               the default setting.

          LATEX LINE
               Allow lines to be drawn only at slopes which can
               be handled by LaTeX picture environment lines:
               slope = x/y, where x,y are integers in the range
               [-6,6].

          LATEX VECTOR
               Allow lines to be drawn only at slopes which can
               be handled by LaTeX picture environment vectors:
               slope = x/y, where x,y are integers in the range
               [-4,4].

          MANHATTAN-MOUNTAIN
               Allow lines to be drawn in the horizontal, verti-
               cal or diagonal direction only.

          MANHATTAN
               Enforce drawing of lines in the horizontal and
               vertical direction only.  The name Manhattan comes
               from the horizontal/vertical look of the Manhattan
               (New York City) skyline.

          MOUNTAIN
               Enforce drawing of only diagonal lines.  The name
               comes from the pointed shape of mountains.

     FILL STYLE
          This button allows the user to select the area fill
          darkness (grey scale or color intensity) or fill pat-
          terns for all objects except TEXT and PICTURE, or to
          turn off area fill altogether.
          There are 21 ``shades'' going from black to full
          saturation of the fill color, and 21 more ``tints''
          from full saturation + 1 to white.  In addition, there
          are 16 patterns:
               30 degree left-leaning diagonal lines,
               30 degree right-leaning diagonal lines,
               30 degree crosshatch,
               45 degree left-leaning diagonal lines,
               45 degree right-leaning diagonal lines,
               45 degree crosshatch,
               bricks,
               circles
               horizontal lines,
               vertical lines,
               90 degree crosshatch,
               fishscales,
               small fishscales,
               octagons,
               horizontal ``sawtooth'' and
               vertical ``sawtooth''.

     PEN COLOR
          This button is used to select one of 32 standard colors
          for the borders of objects, or one of the user-defined
          colors

     FILL COLOR
          This button is used to select one of 32 standard colors
          or user-defined color to fill objects with if they have
          a fill style.

          Pressing mouse button 1 on either the fill or pen color
          buttons will popup an extended color panel, allowing
          the user to select either a standard color or a user-
          defined color from menus.

          The 32 standard colors are black, yellow, white, gold,
          five shades of blue, four shades of green, four shades
          of cyan, four shades of red, five shades of magenta,
          four shades of brown, and four shades of pink.

          To select one of the standard colors either click mouse
          button 1 on the desired color and either press Return
          or click mouse button 1 on the "Ok" button.  The latter
          step will pop down the color panel.  You may also dou-
          ble click mouse button 1 on the desired color to select
          it and pop down the color panel in one step.

          To add a user-defined color press mouse button on the
          ``Add Color'' button in the ``User Defined Colors''
          section.  User defined colors are assigned values
          sequentially starting from 32 for a maximum of 512
          colors.

          A user color may be deleted by pressing mouse button 1
          on the color box to select it and then pressing the
          ``Del Color'' button.

          The last color deleted may be undeleted by pressing the
          ``UnDel Color'' button.

          To edit a user color first select the color square by
          pressing mouse button 1 on the desired square. A solid
          or dashed line will be drawn around the box to show
          that it is selected.  Then choose the color either by
          using the RGB (red, green, blue) or the HSV (hue,
          saturation, value) sliders.  or by typing a hexadecimal
          value into the window under the pen or fill color boxes
          representing the red, green and blue components (00 to
          FF).  If the latter is used, typing carriage return in
          the hexadecimal window will set the color.

          Additionally, there is a button above each of the RGB
          sliders which when activated will ``lock'' two or more
          sliders together at their current setting and allow you
          to increase or decrease their values together with the
          ``lock'' slider.

          If the user color being edited was just created, a
          dashed line will be drawn around the box instead of a
          solid line to indicate that it is new.  The color that
          is currently in the pen or fill boxes will be copied
          into the user color cell for modification.  In this way
          you may start with a standard color or other user color
          and modify it from there.

          The user color is said to be ``defined'' when any of
          the sliders is moved or a carriage return is typed into
          the hexadecimal window.  This will be shown by a solid
          line being drawn around the square instead of dashed.

          The pen or fill color choice is activated when the
          panel is popped up by the respective button in the
          indicator panel, but you may switch to editing the
          other color by pressing either the ``Edit Pen'' or
          ``Edit Fill'' button.

          Note that TransFig supports color output for
          PostScript.  On monochrome screens the objects are
          created with the selected color, but black (or white)
          is used to draw the objects on the canvas.

     LINE WIDTH
          The width of lines may be selected with this button.
          Zero width lines may be drawn for the purpose of having
          filled areas without outlines.

     LINE STYLE
          The choices for line style are solid, dashed and dot-
          ted.  Once created, a dashed or dotted line may be
          edited to change the length of dashes or the spacing of
          dots respectively.  The dash length and dot gap can be
          changed from the default using the popup menu.

     JOIN STYLE
          Lines may be joined with a miter, rounded or bevel
          joint.  This is only used for POLYLINE or POLYGON
          objects.

     CAP STYLE
          The ends of lines may be capped with butt, round or
          projecting cap.  This is only used for POLYLINE, SPLINE
          or OPEN ARC objects.

     ARROW MODE
          This button selects the auto-arrow mode for drawing
          lines.  The options are no arrow heads, backward-
          pointing arrow head, forward-pointing arrow head or
          both.  If one or both arrow head modes are turned on,
          then arrow heads are automatically drawn when drawing
          POLYLINE, SPLINE or OPEN ARC objects.

     ARROW TYPE
          There are four types of arrows which may be filled with
          white or the object color.

     BOX CURVE
          The radius of the corners on ARC-BOX objects may be set
          with this button.

     TEXT JUSTIFICATION
          The adjustment of text may be set to left, center or
          right justification.

     TEXT SIZE
          The text size may be set/increased/decreased with this
          button.  The default is 12 points.

     TEXT STEP
          The interline spacing of text may be
          set/increased/decreased with this button.  The number
          displayed gives the multiple of the font height that
          will be placed between lines on hitting <return>.  The
          default is a factor of 1.2 times the current font size.

     TEXT FONT
          This button allows a selection of 35 fonts available
          for most Apple PostScript printers.  There are two but-
          tons at the top of the menu.  The cancel button pops
          down the menu without changing the current font.  The
          use latex fonts will switch the menu to the LaTeX font
          choices.  When the LaTeX font menu is up, besides a
          cancel button there is a button to switch back to the
          PostScript fonts.

          The name of the font is printed in the font itself so
          that one may see what that font looks like.  If a
          corresponding X11 font exists, new text is created on
          the canvas using that font.  xfig uses the size of X11
          font closest to that selected by the font size button.
          If the X11 font doesn't exist, xfig uses the font
          selected by the -normal option.  To abort selection of
          a font, click mouse button 1 on cancel.

     TEXT FLAGS
          This button displays the current setting of the text
          flags.  You may use mouse buttons 2 and 3 to step back
          and forth through the three flag settings: Hidden,
          Rigid and Special.  To change any of the flags you must
          use mouse button 1 to popup a menu from which you may
          change any or all of the flags.

          The Hidden and Special attributes of text objects are
          used with figures that will be incorporated into LaTeX.
          Please see the documentation for LaTeX for further
          information.  The default for the Hidden flag is off.
          The default for the Special flag is off unless xfig is
          started with the command-line parameter -specialtext
          (resource specialtext).

          The Rigid attribute forces text to remain the same size
          even if inside a compound object that is scaled up or
          down.  The default is off.


DRAWING AND EDITING MODE PANELS

     Icons in the drawing and editing mode panel windows
     represent object manipulation functions, modes and other
     drawing or modification aids.  Manipulation functions are
     selected by positioning the cursor over the icon represent-
     ing the desired drawing/editing function and clicking mouse
     button 1.  The selected icon is highlighted, and a message
     describing its function appears in the message window.  The
     hilighting remains on until another function is selected.


DRAWING MODE PANEL COMMAND DESCRIPTIONS

     The drawing mode panel contains buttons used to create the
     various xfig objects.  Once the drawing mode is selected,
     the object is created by moving the mouse to the point on
     the canvas where the object is to be placed and pressing and
     releasing mouse button 1.  After that the mouse is moved to
     the second point and mouse button 1 is again pressed for the
     next point.  For those objects which may have more than two
     points (e.g. a line), mouse button 1 may be pressed for each
     successive point, and mouse button 2 must be pressed to fin-
     ish the object.  To create a single point using the POLYLINE
     button, press and release mouse button 2.  For the ARC
     object, which requires exactly three points mouse button 1
     is used for all three points.

     At any time mouse button 3 may be pressed to cancel the
     creation of the object.

     ARC  Create an arc.  Specify three points using mouse button
          1.  The first and last points will form the endpoints
          of the arc and the second specifies any point on the
          arc.  There are two types of arcs, open and pie-wedge.

     BOX  Create rectangular boxes.  Start by clicking mouse but-
          ton 1 on any corner of the desired box and finish with
          the same mouse button on the diagonally opposite corner
          of the box.

     ARC-BOX
          Create rectangular boxes with rounded corners.  Start
          and finish with mouse button 1 in the same way as BOX.
          The radius of the corners is selected by the BOX CURVE
          button.

     CIRCLE
          Create circles by specifying their radii or diameters.
          Click mouse button 1 on the center of the circle and
          drag the mouse until the desired radius or diameter is
          attained.  Click mouse button 1 again to finish the
          circle.

     ELLIPSE
          Create ellipses using the same procedure as for the
          drawing of circles.

     PICTURE OBJECT (PIC)
          This has been changed from the previous (2.1) version
          to be more generic, allowing GIF files, X11 bitmap
          (monochrome) files and X11 pixmap (XPM3) color files in
          addition to Encapsulated PostScript files to be
          imported.  In the future, more formats will be
          included.  Compressed (.Z) and gzipped (.z or .gz)
          files are also handled.  You must have the XPM3
          libraries installed to use the XPM import/export
          features.  See the README and Imakefile files.

          A Floyd-Steinberg dithering is applied to color images
          for monochrome displays.

          For EPS files, xfig will attempt to use Ghostscript to
          generate a color image if xfig is running on an color
          display.  Ghostscript must be compiled with with the
          "gif8" and "pbmraw" drivers.  The pbm driver is used
          when you run xfig on a monochrome display and the gif8
          driver is used on a color display.

          Ghostscript is available from prep.ai.mit.edu.

          A neural network color allocation scheme is used when
          the number of colors for all the color images on the
          canvas exceeds the lesser of the number of free color-
          cells or the value in the resource Max_image_colors
          (command-line parameter -maximagecolors).  Whenever a
          new color image is added to the canvas, the colors for
          all the images on the canvas are reallocated and the
          images are redrawn.  No reallocation is done when
          images are deleted from the canvas.

          Click mouse button 1 on any corner for the PIC object
          and finish by clicking mouse button 1 again on the
          diagonally opposite corner.  The EDIT popup panel will
          appear and the file name of the PIC object may be
          entered.  After pressing DONE or APPLY (see the
          description of the EDIT panel for the difference
          between the DONE and APPLY buttons) the bitmap part of
          the PIC object will appear in the box just created.  If
          no PIC file is available yet or no name is entered or
          in the case of an Encapsulated PostScript file there is
          no preview bitmap pressing DONE will pop down the edit
          panel and the word <empty> or the PIC file name will
          remain in the PIC box.  Later, when the name of the PIC
          file is known or the file is available, you may re-read
          the PIC file using the popup edit panel and the bitmap
          part of the PIC file will replace the name in the box.

          If you want the original size of the PIC object, press
          the ``Use orig size'' button and the eps bitmap will
          enlarge or shrink to the size specified in the preview
          bitmap of the PIC file.  If you want the PIC object to
          be approximately the size of the rectangle specified
          with the mouse but want the aspect ratio to be same as
          the original, press either ``Shrink to orig'' or
          ``Enlarge to orig'' buttons.  You must press the APPLY
          button to see these effects.

     INTERPOLATED SPLINE
          Create (cubic spline) spline objects.  Enter control
          vectors in the same way as for creation of a POLYLINE
          object.  At least three points (two control vectors)
          must be entered.  The spline will pass through the
          entered points.

     POLYLINE
          Create polylines (line segments connecting a sequence
          of points).  Enter points by clicking mouse button 1 at
          the desired positions on the canvas window.  Click
          mouse button 2 to finish.

     POLYGON
          Same as POLYLINE except that a line segment is drawn
          connecting the first and last points entered.

     REGULAR POLYGON
          The number of sides is first selected with the NUM
          SIDES button in the indicator panel.  Then mouse button
          1 is clicked on the center and the mouse dragged to the
          desired size.  The object may be rotated as it is being
          created by moving the mouse up or down relative to the
          starting point.  Click mouse button 1 to finish.

     CLOSED INTERPOLATED SPLINE
          Create closed or periodic splines.  The function is
          similar to POLYGON except that a closed interpolated
          spline is drawn.  The spline will pass through the
          points (knots).

     CLOSED SPLINE
          Create closed or periodic spline objects.  The function
          is similar to POLYGON except that a closed spline will
          be drawn instead of polygon.  The entered points are
          just control points; i.e. the spline will not pass any
          of these points.

     SPLINE
          Create (quadratic spline) spline objects.  Enter con-
          trol vectors in the same way as for creation of a POLY-
          LINE object.  At least three points (two control vec-
          tors) must be entered.  The spline will only pass
          through the two end points.

     TEXT Create text strings.  Click mouse button 1 at the
          desired position on the canvas window, then enter text
          from the keyboard.  Text may be pasted from the PRIMARY
          cut buffer (xterm cut/paste buffer) by pressing the F18
          function key (the Paste key on Sun keyboards) or any
          key/button defined in the translation table for the
          canvas.  See the default Fig.ad file for example.  Text
          is drawn using the current font, font size and justifi-
          cation settings.  A DEL or ^H (backspace) will delete a
          character, while a ^X will erase the entire line.
          Finish by clicking mouse button 2 or typing the
          <return> key.  If <return> is used, the text pointer
          automatically moves to the next ``line'', a distance of
          the font height times the value in the TEXT STEP but-
          ton, and text input mode is re-entered.  To finish text
          fully, click mouse button 2 or choose any panel button
          that changes modes (e.g. box, save, etc).  To edit
          text, click on an existing text string with mouse but-
          ton 1.  Insertion of characters will take place at that
          point.  Or, use the popup EDIT mode to modify the text.

          Eight-bit characters may be entered using the meta
          (compose) key.  For example, to create an ``a umlaut'',
          hold down the meta key while pressing the letter ``a'',
          then press " (quote).  To create a ``c cedilla'', use
          <meta>c followed by comma.  The following is a list of
          all special characters available using the meta key:

          Keys    Character Name
          -------------------------------------
          !!      upside-down exclamation point
          ??      upside-down question mark
          C/      cent sign
          L-      British pound
          OX      currency
          Y-      yen
          __      broken vertical bar
          SO      section
          ""      dieresis
          CO      copyright
          RO      registered trademark
          _a      ordfeminine
          _o      ordmasculine
          <<      guillemotleft
          >>      guillemotright
          -|      notsign
          --      hyphen
          +-      plusminus
          ^-      macron
          ^*      degree
          ^.      periodcentered
          ^1      onesuperior
          ^2      twosuperior
          ^3      threesuperior
          14      onequarter
          12      onehalf
          34      threequarters
          \\      acute
          **      multiply
          -:      division
          /u      mu
          P!      paragraph
          A`      A accent grave
          A'      A accent acute
          A^      A accent circumflex
          A~      A accent tilde
          A"      A dieresis
          A*      A ring
          AE      AE
          a`      a accent grave
          a'      a accent acute
          a^      a accent circumflex
          a~      a accent tilde
          a"      a dieresis
          a*      a ring
          ae      ae
          C,      C cedilla
          c,      c cedilla
          D-      Eth
          d-      eth
          E`      E accent grave
          E'      E accent acute
          E^      E accent circumflex
          E"      E dieresis
          e`      e accent grave
          e'      e accent acute
          e^      e accent circumflex
          e"      e dieresis
          I`      I accent grave
          I'      I accent acute
          I^      I accent circumflex
          I"      I accent dieresis
          i`      i accent grave
          i'      i accent acute
          i^      i accent circumflex
          i"      i dieresis
          N~      N tilde
          n~      n tilde
          O`      O accent grave
          O'      O accent acute
          O^      O accent circumflex
          O~      O accent tilde
          O"      O dieresis
          O/      O slash
          OE      OE
          o`      o accent grave
          o/      o accent acute
          o^      o accent circumflex
          o~      o accent tilde
          o"      o dieresis
          o/      o slash
          oe      oe
          P|      Thorn
          p|      thorn
          ss      German ss (s-zed)
          U`      U accent grave
          U'      U accent acute
          U^      U accent circumflex
          U"      U dieresis
          u`      u accent grave
          u'      u accent acute
          u^      u accent circumflex
          u"      u dieresis
          Y'      Y accent acute
          y'      y accent acute
          y"      y dieresis
          -------------------------------------

          Note: the two special characters OE and oe are not
          displayed on the screen, but they are printed by
          fig2dev.


EDITING MODE PANEL COMMAND DESCRIPTIONS

     When a button in the editing mode panel is pressed, any
     objects that may be affected by that editing operation will
     show their corner markers.  Only those objects may be
     affected by the particular edit mode.  In cases where two
     edit modes exist for one button, it may be that the corner
     markers will appear for objects that may be affected by one
     button but not the other.


SELECTING OBJECTS

     When multiple objects have points in common, e.g. two boxes
     that touch at one corner, only one object can be selected by
     clicking on that point.  To select other objects, hold down
     the shift key while pressing mouse button 1: the markers of
     one object will be temporarily highlighted.  By repeatedly
     clicking mouse button 1 while holding down the shift key, it
     is possible to cycle through all candidates for selection at
     that point.  To perform the selected action, e.g.  deleting
     one box, click on the point without holding down the shift
     key.  The operation will be performed on the highlighted
     object.

     Note: If the mouse is not clicked near enough to an object
     marker or for whatever reason xfig cannot ``find'' the
     object the user is trying to select, a black square will
     temporarily appear above the mouse cursor.

     GLUE COMPOUND
          Compound objects are created by first tagging the
          objects to be compounded and then pressing mouse button
          3 to group the tagged objects into a compound object.
          Single objects are tagged by clicking on them with
          mouse button 1.  A number of objects can be tagged at
          once by using mouse button 2 to define the upper-left
          and lower-right corners of a region enclosing the
          objects.  Tagged objects are shown with highlighted
          markers.  Tagged objects which are selected (see the
          SELECTING OBJECTS section above) will be temporarily
          unhighlighted.  There is currently no special command
          to tag or untag all of the objects within a figure.
          You can untag all of the objects by changing from GLUE
          mode to some other mode (apart from BREAK) and back
          again.

     BREAK COMPOUND
          Break a compound object to allow manipulation of its
          component parts.  Click mouse button 1 on one of the
          corner markers of the compound object or along one of
          the imaginary lines defining the compound box.  Click-
          ing with mouse button 2 will achieve the same effect
          but will also tag the component parts (although you
          will not see the tags until you change to the GLUE
          mode).  You can use this feature to easily alter the
          objects within a compound.

     SCALE OBJECT
          Any object may be scaled.  If mouse button 1 is pressed
          on a BOX or ARC-BOX object, then that object will be
          scaled proportionally to its aspect ratio.  If mouse
          button 2 is pressed on any object, that object will be
          scaled up or down about its center.  Text may only be
          scaled if inside a compound object and then only if its
          RIGID flag is set to NORMAL (using the popup edit
          panel).  See the TransFig manual for description of
          text options.

     ALIGN
          Align objects.  Click mouse button 1 to align objects
          inside a compound object or mouse button 2 to align all
          objects on canvas according to the setting in the VERT-
          ICAL ALIGN and HORIZONTAL ALIGN indicators.  Note that
          alignment with respect to the canvas doesn't work for
          distributing or abutting.  The choices are the cumula-
          tive effect of vertically aligning the objects to the
          TOP, MIDDLE or BOTTOM edge and horizontally aligning to
          the LEFT, MIDDLE or RIGHT edge of the compound, along
          with distributing or abutting the objects vertically or
          horizontally.

     MOVE POINT
          Modify the position of a point of any object except
          TEXT and COMPOUND objects.  For unrestrained movement,
          click mouse button 1 over the desired point, reposition
          the point, and click the left button again.  For hor-
          izontally or vertically constrained move, click mouse
          button 2 on the desired point and move either
          horizontally or vertically.  Notice that once you
          choose the direction (horizontal or vertical), movement
          is constrained in that direction.  If, after moving the
          mouse initially, it is moved in the other direction a
          greater distance than the current position of the mouse
          relative to the starting point, then that will be the
          new constraint direction.  In other words if you first
          move the mouse horizontally one inch (say) then move it
          vertically 1.3 inches, the direction will switch to
          vertical until any horizontal motion exceeds 1.3
          inches.  When the object is positioned where desired,
          click mouse button 1 to place it if that button was
          used to start the move (unconstrained), or mouse button
          2 (constrained) if that button was used.

     MOVE Move object.  Click mouse button 1 (unconstrained move)
          or mouse button 2 (constrained move) on any corner
          marker of the object to be moved.  The
          horizontal/vertical constrained movement (mouse button
          2) works exactly as described for MOVE POINT.

     ADD POINTS
          Add points to POLYLINE, POLYGON, SPLINE, or CLOSED
          SPLINE objects (points of a BOX can not be added or
          deleted).  Note that a REGULAR POLYGON is really an
          ordinary POLYGON, so adding points to this object is
          allowed and does NOT keep the polygon regular.

     COPY / CUT TO CUT BUFFER
          Copy object to canvas or cut buffer.  Click mouse but-
          ton 1 (unconstrained copy) or mouse button 2 (con-
          strained copy) on any corner marker of the object to be
          copied (for CIRCLE and ELLIPSE objects, mouse may also
          be clicked on their circumferences).  The object will
          be duplicated and then moved exactly as in MOVE.

          If the number of X or Y copies is non-zero (from the
          bottom panel) then that many copies will be made in
          each respective direction, spaced evenly by the amount
          of the distance the object is placed from the original
          object.

          If mouse button 3 is clicked on an object, that object
          is copied to the cut buffer for pasting into this or
          another figure.  The file used for the cut buffer is
          called .xfig in the user's $HOME directory.  This
          allows a user to run two or more xfig processes and
          cut/paste objects between them.  If there is no $HOME,
          a file is created in a temporary directory called xfig-
          PID where PID is the xfig process ID.  The temporary
          directory used is specified in the environment variable
          XFIGTMPDIR.  If that variable is empty or not set then
          /tmp is used.

     DELETE POINTS
          Delete points from POLYLINE, POLYGON, SPLINE, or CLOSED
          SPLINE.  Objects (points of a BOX or ARC-BOX can not be
          added or deleted).  Note that a REGULAR POLYGON is
          really an ordinary POLYGON, so deleting points from
          this object is allowed and does NOT keep the polygon
          regular.

     DELETE
          Click mouse button 1 on an object to delete the object.
          Delete a region of the canvas by clicking mouse button
          2 and dragging the mouse to define an area of objects
          to delete.  Clicking mouse button 3 on an object will
          copy the object to the cut buffer (see COPY/CUT TO CUT
          BUFFER above).

     EDIT OBJECT
          Edit settings for an existing object.  Click mouse but-
          ton 1 on the object and a pop-up menu will appear show-
          ing existing settings for the object.  Some of the menu
          entries may be changed by typing new values in the
          appropriate windows.  These are editable Ascii-
          TextWidgets and allow cut and paste.  Others pop up a
          sub-menu of multiple choices when pressed and held.
          Yet others are buttons which toggle a setting on or off
          (e.g. arrow heads on lines).

          Press the ``done'' button to apply the changes to the
          object and finish.  Press the ``apply'' button to apply
          the changes but keep the menu up for further changes.
          Press the ``cancel'' button to cancel the changes and
          pop down the menu.

          The following table shows which settings are used for
          the different objects.

Object    Angle Fill   Line  Line  Cap   Join  Box   Pen   Fill  Radius
                Style  Width Style Style Style Curve Color Color
-----------------------------------------------------------------------

Arc + + + + + +

-----------------------------------------------------------------------

Arc-Box + + + + + +

-----------------------------------------------------------------------

Circle + + + + + + +

-----------------------------------------------------------------------

Ellipse + + + + + + +

-----------------------------------------------------------------------

PIC* +

-----------------------------------------------------------------------

Box + + + + + +

-----------------------------------------------------------------------

Polygon + + + + + +

-----------------------------------------------------------------------

Line + + + + + + +

-----------------------------------------------------------------------

Spline + + + + + +

-----------------------------------------------------------------------

Text + +

-----------------------------------------------------------------------

          * Encapsulated PostScript picture objects don't use any
          of the above attributes.  The PostScript image is
          self-defined.  However, X11 bitmap picture objects use
          the pen color for coloring the bitmap image.

     UPDATE
          By pressing mouse button 1 on an object, the current
          settings for the indicator buttons (line width, line
          style, area fill etc.) which have been selected for
          update are copied into that object.  When xfig is
          started, all indicator buttons which are components of
          objects are selected for update.  To unselect an indi-
          cator, click on the update button and click mouse but-
          ton 1 on the small button in the upper-right corner of
          the indicator.  When that indicator is selected the
          foreground color (default black) shows.  When it is
          unselected the background color (default white) shows.

          If mouse button 2 is clicked on an object, the settings
          in the object that are selected by the indicator but-
          tons are copied into those indicator button settings.
          Thus, one may copy selected attributes of one object to
          another.

     FLIP VERTICALLY
          Flip the object up/down (mouse button 1) or copy the
          object and flip it (mouse button 2).  Point to part of
          the object, click the appropriate button.  That object
          will be flipped vertically about that point.

          Optionally, mouse button 3 may be pressed on the canvas
          to set an anchor point about which the object will be
          flipped.  A crosshair indicates the anchor point on the
          canvas.  Pressing this button again will unset the
          anchor point.

     FLIP HORIZONTALLY
          Flip the object left/right (mouse button 1) or copy the
          object and flip it (mouse button 2).  Point to part of
          the object, click the appropriate button.  That object
          will be flipped horizontally about that point.

          Optionally, mouse button 3 may be pressed on the canvas
          to set an anchor point about which the object will be
          flipped.  A crosshair indicates the anchor point on the
          canvas.  Pressing this button again will unset the
          anchor point.

     ROTATE CLOCKWISE
          Rotate the object (mouse button 1) or copy and rotate
          it (mouse button 2) -N degrees (clockwise), where N is
          the amount set in the rotation indicator button.  The
          object is rotated about the chosen point.

          Optionally, mouse button 3 may be pressed on the canvas
          to set a rotation point about which the object will be
          rotated.  A crosshair indicates the rotation point on
          the canvas.  Pressing this button again will unset the
          rotation point.

          Not all objects can be rotated, and not all can be
          rotated at arbitrary angles.  For example, BOX, ARC-BOX
          and PIC objects may only be rotated by 90 degrees.
          Text objects may be rotated to any angle and will be
          displayed at any angle now.  Older versions of xfig
          (before 2.1.8) could only display horizontal and verti-
          cal text (2.1.7) or horizontal only (before 2.1.7).

     ROTATE COUNTER-CLOCKWISE
          Rotate the object (mouse button 1) or copy (mouse but-
          ton 2) +N degrees (counter-clockwise), where N is the
          amount set in the rotation indicator button.  The
          object is rotated about the chosen point.

          Optionally, mouse button 3 may be pressed on the canvas
          to set a rotation point about which the object will be
          rotated.  A crosshair indicates the rotation point on
          the canvas.  Pressing this button again will unset the
          rotation point.

     SPLINE <-> POLYLINE
          Turn POLYGON into a CLOSED INTERPOLATED SPLINE object,
          or turn POLYLINE into a INTERPOLATED SPLINE object.

     ADD/DELETE ARROWS
          Add or delete arrow heads of OPEN ARC, POLYLINE or
          SPLINE objects.  Add an arrow head by clicking mouse
          button 1 on the endpoint of the object.  Delete an
          arrow head by clicking mouse button 2 on the endpoint
          or arrow head.  The length and thickness of the arrow-
          heads may be modified using the popup edit panel.


PANNING

     The figure may be panned by clicking mouse button 1, 2 or 3
     in the rulers.  Clicking mouse button 1 in the top ruler
     will pan the image to the left by 1/2 inch (1cm in metric
     mode), adjusted for zoom factor.  Clicking mouse button 3 in
     the top ruler will pan the image right by the same amount.
     By pressing and holding mouse button 2 the user may drag the
     ruler by the amount desired, thus panning the image by that
     amount.

     If the Shift key is held down while panning the movement is
     five (5) times the normal rate.

     The figure is panned up and down in the same way by clicking
     the mouse in the ruler on the right of the canvas.

     If the Shift key is held down while panning the movement is
     five (5) times the normal rate.

     The figure can be returned to its origin by clicking mouse
     button 1 in the units (e.g.  cm or in) box.

     The arrow keys may also be used to pan the image and the
     home key to return the figure to the origin.  Also, pressing
     the Control Key and mouse button 2 will pan the figure to
     the origin.


X DEFAULTS

     The overall widget name(Class) is xfig(Fig).  These
     resources correspond to the command line arguments:

Name                Class               Type    Default     Command-line
                                                            equivalent
------------------------------------------------------------------------
justify             Justify             boolean false       -left (false),
                                                            -right (true)
landscape           Orientation         boolean true        -Landscape,
                                                            -Portrait
but_per_row         But_per_row         int     2           -but_per_row
pwidth              Width               float   10(8)       -pwidth
pheight             Height              float   8(9.5)      -pheight
trackCursor         Track               boolean on          -track,
                                                            -notrack
inches              Inches              boolean true        -inches,
                                                            -imperial,
                                                            -centimeters,
                                                            -metric
reverseVideo        ReverseVideo        boolean off         -inverse
debug               Debug               boolean off         -debug
latexfonts          Latexfonts          boolean off         -latexfonts
normalFont          Font                string  6x13        -normal
boldFont            Font                string  8x13bold    -bold
buttonFont          Font                string  6x13        -button
startfontsize       StartFontSize       float   12          -startfontsize
startpsFont         StartpsFont         string  Times-Roman -startpsFont
startlatexFont      StartlatexFont      string  Default     -startlatexFont
showallbuttons      ShowAllButtons      boolean false       -showallbuttons
internalborderwidth InternalBorderWidth integer 1           -internalBW
starttextstep       startTextStep       float   1.2         -starttextstep
startfillstyle      startFillStyle      integer 0           -startfillstyle
startlinewidth      startLineWidth      integer 1           -startlinewidth
startgridmode       startGridMode       integer 0           -startgridmode
scalablefonts       ScalableFonts       boolean true        -scalablefonts
specialtext         SpecialText         boolean false       -specialtext
monochrome          Monochrome          boolean false       -monochrome
keyFile             KeyFile             string  CompKeyDB   -keyFile
exportLanguage      ExportLanguage      string  eps         -exportLanguage
flushleft           FlushLeft           boolean false       -flushleft
textoutline         TextOutline         boolean false       -textoutline
userscale           UserScale           float   1.0         -userscale
userunit            UserUnit            string  in(cm)      -userunit
dont_switch_cmap    Dont_switch_cmap    boolean false       -dontswitchcmap
max_image_colors    Max_image_colors    integer 100         -maximagecolors
------------------------------------------------------------------------

     The following are the default keyboard accelerators as dis-
     tributed in the Fig.ad app-defaults file:

     (Context)
             Keys        Function
     -----------------------------------------------------
     (Main xfig panels)
             <Meta>q     Quit xfig
             <Meta>d     Delete all objects from canvas
             <Meta>u     Undo
             <Meta>r     Redraw
             <Ctrl>l     Redraw
             <Meta>t     pasTe xfig cutbuffer onto canvas
             <Meta>f     popup File menu
             <Meta>e     popup Export menu
             <Meta>p     popup Print menu
             <Meta>l     (re)Load figure from current file
             <Meta>s     Save figure to current file

     (Popup units panel in corner of rulers)
             <Meta>c     Cancel popup unit panel
             <Meta>s     Set units

     (Popup file panel)
             <Meta>r     Rescan current directory
             <Meta>c     Cancel
             <Meta>l     Load figure
             <Meta>s     Save figure
             <Meta>m     Merge read into current figure

     (Popup export panel)
             <Meta>r     Rescan current dirctory
             <Meta>c     Cancel
             <Meta>e     Export figure

     (Popup print panel)
             <Meta>c     Cancel
             <Meta>b     print to Batch file
             <Meta>p     Print to printer
             <Meta>x     clear batch file

     (Canvas)
             <None>c     Draw circle by radius
             <Shift>c    Draw circle by diameter
             <None>e     Draw ellipse by radius
             <Shift>e    Draw ellipse by diameter
             <Shift>s    Draw closed spline
             <None>s     Draw open spline
             <Shift>i    Draw closed interpolated spline
             <None>i     Draw open interpolated spline
             <None>p     Draw polygon
             <None>l     Draw line
             <None>b     Draw box
             <Shift>b    Draw arcbox
             <Shift>p    Draw regular polygon
             <None>r     Draw arc
             <Ctrl>p     Draw picture object
             <None>t     Draw text

             <None>g     Glue compound
             <Shift>g    Break compound
             <Ctrl>s     Scale object
             <None>a     Align object in compound
             <Shift>m    Move point
             <None>m     Move object
             <Ctrl>a     Add point to object
             <Ctrl>c     Copy object
             <Shift>d    Delete point from object
             <None>d     Delete object
             <None>u     Update object or indicator panel
             <Ctrl>e     Edit object
             <None>f     Flip object up/down
             <Shift>f    Flip object left/right
             <Ctrl>r     Rotate object clockwise
             <Shift>r    Rotate object counter-clockwise
             <None>v     Convert object to/from line/spline
             <Shift>a    Add/delete arrowhead


WIDGET TREE

     Below is the widget structure of xfig.  The widget class
     name is given first, followed by the widget instance name.

     Fig  xfig
       Form  form
         Form  commands
           Command  quit
           Command  delete_all
           Command  orient
           Command  undo
           Command  redraw
           Command  paste
           Command  file
           Command  export
           Command  print
         Form msg_form
           Text  message
           Label  file_name
         Label  mouse_panel
         Box  mode_panel
           Label  label
           Command  button (one for each of the 16 drawing mode buttons)
           Label  label
           Command  button (one for each of the 18 editing mode buttons)
         Label  topruler
         Label  canvas
         Label  unitbox
         Label  sideruler
         Box  upd_ctrl_form
           Label upd_ctrl_label
           Box   upd_ctrl_btns
             Command  set_upd
             Command  clr_upd
             Command  tog_upd
         Viewport ind_panel
           Core  clip
           Scrollbar  horizontal
           Box  ind_box
             Form  button_form (one for each of the 22 indicator buttons)
               Command  button
               Toggle  update (only those indicators that affect creation
                   of objects have update toggles)

         TransientShell  ps_font_menu
           Box  menu
             Form  ps_buttons
               Command  cancel
               Command  use_latex_fonts
             Command  pane (one for each of the 35 PostScript font panes)

         TransientShell  latex_font_menu
           Box  menu
             Form  latex_buttons
               Command  cancel
               Command  use_postscript_fonts
             Command  pane (one for each of the 6 LaTeX font panes)

       TransientShell  file_menu
         Form  file_panel
           Label  file_status
           Label  num_objects
           Label  cur_file_label
           Text  cur_file_name
           Label  file_label
           Text  file_name
           Label file_alt_label
           Viewport  vport
             Core  clip
             Scrollbar  vertical
             List  file_list_panel
           Label  mask_label
           Text  mask
           Label  dir_label
           Text  dir_name
           Label  dir_alt_label
           Command home
           Viewport  dirvport
             Core  clip
             Scrollbar  vertical
             List  dir_list_panel
           Command  rescan
           Command  cancel
           Command  save
           Command  load
           Command  merge

       TransientShell  export_menu
         Form  export_panel
           Label  mag_label
           Text  magnification
           Label  orient_label
           MenuButton  orientation
             SimpleMenu  menu
               SmeBSB  portrait
               SmeBSB  landscape
           Label  just_label
           MenuButton  justify
             SimpleMenu  menu
               SmeBSB  Flush left
               SmeBSB  Centered
           Label  lang_label
           MenuButton  language
             SimpleMenu  menu
               SmeBSB  LaTeX box (figure boundary)
               SmeBSB  LaTeX picture
               SmeBSB  LaTeX picture + epic macros
               SmeBSB  LaTeX picture + eepic macros
               SmeBSB  LaTeX picture + eepicemu macros
               SmeBSB  PiCTeX macros
               SmeBSB  IBMGL (or HPGL)
               SmeBSB  Encapsulated PostScript
               SmeBSB  PostScript
               SmeBSB  Combined PS/LaTeX (PS part)
               SmeBSB  Combined PS/LaTeX (LaTeX part)
               SmeBSB  Textyl \special commands
               SmeBSB  TPIC
               SmeBSB  PIC
               SmeBSB  X11 Bitmap
               SmeBSB  X11 Pixmap
               SmeBSB  GIF
           Label  def_file_label
           Label  def_file_name
           Label  out_file_name
           Text  file
           Label  file_alt_label
           Viewport  vport
             Core  clip
             Scrollbar  vertical
             List  file_list_panel
           Label  mask_label
           Text  mask
           Label  dir_label
           Text  dir_name
           Label  dir_alt_label
           Command home
           Viewport  dirvport
             Core  clip
             Scrollbar  vertical
             List  dir_list_panel
           Command  rescan
           Command  cancel
           Command  export

       TransientShell  print_menu
         Form  print_panel
           Label  printer_image
           Label  mag_label
           Text  magnification
           Label  orient_label
           MenuButton  landscape
             SimpleMenu  menu
               SmeBSB  portrait
               SmeBSB  landscape
           Label  just_label
           MenuButton  justify
             SimpleMenu  menu
               SmeBSB  flush left
               SmeBSB  centered
           Label  printer_label
           Text  printer
           Label  job_params_label
           Text  job_params
           Label  num_batch_label
           Label  num_batch
           Command  dismiss
           Command  print
           Command  print_batch
           Command  clear_batch

       TransientShell  file_msg
         Form  file_msg_panel
           Text  file_msg_win
           Command  dismiss

       TransientShell  query_popup
         Form  query_form
           Label  message
           Command  yes
           Command  no
           Command  cancel

       TransientShell  set_unit_panel
         Form  form
           Label        Unit/Scale settings
           Label  Ruler Units  =
           MenuButton  Imperial (in)
             SimpleMenu  menu
               SmeBSB  Metric (cm)
               SmeBSB  Imperial (in)
           Label  Figure units =
           MenuButton  Ruler units
             SimpleMenu  menu
               SmeBSB  Ruler units
               SmeBSB  User defined
           Label  user_units
           Text        Unit/Scale settings
           Label  Figure scale =
           MenuButton  User defined
             SimpleMenu  menu
               SmeBSB  Unity
               SmeBSB  User defined
           Label  scale_factor
           Text  1.0
           Command  cancel
           Command  set

     Popup color panel:
       TransientShell  set_indicator_panel
         Form  form
           Label  Colors
           Command  cancel
           Command  set_color_ok
           Form  mixedForm (for Pen Color)
             Toggle  mixedEdit
             Core  mixedColor
             Text  tripleValue
           Form  mixedForm (for Fill Color)
             Toggle  mixedEdit
             Core  mixedColor
             Text  tripleValue
           Label  stdLabel
           Form  stdForm
             Command  stdColor (one for each of 33 std colors)
           Label  userLabel
           Form  userForm
             Viewport  userViewport
               Core  clip
               Scrollbar  horizontal
               Box  userBox
                  Label  colorMemory (one for each user color)
             Command  addColor
             Command  delColor
             Command  undelColor
             Form  mixingForm
               Label  redLocked
               Label  greenLocked
               Label  blueLocked
               Label  lockedLabel
               Scrollbar  redScroll
               Scrollbar  greenScroll
               Scrollbar  blueScroll
               Scrollbar  lockedScroll
               Label  hueLabel
               Label  satLabel
               Label  valLabel
               Scrollbar  hueScroll
               Scrollbar  satScroll
               Scrollbar  valScroll

     NOTE:  The following is a typical popup edit panel (for
     ARC-BOX) The panel will be different for other objects.

       TransientShell  edit_panel
         Form  form
           Label  POLYLINE:ArcBox
           Label  image
           Command  done
           Command  apply
           Command  cancel
           Label
           Label  Width =
           Text  Width =
           Label  Border color =
           MenuButton  colors
             SimpleMenu  menu
               SmeBSB  Black
               SmeBSB  Blue
               SmeBSB  Green
               SmeBSB  Cyan
               SmeBSB  Red
               SmeBSB  Magenta
               SmeBSB  Yellow
               SmeBSB  White
               SmeBSB  Default
           Label  Fill color =
           MenuButton  colors
             SimpleMenu  menu
               SmeBSB  Black
               SmeBSB  Blue
               SmeBSB  Green
               SmeBSB  Cyan
               SmeBSB  Red
               SmeBSB  Magenta
               SmeBSB  Yellow
               SmeBSB  White
               SmeBSB  Default
           Label  Depth =
           Text  Depth =
           Label  Fill style =
           MenuButton  No fill
             SimpleMenu  menu
               SmeBSB  No fill
               SmeBSB  Filled
           Label  Fill intensity % =
           Text  Fill intensity % =
           Label  Line style =
           MenuButton  Solid Line
             SimpleMenu  menu
               SmeBSB  Solid Line
               SmeBSB  Dashed Line
               SmeBSB  Dotted Line
           Label  Dash length/Dot gap =
           Text  Dash length/Dot gap =
           Label  First Corner
           Label  First Corner
           Text  First Corner
           Label  First Corner
           Text  First Corner
           Label  Opposite Corner
           Label  Opposite Corner
           Text  Opposite Corner
           Label  Opposite Corner
           Text  Opposite Corner
           Label  Radius =
           Text  Radius =



BUGS and RESTRICTIONS

     Please send bug reports, fixes, new features etc. to:
     bvsmith@lbl.gov (Brian V. Smith)

     Not all operations employ smart redrawing of objects which
     are altered as a by product of the operation.  You may need
     to use Redraw in these cases.

     Some servers do not allow bitmaps/pixmaps taller than the
     screen height or wider than the screen width.  That is why
     there is a limit on the width of the top ruler and height of
     the side ruler.  If you need wider/taller rulers AND your
     server allows bigger pixmaps, you may define MAX_TOPRULER_WD
     and/or MAX_SIDERULER_HT in your Imakefile in the DEFINES
     line.  For example, to have a maximum top ruler width of
     1160 pixels, add -DMAX_TOPRULER_WD=1160 to your DEFINES line
     in the Imakefile.

     If the image is panned or the xfig window iconified and de-
     iconified during the middle of an operation (e.g. while
     drawing a line), the picture will be distorted.  This can be
     corrected using Redraw after the operation is complete.

     Corners of object scaled with point positioning in one of
     the grid modes will not always fall on the grid line, but to
     the closest pixel.

     See the README file for troubleshooting.


SEE ALSO

     Brian W. Kernighan PIC - A Graphics Language for Typesetting
     User Manual

     fig2dev(1) (TransFig package)

     gs(1) (Ghostscript PostScript previewer)


ACKNOWLEDGEMENT

     Many thanks goes to Professor Donald E. Fussell who inspired
     the creation of this tool.


COPYRIGHT

     Original Copyright (c) 1985 by Supoj Sutanthavibul
     Parts Copyright (c) 1994 by Brian V. Smith
     Parts Copyright (c) 1991 by Paul King
     Other Copyrights may be found in various files


     The X Consortium, and any party obtaining a copy of these
     files from the X Consortium, directly or indirectly, is
     granted, free of charge, a full and unrestricted irrevoca-
     ble, world-wide, paid up, royalty-free, nonexclusive right
     and license to deal in this software and documentation files
     (the "Software"), including without limitation the rights to
     use, copy, modify, merge, publish, distribute, sublicense,
     and/or sell copies of the Software, and to permit persons
     who receive copies from any such party to do so, with the
     only requirement being that this copyright notice remain
     intact.  This license includes without limitation a license
     to do the foregoing actions under any patents of the party
     supplying this software to the X Consortium.
     No representations are made about suitability of this
     software for any purpose.  It is provided ``as is'' without
     express or implied warranty.

     PostScript is a trademark of Adobe Systems Incorporated.


FILES

     CompKeyDB        Data base of compose (meta) key sequences
                      for 8-bit characters.  Must be installed in
                      $(XFIGLIBDIR) with ``make install'', or may
                      be specified with command line option -key-
                      File or X toolkit resource keyFile.  See
                      the Imakefile.

     Doc/FORMAT3.1    Description of Fig file format.

     CHANGES          Description of bug fixes/new features.


AUTHORS

     Many people have contributed to xfig.  Here is a list of the
     people who have contributed the most (in chronological
     order):

     Version 1:


         Original author:
         Supoj Sutanthavibul, University of Texas at Austin

         The LaTeX line drawing modes were contributed by:
         Frank Schmuck, Cornell University

         Original X11 port by:
         Ken Yap, Rochester

         Variable window sizes, cleanup of X11 port, right hand
         side panel:
         Dana Chee, Bellcore

         Cleanup of color port to X11 by:
         John T. Kohl, MIT

     Version 2.0:
         Area fill, multiple line thicknesses, multiple fonts and
         font sizes, bottom panel, line style/thickness, (and
         anything else that wasn't written by the others) by:
         Brian Smith
         (standard disclaimer applies)
         (bvsmith@lbl.gov)

         Popup change-object menu by:
         Jon Tombs
         Frank Schmuck

         Zooming and panning functions, shift key select mechan-
         ism by:
         Dieter Pellkofer
         Henning Spruth

         Depth feature by:
         Mike Lutz

         Cut/Paste by:
         Tom Tkacik

     Version 2.1:


         Indicator panel, file menu popup, print menu popup, pan-
         ning with rulers, mouse function window, regular
         polygon, rubberbanding of circles/ellipses, filled
         splines on canvas, dashed/dotted splines on canvas,
         update button, arbitrary angle rotation of objects,
         alignment in compound, object scaling, constrained
         copy/move, corner markers for compound, context sensi-
         tive corner markers, smarter redraw, undo for compound
         and point move for boxes, cancel object creation, point
         positioning to three resolutions, TransFig scalable
         text, hidden text, special text, save of figure on crash
         by:

         Paul King (king@cs.uq.oz.au)
         with help from:
         Brian Smith and Micah Beck (beck@cs.utk.edu)

         Encapsulated PostScript importing by:
         Brian Boyter

         Pan/zoom with ctrl key/mouse by:
         Henning Spruth

         International characters by:
         Herve Soulard

         Directory Browser based on XDir by:
         Win Treese, Digital Equipment Corporation

         Rotated ellipses by:
         James Tough, Dept. of Computer Science, Heriot-Watt
         University, Scotland

         Rotated text from the xvertext package by:
         Alan Richardson, Space Science Centre, School of MAPS,
         University of Sussex

         Popup scale menu and dynamic switching between inches
         and cm by:
         Paul King (king@cs.uq.oz.au)

         Extensive man page formatting revisions by:
         David W. Sanderson

         Display Postscript code for IBM RS/6000 by:
         Dave Hale (dhale@green.mines.colorado.edu)

     Version 3.0:


         New arrowhead types, separate pen/fill colors, new file
         protocol, more colors with extended color popup panel,
         new arc style, new fill patterns (bricks, etc), new
         line- join and cap styles, export offset and file load
         offset, XPM import, XBM import and export (and anything
         else that wasn't written by the others) by:
         Brian Smith
         (Note: the color popup panel was based on xcoloredit by
         Richard Hesketh)

         GIF output code by:
         E. Chernyaev (chernaev@mx.decnet.ihep.su)                  *

         GIF import code by:
         David Koblas from the giftoppm part of the pbmplus pack-
         age

         XPM export code (using XPM3 libraries) by:
         Karel van Houten (K.H.C.vanHouten@research.ptt.nl)

         Higher figure resolution (1200dpi) by:
         Ross Martin (martin@trcsun3.eas.asu.edu)

         Color quantization using neural network by:
         Anthony Dekker (dekker@ozemail.com.au)
         [NEUQUANT Neural-Net quantization algorithm by Anthony
         Dekker, 1994.  See "Kohonen neural networks for optimal
         colour quantization" in "Network: Computation in Neural
         Systems" Vol. 5 (1994) pp 351-367.  for a discussion of
         the algorithm.]

         Floyd-Steinberg algorithm for dithering color images on
         monochrome displays lifted from the Pbmplus package by
         Jef Poskanser.

         rotate/flip objects around/about selected anchor point
         and multiple copies of objects by:
         Uwe Bonnes (bon@lte.e-technik.uni-erlangen.de)

     Version 3.1:


         The only difference from version 3.0 to version 3.1 is
         that the position of the "magnet" has been shifted by 14
         fig units.  In the 2.1 and older versions of xfig the
         grid was in multiples of 5 fig units, but they were on
         intervals 4, 9, 14, 19, etc.  When version 3.0 was
         created, coordinates were simply multiplied by the ratio
         of the resolutions (1200/80 = 15) so values like 4
         became 60 instead of 74 ((4+1)*15 - 1).

     Many bug fixes/cleanups etc. by a host of faithful users

     See the CHANGES file for all the credits

     The TransFig package was written by Micah Beck and is main-
     tained by Brian Smith