Xfig is a menu-driven tool that allows the user to draw and manipulate objects
interactively in an X window.  The resulting pictures can be saved, printed
on postscript printers or converted to a variety of other formats (e.g. to
allow inclusion in LaTeX documents).

xfig 3.2.1 is available from ftp://ftp.x.org/contrib/applications/drawing_tools/xfig
or ftp://epb1.lbl.gov/xfig and usually from any CTAN (Comprehensive TeX Archive
Network) site such as ftp://ftp.cdrom.com/pub/tex/ctan/.
See http://math.nmu.edu/Web/TeXArchives/ctansite.html for a long list of CTAN sites.

Be sure to set binary mode when transferring.

You also need to get TransFig version 3.2.1.  TransFig contains the post-
processor needed by xfig to convert fig files to one of several output formats,
such as PostScript, pic, LaTeX etc.  
TransFig is in the same area as xfig.

Please send email about any questions/bug fixes/contributions etc. about
TransFig or xfig to xfig-bugs@epb1.lbl.gov.

Brian V. Smith
Lawrence Berkeley National Laboratory
I don't speak for LBNL; they don't pay me enough for that.

*****************************************************************************
Following is a description of the CHANGES for 3.2.1:

NEW FEATURES:
	o Preview of figure is created when you single click on a filename
	  in the popup file panel. It also shows the size of the figure.
	o Library feature - load a library of Fig objects and pick and place
	  objects from the library on the canvas where you want.
	  See the man pages for details, and see Examples/Libraries for some
	  examples.  From Stephane Mancini <mancini@elecsrv.enst.fr> with
	  modifications by Brian V. Smith
	o Preview of library objects in library popup similar to figure preview
	  by Brian Smith
	o The library objects in the Electrical and Logic libraries were done
	  by Peter Hiscocks (phiscock@ee.ryerson.ca)
	o Xfig tutorial (PDF) in Doc/xfig-howto.pdf.  Also available from the
	  Help menu. Written by Peter Hiscocks (phiscock@ee.ryerson.ca)
	o "make install" installs the Fig object libraries to the library
	  directory.  
	  The default is $XFIGLIBDIR/Libraries (/usr/lib/X11/xfig/Libraries),
	  which may be changed in the Imakefile.
	o When pasting a Fig object from the xfig cut buffer it appears under
	  the mouse (or near the mouse if pressing the "Paste" button) where
	  it may then be moved around on the canvas before pressing mouse
	  button 1 to place it.
	o Unit box in upper-right corner now shows the scale (e.g. 1cm=3km)
	  This necessitated making the top ruler a little narrower to make the
	  unitbox fit.  If the mode panel is on the right side, the side ruler
	  is made wider to fit the unit box above it.
	o The path of imported pictures is saved as relative path if picture is
	  in subdirectory of main figure file, else it is saved as absolute.
	  from T. Sato
	o When drawing a line, moving a point on a line, or adding a point to
	  the end of a line, the angle to horizontal is shown in the message
	  window 
	o Pressing <Meta>-I turns on and off new feature that draws red
	  horizontal and vertical lines near the line you are drawing, or point 
	  you are moving, to indicate rise and run.  Also, the length is shown
	  next to and above the horizontal and vertical line respectively, and
	  the actual length of the line is shown near the line itself.
	  The command-line argument -showlengths (resource Fig.showlengths) will
	  enable this feature as xfig starts.
	o Print popup button is active even when print panel is up which makes
	  it easy to force it to the top of the window stack if it is hidden
	o Pressing the File button in the command panel while the Export panel
	  is up will popdown the export panel and popup the file panel.  The
	  converse is also true - if the Export button is pressed while the file
	  panel is up, the file panel will be popped down and the export panel
	  is popped up.
	o When merging a file/figure into the current figure it is made into
	  a compound object first
	o Merging a figure keeps the file panel up to be able to merge more
	  figures
	o Better memory allocation for temporary arrays when drawing objects -
	  may be slightly faster now
	  from T. Sato
	o Freehand line/polygon drawing - use mouse button 2 to start after
	  choosing polyline.  As the mouse is moved points are added to the
	  line or polygon.
	  NOTE - this changes the line drawing behaviour:  Mouse button 3 is
	  now used to create a single-point object.
	o Whole window screen capture in addition to area capture in picture
	  object popup.  The behaviour of the mouse has changed with this -
	  Mouse button 1 captures whole window now and mouse button 2 is used
	  to capture area of screen.
	o Characters added to Fig*browse_panel*mask*string to include .tif
	  and .sld files
	o If xfig is started without a filename, the default filename is empty
	  instead of unnamed.fig.  This forces the file panel popup when save
	  is done, to enter a new file name.
	o Variable time delay for popup information balloons, specified in
	  milliseconds (-balloon_delay; resource Fig.balloon_delay)
	o If you enlarge the File, Export or Library panels only the file list
	  area is enlarged to show more files
	o New "spinner" widgets to increment/decrement values in popup indicator
	  entries (e.g. line thickness indicator popup)
	o Option of using either absolute values for arrowhead sizes or multiple
	  of current line length (see arrow size popup)
  	o Arrowhead thickness, width and height can be set explicitely in
  	  bottom panel for creating arrowheads.  Update button also copies
  	  arrowhead size info to/from objects and indicator panel.
	  The arrowhead width and height parameters are now the same units as
	  the arrowhead thickness, which is units of line thickness, not 1/1200
	  inch as they were in previous versions of xfig.
	o Color popup menu in popup edit panel handles lots of colors better
	o Option of smaller icons for the mode panel (left side) by compiling with
	  USESMALLICONS in Imakefile.  See the Imakefile for details. Also see
	  Fig.ad.  Look for "icons".
	  From Andrew Morgan <morgan@physics.ucla.edu>
	o Default depth for creating new objects is now 100 to make it easier to
	  put new objects on top without having to remember to start the older
	  objects at a depth > 0.
	o New grid and point positioning setting at 1/8" (or 2mm in metric mode)
	o When moving, copying, moving a point of or adding a point to objects,
	  all the "grab corners" of the other objects in the figure disappear
	  to make the figure less cluttered.  They reappear when the operation
	  is complete.
	o Pull-down menu buttons have an arrow icon to show that it is a pull-down
	o Units such as "i" for inches and "c" for cm may be entered following
	  coordinates in popup edit panel for editing objects (e.g. 3c for 3 cm)
	  From Rick Richardson <rick@dgii.com>
	o When importing a picture file (eps, GIF, etc) xfig is more intelligent
	  and faster about deciding the format
	o "Integer area zoom" option in zoom popup - if checked, when using the
	  mouse to zoom an area of the canvas, the zoom amount will be an integral
	  value (e.g. 2, 3, 4)
	o Compose key LED may be turned on for multi-key characters (e.g.
	  a-umlaut etc) on Sun Sparcstations.  See README file about COMP_LED.
	  from Hans Werner Strube (strube@swing.physik3.gwdg.de)
	o New fig2dev driver for tk (tcl/tk) - Generates tk canvas and canvas
	  objects.  From Mike Markowski (mm@udel.edu)
	o Added "Alt" key definitions to the accelerators in Fig.ad to accomodate
	  those machines which don't have a Meta key 

