Announcing the release of xfig version 3.2.3a   January 19, 2000

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.3a is available from:
       ftp://www-epb.lbl.gov/xfig
       http://www.xfig.org/xfigdist
       ftp://ftp.x.org/contrib/applications/drawing_tools
       ftp://ftp.cdrom.com/pub/X11/contrib/applications/drawing_tools
       from any CTAN machine, e.g. ftp://ftp.tex.ac.uk/pub/archive/graphics.
       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 need to get TransFig version 3.2.3 to work with xfig 3.2.3a.
TransFig contains the postprocessor needed by xfig to convert fig files to one
of several output formats, such as PostScript, pic, LaTeX etc.
TransFig is always available in the same location as xfig.

Please send email about any questions/bug fixes/contributions etc. about
TransFig or xfig to [email protected].

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.3a:

Patchlevel 3a (Jan 19, 2000)

NEW FEATURES:
       o Library of UML objects (Unified Modelling Language)
         From Andreas Ludwig ([email protected])

BUGS FIXED:
       o w_menuentry (subclassed menu entry widget) has been modified to be
         compatible with the X11R5 Intrinsics besides R6
       o Several bugs in sprintf statements which create export command
       o Incorrect lengths reported when drawing box with "showlengths" on
         and user scale != 1.0 (e.g. 1cm = 3km)
       o Declaration for preview_widget was both static and extern
       o Declaration for preview_pixmap was both static and extern
       o Two vars passed to XGetGeometry should have been int instead of
         unsigned int (CreateCheckbutton() proc)
       o Added '#include "w_msgpanel.h"' for every file containing calls to
         put_msg() or file_msg() since they contain varargs and should be
         declared as having variable arguments

-------------------------------------------------------------------
Following is a description of the CHANGES for 3.2.3 (Jan 14, 2000):

NEW NOTE ABOUT GIF SUPPORT:

       Because Unisys has stated that they WILL charge royalties for the
       use of the LZW compression algorithm even in FREE programs, I have
       removed all traces of the GIF LZW compression/decompression code from
       xfig.  Xfig now calls giftopnm and ppmtopcx to import GIF files.
       Screen capture writes a PCX file.
       Exporting is handled by calling the ppmtogif program from fig2dev.

