May 29, 2001

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.3d is available from ftp://www-epb.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.

These are the files:

xfig.3.2.3d.full.tar.gz			tar file with everything
xfig.3.2.3d.code_only.tar.gz		tar file with source only
xfig.3.2.3d.docs_only.tar.gz		tar file with docs only (man pages, html)
xfig.3.2.3d.libraries_only.tar.gz	tar file with only Fig Object Libraries

You also need to get TransFig version 3.2.3d.  TransFig contains the post-
processor needed by xfig to convert fig files to one of several output formats,
such as PostScript, pic, LaTeX etc.  The TransFig package can always be found
at the same site 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.3d.

NEW FEATURES:

	o New Imakefile variable XFIGDOCDIR points to directory for xfig doc
	  files, which may be different from XFIGLIBDIR
	o New aircraft from Carlo Kopp in Examples directory.  These may be
	  reproduced for educational and other non-commercial use only.
	o Support for importing PNG image files added
	o GIF transparency for imported images honored by fig2dev now
	o New option to print only active layers when exporting or printing (see
	  printing/exporting section in html docs).
	o When loading a compressed Fig file that is either read-only, or is on
	  a read-only file system (e.g. a CDROM), xfig uncompresses it into the
	  temp directory (env TMPDIR, or /tmp if TMPDIR environvment variable is
	  undefined).
	o New Maps library - currently contains Most Canadian provinces, USA
	  coast and states, most of the continents and a world outline
	  World outline map and United States by Steve Eichblatt
	  (eichblatt@fnal.gov)
	o I had forgotten to credit Kai-MartinKnaak for his Mechanical_DIN
	  library of mechanical drawing symbols from July 1998
	o New Chemical Process Flowsheet library by Volker Siepmann
	  (volkers@pors.hit.no)
	o New Laptop computer and Ericsson R320 cell phone in Libraries/Computers
	  from Dirko van Schalkwyk (dvschalk@ing.sun.ac.za)
	o New PMOS FET (Field Effect Transistors) and NMOS FET library objects
	  in Electrical/Schematic library - from Min Xu (mxu@Horse.ece.wisc.edu)
	o New network devices in Networks library from Bill Chimiak:
		atmswitch.fig	- generic ATM switch
		dsu-csu.fig	- Digital Service Unit/Channel Service Unit
		smartbit.fig	- Netcom Smartbit network tester
	o New Catalan flag in Flags library from Francesc Burrull i Mestres.
	o New office building (office2.fig) in Buildings library from Brian
	  V. Smith
	o New variable PRINTCAP in Imakefile to specify where the printer
	  capabilities file is (default /etc/printcap)
	o New drawing: plan view of house and backyard (Examples/house_plans.fig)
	  from Scott Gordon (gordon@physics.uq.edu.au).  It may not be used for
	  profit without express written permission from Scott.
	o xfig recalculates the bounds of compound objects read in from the file,
	  ignoring the bounds values in the file.  This makes it easier for Fig
	  file generators to produce compound objects since they don't have to
	  know how to calculate the bounds themselves. fig2dev doesn't even use
	  those values but recalculates them upon reading the file.
	o New VA Linux machines in Computers library
	  from Yazz Atlas (yazz@osdn.com)
	o Increased maximum number of libraries to 100
	o New and improved library object Computers/film_digitizer (and in
	  Hospital/film_digitizer) from Bill Chimiak