BUGS FIXED:
	o Line width is scaled with object scaling now
	o Arrowheads are scaled when scaling lines, splines and arcs now
	o Screen_res was incorrect for drawing tablets
	o When scaling a compound by using the "move point" edit mode, undoing
	  the scale didn't work properly because of rounding problems.  A 
	  proper "undo" is now performed.
	o Note: the -inverse (reverse video) option has been removed because
	  the same effect can be achieved using "-cbg black -cfg white"
	o Made the export_panel*mask*string same as browse_panel*mask*string
	o User-defined colors weren't being merged properly in compound objects
	o If Paste was performed while opening a compound object, some objects
	  outside the opened compound object may have been lost and xfig may
	  have crashed with a segfault later.
	o ARC-BOX corner radius scaled incorrectly when box was scaled
	o ARC-BOX corner radius is now only scaled with Scale operation, not
	  move point
	o Busy cursor wasn't being reset when reading some figures
	o Refreshing the screen while creating a Fig object (e.g. POLYLINE)
	  refreshes that object correctly now
	o Updated pointer for hp2xx and additional pointer to Fig related apps
	  in FIGAPPS file. From Ian MacPhedran
	o Declaration of clrtab array incorrect in f_neuclrtab.h - caused
	  problems on Digital Unix. From Ian MacPhedran
	o When loading a figure that changes the canvas orientation (Portrait/
	  Landscape), the file modified flag was not cleared
	o When it can't save to a file, xfig now rings the bell and puts the
	  error message in the *popup* message window
	o Trying to use the external image editor in the edit panel for an
	  imported picture failed if the file was compressed 
	o When switching to a private colormap because of importing a picture,
	  xfig is better about matching the colormap of the popup edit panel
	o Objects not aligned correctly in large drawings due to bad choice
	  of starting min/max values (use INT_MIN and INT_MAX now)
	o When running "xfig -right" (mode/edit panel on right-side) the popup
	  balloons were too long, never showed the message and popped up and
	  down because they appeared under the mouse.
	o Cleanup of many, many function declarations (mostly type void)
	o Inadvertantly used incorrect font for Avant-Garde
	o When undo'ing load figure, any objects using user-defined colors may
	  not have been displayed correctly until doing a "Redraw".  Also,
	  non-existant user colors may have stayed in pen and/or fill color
	  indicators.
	o Bug in size of imported Picture when clicking on "Use orig size" -
	  image was slightly too small.  Also bug when clicking "Use orig size"
	  in metric mode - even worse scaling.
	o Code to check for bad font numbers when reading Fig file was in wrong
	  place
	o Bug in pcx decoder - odd-width images caused seg fault.  This would
	  also affect importing eps files since xfig uses pcx output from gs.
	o Another bug in pcx decoder - wasn't allocating correct amount of memory
	  for the image buffer.  This would of course, cause segfaults.
	o Bug in "Fit-to-page" in metric mode fixed
	  from Hans Werner Strube (strube@swing.physik3.gwdg.de)
	o Cleaned up mode button icons to fit within button area better
	o An old feature to prevent an expose event on the canvas from erasing
	  a newly imported image while still in the picture editor is no longer
	  needed and prevented screen refreshing
	o If screen capture is attempted with no Fig filename (e.g. when
	  starting xfig with no file name) seg fault occurred.
	  from T. Sato
	o Small correction to I18N draw_string routine
	  from T. Sato
	o Not all calls to fig2dev had I18N localization options passed
	  from T. Sato
	o If you create a new figure (no name yet) and try to export before
	  saving, xfig asked you if you wanted to save the figure first.  If
	  you said yes, it would popup the file panel to choose a name and save.
	  After that though, it wouldn't do the export as you first requested.
	  This has been fixed.
	o Added && !defined(__GLIBC__) to declarations of random and srandom for
	  systems with glibc
	o Imported eps files containing "initgraphics" commands weren't working
	  correctly.  This has been fixed by defining initgraphics and
	  initmatrix as {}.
	o Yet another #if added to the never-ending list.  This one is for
	  sys_errlist.  FreeBSD systems already define it in stdio.h.
	o Inconsistent declaration uncompress_file (static)
	o Missing braces around initializers for headers structure for imported
	  bitmap file types
	o Some unused variables and procedures removed
	o Incorrect casts in e_align.c
	o Bug in figure size in export and print panels - bounding variable
	  was clobbered soon after being calculated
	o Allowed saving over a read-only file if file panel wasn't created
	o Various problems with New figure->Export->File popup sequence either
	  segfaulting or permanently disabling xfig buttons and canvas fixed.
	o GC wasn't properly setup for dragging rectangle on screen for screen
	  capture for some systems.
	o Very small arcs "blew up" making very large arcs on screen
	o Bug in draw_arc() - would free unallocated memory if arc was small
	o Imakefile had w_icons.o in XFIGSRC instead of w_icons.c
	o Fixed annoying warning about StartScroll action not found on Linux
	  systems that use the "modified" Xaw3d widget set (ARROW_SCROLLBAR
	  defined, which makes the scrollbars look like the Windows scrollbars)
	o Mouse indicator was leaving bits of old text behind for long messages
	o Removed call to rint() because gcc can't find it on HP-UX
	o Move_point_selected() called set_mousefun() with too few args
	o Variable "text_translations" multiply defined
	o Fixed some bugs relating to updating dash-length/dot-gap in indicator
	  panel from dashed/dotted lines
	o Bug fixed where update indicator (red box) didn't always toggle correctly
	o Undo of spline<->line conversion and box<_>arc_box fixed
	o For some reason, the Solaris version of XtAppCreateShell references
	  an argument beyond what the users specifies in the command line,
	  causing a seg fault.
	  Fixed by Martin Pahl <pahl@tnt.uni-hannover.de>
	o Renamed suffix for AutoCad Slide export to ".sld" (was ".acad")
	o Needed #ifdef USE_JPEG in w_export.c for compiling without JPEG
	  support
	o Transparent color was not passed to fig2dev for GIF output (new -t
	  option in fig2dev do do this)
	o Inappropriate arguments to sqrt() in spline calculations (not double)
	o The radius value displayed in the message window was incorrect when
	  drawing ellipses
	o Both radii are reported now when drawing ellipses
	o Now checks whether Fig file is read-only before renaming to .bak and
	  allowing user to save. (after second save, original, read-only file
	  would be gone)
	o New #ifdef for glibc which already has sys_errlist and random() defined
	o Conflict with definition M_PI (3.14159....) on RedHat systems fixed
	o Interpolated splines in Fig version 2.1 files were read incorrectly
	  fixed by Onno Roep <O.A.Roep@twi.tudelft.nl>
	o If you had a line with arrowhead(s) and deleted all the points to make
	  it a single point object, then undid the last delete point, the
	  arrowhead(s) didn't reappear.  This has been fixed.
	o Less multiple redrawing of figure when starting xfig with filename and
	  it needs to change orientation (portrait/landscape)
	o "Ledger" paper size removed from list of paper sizes.  It is really
	  "Tabloid" size in landscape mode.
	o Undo of align to canvas wasn't refreshing display