NEW FEATURES:
       o Arrow thickness is a function of line width by default now instead of
         absolute
       o If figure is modified and user does "File/New", xfig first asks if
         user wants to save the file before doing the "new" operation
       o Changed the "paste text" key in app-defaults file from F20 to F12,
         because most systems don't have an F20 key.  The "Paste" key on Sun
         workstations (it is really F18) may also be used to paste text.
       o Changed default export border margin width to 0
       o Re-enabled export magnification for EPS
       o New "Flags" group of library objects from Rolan Rosenfeld.  These are
         flags of Europe which Roland converted from a Sketch example.
         There is also Japan's and the U.S.'s flag which were drawn in xfig by
         Brian Smith
       o Added Ian MacPhedran's web site http://duke.usask.ca/~macphed/soft/fig/
         for FIG-related information to the html docs under "Related Applications"
         in the "Getting and Installing Xfig" section
       o Moved allocation of xfig's 32 "standard" colors last in the widget
         setup procedure so that there is a better chance of the widgets
         getting the correct colors before the colormap fills up and xfig
         changes to a private map.
       o Assumes default of Letter(or A4 if metric mode) if no %%BoundingBox in
         imported eps
       o All traces of GIF decoding/encoding have removed from xfig so as to
         avoid the patent royalty issue with Unisys corp.  xfig now calls
         giftopnm (part of the netpbm package) to read the GIF file and then
         ppmtopcx to convert it to a colormapped image that xfig's read_pcx
         routine can handle.
       o Mr. T. Sato's email address has changed to [email protected] as
         of July 15, 1998. He is the person to whom you should send email if
         you have any questions about the Japanese HTML pages.
       o New depth manager.  Enable/disable depths individually or all at once
         to selectively hide parts of drawing.  Can also click on one depth
         button and drag mouse up or down to enable/disable multiple buttons.
         Command-line options -showdepthmanager and -hidedepthmanager to
         control it (resource Fig.showdepthmanager).  The default is to show it.
       o When updating the depth of a compound object, the relative depths of
         the objects inside are retained, with the object having the smallest
         depth number being assigned to the value updated by the user.  For
         example, if you update a compound object to depth = 5, and it contains
         objects with depths 8 and 11, after the update they will have depths
         5 and 8 respectively. From T. Sato.
       o Default depth for creating new objects is now 50 to make it easier to
         put new objects on top without having to remember to start the older
         objects at a depth > 0.
       o Xfig allows panning to negative x and y now. This is the default
         and may be turned and off with the -allow_neg command-line option
         and from the global settings panel.
       o Command panel has pull-down menus for File, Edit, View and Help
         operations.  Default accelerators for these menus are Meta-F, Meta-E,
         Meta-V, and Meta-H respectively.
         File menu includes list of recently loaded Fig files.
       o Comments in Fig files are preserved with the objects and are written
         back when the file is saved.  Popup edit for objects allows entering/
         editing of comments.  Also, clicking mouse button 2 on the canvas in
         edit mode will popup a panel to edit comments for whole figure.
       o From the File/Open panel, you may startup another xfig process to open
         a Fig file.  From T. Sato.
       o New join/split button to split a line/spline/etc into two, or to join
         two lines/splines etc together to make one.  Also, will convert a box
         to a line by splitting between two corners, and close an open line
         or spline by joining the two ends.
       o Arrow keys, Home and End keys may be used to browse any of the lists
         in xfig. (e.g. Open file list, library popup object list, misspelled
         word list in spell checker)
       o Border option put back in for exporting to EPS and bitmap formats
         (fig2dev -b option).
         User may specify border margin in pixels (roughly).  This will be
         a background margin area around the figure bounding area.
       o New background color option for printing and exporting - sets whole
         background of figure to this color.  Available for all bitmap formats
         and PostScript, EPS, PSTEX, and PDF
       o New background option to specify background color for figure.  This
         works for all bitmap formats and PostScript (including pstex).
         This is passed to fig2dev as the -g option.
       o If your system uses /etc/printcap to define printers, xfig will make
         a pulldown menu for the printer selection in the printer panel.
       o New "smooth" button in export to smooth when exporting to bitmap
         format (e.g. GIF, JPEG).  Causes fig2dev (using -S 2 option) to force
         ghostscript to render at 2x magnification which improves font
         rendering, then passes through pnmscale to reduce to original size,
         which also smooths the image by averaging colors of adjacent pixels.
       o Export/Print errors now appear in the popup error message window
       o Popup object editor positions itself adjacent to object being edited
         instead of possibly being on top of it
       o Xfig automatically chooses pwidth, pheight and the number of buttons
         per row on the mode panel (left side) if necessary, to fit on a small
         screen.  If the user explicitely chooses any of those options, their
         choice overrides the automatic setting.
         From T. Sato <[email protected]>.
       o New PDF export driver (uses ps2pdf from the ghostscript distribution)
       o New CGM export driver (Computer Graphics Metafile) for fig2dev (and in
         xfig export menu)
         from Philippe Bekaert <[email protected]>
       o More paper sizes (Japanese JIS B0-B10 and ISO A0-A9)
       o Middle button in paste mode will place object at its original position
         (where it was when it was placed in the xfig cut file)
       o "Spinners" increment/decrement by value appropriate to item being
         modified.  E.g., fill intensity % now steps by 5% for each click
         of the mouse on the spinner arrows, and text step by 0.1.
       o Also, if mouse button is held down on spinup/down button, spinner
         counts automatically after "spinner_delay" every "spinner_rate"
         milliseconds (resources).
       o Fill intensity and Pattern fill now show image in popup edit panel
       o Can now draw arcs by defining:
               1. Center point
               2. First angle/Radius
               3. Second point to deterimine direction
               4. Final angle
           Initiate this mode by starting arc with mouse button 2. Original
           arc mode still available.  From T. Sato <[email protected]>.
       o New color scheme (grayish instead of bisque) - can still use old
         colors by using Fig-color.bisque.ad or really old colors in
         Fig-color.classic.ad
       o I have made the web pages available from our server at:
             http://www-epb.lbl.gov/xfig
         A mirror site in Japan is
             http://www.lint.ne.jp/~masashi/xfig/index.html
       o Popup window with global settings (use Meta-g or Alt-g) containing:
               o checkbutton for tracking mouse in rulers
               o checkbutton for showing page borders
               o checkbutton for showing info balloons
               o checkbutton for lengths on lines
               o checkbutton for showing vertex numbers on objects
               o entry for max image colors
               o entry for image editor
               o entry for spelling checker
               o entry for HTML browser
               o entry for PDF viewer
               o checkbutton for turning on/off debug information
            Consequently, the balloon on/off checkbutton has been removed from
            the message window area
       o Two new "make" options:
          1. "make install.doc" - install only the documentation files (i.e.
             man pages, html, and pdf files)
          2. "make install.libs" - install only xfig object libraries
       o Filename mask for File and Export panels can have multiple wildcard
         masks separated by blanks or tabs, e.g. "*.fig *.fig.gz *.fig.[Zz]"
       o Export wildcard mask is dynamically changed when selecting the export
         language (e.g. *.gif when GIF is selected for export).  Thus, the
         Fig*export_panel*mask*string resource is defunct.
       o New format for browser resource will parse for "%f" and replace with
         the filename.  Using this and the -remote option for netscape, xfig
         will either use a running netscape to open the help file (html) or
         will start one if one isn't already running.
       o PDF viewer resource is also parsed for %f (filename)
       o Xfig will first try the correct PostScript font name (e.g. AvantGarde)
         and then try a backup font name if the first fails.  If that one fails
         too, it will use 6x13.  In the past, because the AvantGarde, Bookman,
         HelveticaNarrow, and Palatino fonts were NOT distributed with the X
         distribution from the Open Group (and the X Consortium before that),
         xfig would substitute fonts for those, that were close.  Now it will
         try the correct one and switch to one of the backups if it doesn't
         exist.
       o FIGAPPS file updated with new information about GNU plotutils
       o Rulers shows fewer ticks for smaller zooms
       o Rulers show more labels between major ticks for larger zooms
       o New floppy disk library object in "Computers"
       o New firewall symbol and "generic hardware" library objects in "Networks"
         from Tomi Ollila <[email protected]>
       o New "Optics" library includes mirrors, lenses, fiber optics
         from Kai-MartinKnaak <[email protected]>
       o New Structural Analysis library includes plates, supports, loads, beams,
         coordinate systems, and trusses.
         From Roman Putanowicz <[email protected]>
         Please see copyright information in the Structural_Analysis/readme object
         (Examples/Libraries/Structural_Analysis/readme.fig
       o More descriptive error message about non-existent or old app-defaults
         file
       o Removed restriction that fonts are ISO8859-1 encoded to allow, e.g.
         iso646.1991, which is what the scalable Schumacher fonts are.
       o New computers/terminals in Computers library, and new network comp-
         onents in the Networks library of objects.
           From T. Sato <[email protected]>.
       o When a compound object containing right- or left-justified text is
         flipped horizontally, the justification of those text objects is also
         swapped (i.e. right-justified text becomes left-justified and vice versa)
       o Warning printed if user uses Fig.geometry resource to size main xfig
         window - should only use -geometry command-line argument or
         pwidth/pheight args/resources.
       o Uses ANSI stdargs.h instead of varargs.h now
         From Roland Rosenfeld <[email protected]>
       o Spell check command uses "%f now instead of "%s" for filename
       o Can define BINDIR to install xfig in custom directory (see README file)
       o Xfig windows aren't unmapped now when user presses "Edit Image" to edit
         imported image file (not necessary)
       o When in edit mode and you hit Control-Return inside of a text box rather
         than just Return, it's a shortcut for DONE.
         From Jeff Hakner <[email protected]>
       o When editing a compound object, any text objects in it are shown and
         editable.
         From Jeff Hakner <[email protected]>
       o In library place mode, the change draw mode function was moved to
         Shift-Middle rather than Shift-Left.  Shift-Left now has the behavior
         of placing the object and doing an edit on it.  When you conclude the
         edit, it resumes place mode.  This combined with including the text
         objects in editing compound objects, allows you to edit any text labels
         in library objects as they are placed.
         From Jeff Hakner <[email protected]>
       o Rotation angle of objects may be floating point now
         From Marc Joosen <[email protected]>
       o Spelling checker and search/replace popup more useful now
       o New "zoom to fit canvas" feature - Ctrl-Z accelerator in canavs will zoom
         the figure to just fit the canvas.  New button in popup zoom dialog to
         do same.
       o After closing an open compound, the "Open Compound" mode is selected
       o If the Shift key is held down while mouse button 2 is clicked on an
         object, any comments in the object are displayed in a popup until the
         mouse button is released
       o New command-line option -flipvisualhints (resource Fig.flipvisualhints)
         which will flip left/right mouse indicator messages for mice whose
         buttons have been switched.
       o New import picture formats supported - TIFF and PPM
       o Added -hiddentext and -rigidtext command-line options and X resources
         to fill out the text flags options (first was -specialtext)

BUGS FIXED:
       o In "move point" mode, mouse button 3 incorrectly labelled as "Locate
         Object", when in fact no function is associated with that button
       o Error reading GIF header under certain circumstances
       o For JPEG and GIF export, -g option was being passed to fig2dev even
         with no background color selected
       o Exporting to PDF using xfig actually exported to PS.  Fig2dev does the
         correct thing, though.
       o Depth manager didn't update correctly if depth between two other
         depths was removed (e.g. when deleteing an object of depth 51 leaving
         only depths 50 and 52, the indicator for depth 51 wasn't removed from
         the display)
       o PAPER_A4 pointed to A9 entry
       o Docmentation incorrectly mentioned "page_size" when it should say
         "paper_size" (Doc/html/options.html)
       o Split line didn't work on ArcBox
       o Opening a compound object, changing an object inside, closing the
         compound then pressing "Undo" would result in the original object
         outside the compound, plus the changed object still inside, and would
         then eventually segfault if the compound was operated on in any way.
       o Imakefile didn't install pdf files as advertised with "make install"
       o "XEvent event" missing from input tablet code in main.c
       o If xfig tried to import a compressed image file and the directory was
         not writable, it segfaulted while trying to close an unopen file
       o Inadvertantly removed "Help/Xfig man pages" menu entry
       o Wrong path for installation of the xfig-howto.pdf file
       o Bad hyperlink for "Help Menu" in html docs
       o Fig files with "#FIG" but no version number crashed xfig
       o "Show depth manager" missing from screenshot and description of global
         settings
       o Background color for exporting didn't have "None" option
       o PDF export ignored centering, background color and multiple pages
         options
       o Warnings from fig2dev weren't displayed when exporting
       o Various command-line options missing from man pages and html docs
       o When turning on or off the depth manager the canvas needed refreshing
       o Symbol "MAXCOMLEN" defined by xfig is already used on some systems
       o Character array illegally freed in screen capture procedure
       o There is a less restrictive copyright on the html pages.  Instead of:
           "However, you may not modify any part of this documentation
           without explicit permission of T.Sato or Brian V. Smith."
         there is now:
           "Modification of this documentation is also granted as long as
           this copyright notice remain intact and name of the person who made
           the modification is explicitly written in the documentation.
           However, contact to T.Sato and/or Brian V. Smith is strongly
           recommended if you want to distribute modified version of this
           documentation."
       o "Smart links" wasn't working when copying compound object with link -
         the link wasn't copied
       o Preview figure wasn't freeing memory
       o Text lines with trailing carriage returns (^M) were read incorrectly
         from .fig file, causing following object lines to be included with the
         text object
       o Some calls to free_spline were passing wrong type of pointer
         Fixed by Bradley Kuszmaul <[email protected]>
       o Call to init_point_array shouldn't have arguments
         Fixed by Bradley Kuszmaul <[email protected]>
       o Changing to/from PostScript and LaTeX font type using the update
         button didn't work unless "update text flags" was also enabled
       o The CompKeyDB file didn't get installed correctly if user specified
         a path for DESTDIR (normally empty).
       o arrowhead thickness/width/height were being truncated to integers in
         popup edit panel
       o was using /tmp instead of TMPDIR env variable for xfig cut file if
         user .xfig file couldn't be used
       o cleaned up routines that "show line lengths" while drawing/moving
         objects (-showlengths).  Much less detritus now.
       o bug when allocating more user colors than colortable can handle
       o message string not large enough for some of the balloons for the
         attribute panel. From Martin Kroeker
       o Fixed bug in arc arrows introduced when units for arrowhead width and
         height were changed to be the same as for arrowhead thickness
       o Pie-wedge arcs can no longer have arrowheads.
       o In the popup edit panel, if no numeric value was in either the fill
         intensity or fill pattern entry and carriage return was pressed, an
         illegal value might have appeared there
       o Filename sometimes trashed when trying to call external image editor
         from edit popup on imported picture
       o If the text mode is selected followed by the "Paste" mode, xfig would
         segfault
       o Another change to the "make install.doc" and "make install.libs"
         because some systems' install program can only take one file at a time
       o "make install.doc" doesn't install the Japanese html files unless I18N
         is set in the Imakefile (Internationalization)
       o If Fig.ad isn't installed, xfig died because "browser" or "pdfviewer"
         resources were NULL
       o Mouse function indicator wasn't being reset for cancel library popup
       o Cancelling the library popup wasn't quite working
       o If preview of any library object failed, user couldn't place any more
         library objects
       o Typing characters other than 'r', 'l', 'h', and 'v' are ignored when
         placing library objects on canvas
       o When calling external image editor (via "edit image" from importing
         picture object), argument list[0] wasn't name of image editor
       o When using the external image editor on an imported picture, xfig
         compared the file modification time before and after to re-read it if
         it changed, however the modification time before the edit was never
         obtained
       o Moved JPEGINCDIR definition in the Imakefile up with the #ifdef USEJPEG
         for easier access
       o Bug in code which redisplays canvas sometimes left ghosts behind if a
         "move object" was cancelled
       o Center/Flushleft setting was not properly set from figure file
       o Align-to-canvas assumed US Size A or ISO A4 paper instead of using the
         current page size from export/print
       o Objects with large coordinates (e.g. 190000 Fig units) were drawn
         incorrectly because of a peculiarity in either the X server or the
         X Drawing procedures that didn't work correctly for screen coords >
         16000.
       o If the canvas was either refreshed or zoomed while previewing a file,
         things failed miserably
       o Line counter corrected when reading Fig file.  Was in error sometimes
         when reporting bad input lines.
       o Fill patterns (e.g. bricks, vertical lines etc.) were not zoomed
         correctly in figure preview
       o INLINE definition changed from "inline" to "__inline" to satisify DEC
         Unix or Irix and Solaris OSs
       o Removed all "NullParameter" from Imakefile because OpenWindows doesn't
         have it
       o Changed XPointer to XVisualInfo * in call to XFree in main.c for those
         still running OpenWindows
       o The "About Xfig" window didn't trap for "Delete Window" so a window
         manager that substitutes "Destroy Window" in that case would kill xfig
       o If user is previewing a figure (in the popup file panel) and the canvas
         needs to be redrawn it is deferred until the preview is finished,
         preventing the Bad Window error previously seen.
       o Doesn't segfault now if no app-defaults file is installed
       o Bug fixed where a rotated string with only blanks (spaces) would segfault
       o Mask for attribute panel button management changed to unsigned long to
         insure 32-bit values
       o When reading in a figure containing an image, any offset in the file panel
         was applied to the SIZE of the image.  This is obviously incorrect.
       o When cancelling the file panel during a file preview xfig would sometimes
         die with an X error.
         Fix from Patrick Gosling <[email protected]>
       o There was a bug when converting Fig 3.1 splines to 3.2 under certain
         circumstances
       o Changed fig.h to always include <sys/param.h>
       o Various function mis-declarations and signed/unsigned casts fixed by
               Jonathan R. Ferro <[email protected]>
       o Bug in image capture fixed by
               Jonathan R. Ferro <[email protected]>
       o Not really a bug, but a change in default - define HAVE_NO_DIRENT
         in the Imakefile if your system DOESN'T have dirent.h
       o When browsing pictures in the import picture interface, if you single-
         click on a filename and then close the browse panel, it now applies that
         picture.  In the past you had to double-click on a filename to apply it.
       o Cleaned up error reporting of line numbers in Fig file
       o cur_dir[] array in mode.c wasn't large enough (changed to PATH_MAX)
         From Martin Pahl <[email protected]>
       o Hidden, Rigid, and Special text flags weren't updated correctly with
         update tool
       o -international and -inputStyle added to help message.
       o Multiple page option was being turned off but pulldown menu showed
         otherwise
       o If the user changes directories in the file/open panel but then presses
         "cancel", the original directory is restored now
       o Stops parsing library directories when limit is reached
       o Doc/FORMAT3.2 file (and all previous) incorrectly described the bounding
         box for compound objects as having upper-right and lower-left values,
         when in fact they have upper-*left* and lower-*right* bound values
       o On a PseudoColor server, with xfig in -mono mode, it attempted to store
         a color illegally
       o Editing of comments for picture objects wasn't retained
       o Library directory now may include files with more than just .fig in name
         (e.g. .fig.gz, .fig.Z, etc).  Also, explicit check is made to ensure that
         whatever matches *.fig* isn't a directory.
       o Missing quote for MKDIRHIER variable in Imakefile:
         XCOMM MKDIRHIER = "/bin/sh /usr/bin/X11/mkdirhier"
       o When using small icons, xfig would still use 3 buttons per row on small
         screens even when not necessary.
       o Allocation error in reading some pcx files
       o Bug in HSV color sliders when clicking left or right (increase/descrease)
         mouse button
       o Bug in HSV color sliders on 16bpp PseudoColor visuals