BUGS FIXED:

	o New cascaded menu for the Fig object libraries.  This reduces the
	  height of the menu to allow many more libraries, by arranging them
	  hierarchically.  This required writing a subclass of the SmeBSB Athena
	  widget.
	o When browsing libraries or merging figures, identical user colors were
	  multiply defined
	o Fig library objects may use imported images because the absolute path
	  is forced in those cases 
	o When modifying an existing centered or right-justified text, pressing
	  enter moved the cursor to the X position of the beginning of the
	  string just modified instead of its anchor point
	o "Delete Unused" button sensitivity not reset when loading subsequent
	  Fig files
	o If -library_dir (Fig.library_dir resource) pointed to a *file* of Fig
	  library directories, sub-directories weren't added to library list
	o If a bad Fig file was previewed in a library, xfig would display a bad
	  preview and segfault of the object was selected
	o Incorrect dx/dy distance reported when moving object/point
	o Better support for Cygwin - Importing eps files changes to the
	  directory of the file to avoid pathname differences between Windows
	  and Unix/Linux/etc
	  From Pierre Humblet
	o Can now rotate boxes and arcboxes by -90, -180 and 180 degrees in
	  addition to 90 degrees
	o A compressed .fig file is only uncompressed if the directory is
	  writable
	o When reading a Fig file, if there was a bad object inside a compound,
	  xfig would discard the entire compound.
	o When reading a Fig file, if there was an incomplete or bad object,
	  the storage wasn't freed in some cases.
	o xfig would stop reading a Fig file as soon as it encountered a bad
	  object
	o xfig now uses its own my_strdup() so it will compile on those machines
	  that don't have strdup()
	o "Minitower" computer in Fig object library of computers had an illegal
	  Fig object
	o Typo in Doc/FORMAT3.2 file in the join style descriptions.  Round and
	  bevel values were reversed (correct values: Round = 1, Bevel = 2)
	  Also, fill pattern list was incomplete and incorrect, and arc subtypes
	  were switched.
	o When cancelling modification of text using text tool, refreshing of
	  original text wasn't done
	o Comments longer than 200 characters caused problems.  They may be
	  unlimited in length now.
	o Some functions inconsistently declared static/non-static
	o Wasn't allowing negative rotation angle in indicator panel
	o Typographical error in xfig.man - resources "canvasBackground" and
	  "canvasForeground" should be "canvasbackground" and "canvasforeground"
	  respectively (no uppercase letters)
	o Updating objects didn't refresh the updated object correctly if the
	  bounds changed
	o The lengths and lines drawn when "showlengths" is enabled has been
	  cleaned up to remove detritus left behind
	o There was a bug in sizing of imported EPS images.  They were too small
	  by the equivalent of one pixel in width and height.  Strangely, this
	  also affected the background color in some cases.
	o When merging or pasting a figure of opposite unit system (metric vs
	  imperial), xfig used the wrong scale factor.
	o If malloc fails when xfig tries to create a Fig object, the null
	  pointer was subsequently dereferenced
	o Objects at MAX_DEPTH (999) were sometimes unaccounted for, meaning
	  they wouldn't be refreshed in some cases.
	o Balloon delay value wasn't visible in  Global Settings panel
	o When updating depths in a compound, xfig didn't check for depths
	  exceeding the maximum depth (999)
	o Grid calculations didn't coerce types properly, resulting in strange
	  grid in negative canvas region
	o Empty lines in the ~/.xfigrc file were causing xfig to segfault
	o Updated fig-format.html to correctly reflect Doc/FORMAT3.2
	o If a region was deleted (middle mouse button) and undone, the
	  recovered objects were invisible except for their grab corners
	o If an object was selected from a library while it was still loading
	  and placed on the canvas after the library finished loading, xfig
	  would segfault
	o When pasting or merging objects, xfig would recompute colors of
	  already imported pictures in current figure even if merged/pasted
	  objects didn't contain any pictures
	o When scaling a compound containg text, text size may have exceeded
	  MIN_FONT_SIZE or MAX_FONT_SIZE limits
	o Font name list was freed when it shouldn't have been, when using
	  -noscalablefonts
	o Changing depth of an object in the edit panel didn't always update the
	  depth manager correctly
	o Actual message was missing from "Error during ..." export message
	o Undefined user color in Libraries/Knitting/Symbols/purl-dash.fig
	o Removed unused user colors in various Library symbols
	o Bug when merging or pasting figures with user-defined colors.
	o No more than 100 points are  displayed for polylines, polygons in
	  popup edit panel to prevent system meltdown.  This doesn't affect the
	  maximum number of points *allowed* in a polygon/polyline, only the
	  number displayed.
	o Quotes around definition of MKDIRHIER should not be there in Imakefile
	o Made all references to Xaw header files use #ifdef Xaw3d to include
	  3d header files
	o Added back requirement that fonts (except Zapf Dingbats and Symbol)
	  are iso8859 encoded
	o When editing a compound object containing text, and the canvas zoom
	  is != 1.0, the zoomed text size was used instead of the unzoomed
	o Printer choice menu now discards any empty or duplicate printers that
	  are in /etc/printcap
	o A more robust algorithm for finding the center of an arc given three
	  points on the radius is in place. The old algorithm gave up too often,
	  making some operations on arcs (e.g. rotate) fail.
	o Rounding error in zoom-to-fit-canvas produced bad centering of figure
	o Maximum number of printers increased to 1000 for lprng systems, and is
	  now checked for exceeding maximum
	o Export to PDF now disables page size, orientation, etc. since PDF is
	  meant to be imported into pdflatex or other processors
	o Fixed a bug introduced in 3.2.3b which made selecting objects
	  difficult at higher zooms
	o When editing a compound, if either the width or height was made 0,
	  divide by 0 would occur
	o Line lengths weren't erased after creating arc box (showlengths on)
	o Doesn't allow coincident consecutive points in objects or boxes with
	  zero dimensions (coincident corners).  Also, doesn't allow box or
	  arcbox with zero x- or y-dimension.
	o Line width indicator didn't always update on some systems
	o Temporary files weren't closed before deleting them in read_gif,
	  read_tif and read_ppm
	o Undoing the conversion of a spline<->line or line<->spline would crash
	o When loading a figure from the recent files list in the File menu, imported
	  pictures with relative paths would not load
	o Illegal box object removed from Examples/lidar.fig
	o Typo on html docs - button 3 cancels constrained copy, not button 2
	o Keyboard accelerators mislabeled - <Shift-f> flips objects left/right,
	  unshifted <f> flips them up/down