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.5 is available from ftp://epb.lbl.gov/xfig and www.xfig.org. Be sure to set binary mode when transferring. Here are the files: xfig.3.2.5.full.tar.gz tar file with everything xfig.3.2.5.code_only.tar.gz tar file with source only xfig.3.2.5.docs_only.tar.gz tar file with docs only (man pages, html) xfig.3.2.5.libraries_only.tar.gz tar file with only Fig Object Libraries You also need to get TransFig version 3.2.5. 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 sites as xfig. Please send email about any questions/bug fixes/contributions etc. about TransFig or xfig to bvsmith@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.5. ============================================================================= Patchlevel 5 (Feb 22, 2007): Note: There is a minor change to the copyright/permission notice for xfig. Basically, I have restored the part that allows one to sell xfig regardless of whether it is bundled as part of a package or not. This is identical to the original copyright/permission notice for xfig, which was based on the MIT (then later, the X Consortium) copyright notice. Here is the new notice (different files have different author copyrights at the top): > FIG : Facility for Interactive Generation of figures > Copyright (c) 1985-1988 by Supoj Sutanthavibul > Parts Copyright (c) 1989-2002 by Brian V. Smith > Parts Copyright (c) 1991 by Paul King > Any party obtaining a copy of these files is granted, free of charge, a > full and unrestricted irrevocable, 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 the above copyright > and this permission notice remain intact. NEW FEATURES: o -autorefresh command-line option (resource: Fig.autorefresh) which will make xfig look at the timestamp on the .fig file and automatically load it and display it everytime it changes. o Removed requirement to compile with WHEELMOUSE when using wheelmouse o New tower computers (Libraries/Computers/AOpenKF45E.fig and AOpenKF45E.fig from Dirko van Schalkwyk) o New 10/100 8port hub (Libraries/Networks/3Com3C16750.fig also from Dirko van Schalkwyk) o When placing library objects, the name and comments are displayed in message window o New flags (Libraries/Flags): Africa/Eritrea, Africa/Zimbabwe, Asia/Myanmar, Asia/Tajikstan, Asia/Kyrgystan, Europe/Croatia o non-polar capacitor added to Libraries/Electronic/Schematic o Mouse wheel can be used to scroll through filename lists in File and Export panels and icons or object lists in Library panel o Thickness of ticks in dimension lines are user-adjustable now o For attribute popup dialogs with only one text entry, keyboard now focuses on the entry as long as the pointer is anywhere in the dialog o When using the "Open compound, keep rest visible", the other objects are drawn in shades of gray similar to the inactive layers feature. o New library objects: adder, multiplier, sine-source and voltage-source in Electronic/Schematic by Hubert Lam o Zooming in or out with the Z or z key respectively will keep the canvas centered on the mouse pointer o Full version and patchlevel is included in Fig file header for diagnostics o Can explicitly set the rotation of imported pictures in edit panel after importing o Export option to produce both EPS and PDF (in two files) in one step. Useful for those who both use LaTeX and PDFLaTeX o "Epoch" added to rpm spec o New HP/GL2 (fig2dev) driver from Glenn Burkhardt with paper size selection, offset, centering and orientation options o New library object "atom" in Libraries/Miscellaneous is the classic drawing of an atom with electrons circling From Andrew B. Collier o Introduction.html and installation.html updated to include Macintosh port of xfig o Button to collapse depths of a compound object (make all same depth) in popup object editor o Grid changed from dotted line to light red solid line o Candle in Libraries/Miscellaneous by Dr. Lyman Hazelton o Right-click on depth checkbox sets current depth in indicator panel to that depth o Library of symbols used when diagramming folding instructions to make origami models and example contributed by Marc Vigo o Can adjust width and height directly in popup editor for picture objects o Support for David Hawkey's Xaw3D version 1.5E (http://www.visi.com/~hawkeyd/xaw3d.html) o Added note to README and FAQ html file: If the Xaw or Xaw3d Athena widget sets are compiled with the ARROW_SCROLLBAR style of scrollbars, there is no StartScroll action and you won't be able to scroll using the wheel on the mouse. If you want to be able to scroll using the wheel, you must recompile the Xaw library from sources, disabling the ARROW_SCROLLBAR option. o Astrological symbols for planets in Miscellaneous/Astrology by Andrew Collier o Added key bindings to text dialogs to be more like modern systems (the Athena Widget Set that xfig uses is very old): Home: beginning-of-line End: end-of-line Del: delete-character-right o Added *.jpeg* to picture browse options o New libraries for electronics from Fabio González in Libraries/Electronics/Schematic/More o Shift-U accelerator added to popup units panel o The library menu button sizes with the library panel, to show longer path names if the user wants. o The cursor for drawing lines, splines, etc. is a crosshair now instead of an arrow. o Snap features to allow snapping points to endpoints, midpoints and intersections of other objects. From Chris Moller. o Keyboard input of object coordinates for precise positioning. From Chris Moller. o Can grab arc anywhere along the curve instead of just at grab points From Chris Moller. o Added -noflipvisualhints for cases where, due to "different" pointer devices, they aren't really flipped, but the mapping indicates they are. o Export to all of PS, PDF and LaTeX in one operation From Alistair Ramsey o Reorganized Networks library and new devices: ASX-200, 1000, and 4000 by Bill Chimiak o New figures "betty.fig" (Betty Boop) and "nikke.fig" (German detective Nick Knatter) in Libraries/Examples drawn by Markku Reunanen o Can finish text input by pressing Escape. This removes the cancellation of a compose sequence (e.g. a-umlaut) o Actually a bug fix, import of PDF files is now possible. The code was there since version 3.2.3, but the user interface was not. o Nearly-full ANSI protoization of code by Harald Koenig o Installation of Libraries and doc files faster with tar instead of shell loop o New Gregorian chant music symbols from Bill Chimiak. Also, Music library divided into "chant" and "modern" o Popup edit panel slightly more compact vertically o New library "Fasteners" containing various bolts and screws From Jim Yuzwalk o Increased size of numeric entry fields in indicator panels o N-channel IGBT in Electronic/Schematics Library from Art Blair o starting values for arrow type, width, length, thickness may be specified on command-line or in X resources: -startarrowtype, -startarrowwidth, -startarrowlength, -startarrowthick BUGS FIXED: o xfig would crash on 64-bit processors because of a missing include, which causes new_string() to be declared implicitly as returning an integer. This may cause the top 32 bits to get lost and hence the crash. o Blanks not preserved in imported picture filename when reading Fig file o When in metric mode, decimal precision was ignored for dimension lines o When showing vertex numbers on objects, first vertex is now 0 to match edit window vertex numbers o Also, vertex numbers are not shown on inactive (grayed) layers o Widget shadow resources moved from Fig-color to Fig because they don't really have anything to do with color. There was a problem when running KDE because it set a global resource *Scrollbar*height: which made xfig freeze when *customization: -color was NOT used. o The point positioning indicator is turned on when editing a compound object to show the user that it is used o Increased the maximum size of images that can be imported. There was a limit in the PostScript image encoder of 4096x4096 pixels. This was increased to 8192x8192. o Centered text was changed to left-justified when flipped horizontally inside a compound object. o With -v option, after reporting the version, xfig would say that -v was an unknown option o Local locale was being used when writing the xfig cut buffer file instead of switching to "C" locale. This created commas instead of decimal (.) for numbers in those particular locales. From Dirk Osswald o Local locale was used when forming command for calling fig2dev, resulting in commas instead of decimals for floating point numbers. o count_user_colors buffer overflow fixed o Under Cygwin, temporary file stayed around after unlink(), causing error when importing more than one ps/eps/pdf file o Segfault when using -update because appres resources were NULL o -update option failed when not first option passed to xfig o Clicking window manager "close window" button in library titlebar didn't close the window o Wasn't distributing objects in compounds when there were only 2 objects o Some compilers complain about the order of declaration in u_fonts.h - fixed o Northern part of map of India was incorrect (Libraries/Maps/Asia/india.fig) o Map of Serbia was misnamed "yugoslavia.fig" (Libraries/Maps/Europe/yugoslavia.fig) o Map of Central Europe had old Yugoslavia instead of Croatia, Serbia, Bosnia- Herzegovina, and Macedonia (also, Slovenia was mistakenly inside the border) o Editing a compound object with more than 200 texts would crash xfig o typo in latex_and_xfig.html and LATEX_AND_XFIG files. Text should be: \convertMPtoPDF{foo.0}{1}{1} It was missing parameters {1}{1} o -correct_font_size missing from -help option list and man pages o -help and -version didn't work unless they were first in the options o -O option wasn't passed to fig2dev for overlapping pages in multiple page mode for PostScript export o When loading a library object, if it contained only a compound and nothing else, when xfig promoted that compound to the toplevel the main comment was lost o Incorrect header files used for SmeBSB resulted in either segfault or none of the command panel entries being underlined o Drawing very large splines (e.g. at zoom = 0.01) caused integer roundoff errors, making xfig loop indefinitely o Bug where a line that had a zero width or length arrowhead was not redrawn after being moved, copied, canvas redraw, etc. o The page border and axis lines would obscure Fig objects when moving, copying etc. other objects on the canvas. o In the popup picture editor, if the relative position of the corners of the picture were changed, the rotation field was not updated (this bug was in 3.2.5-alpha3 only) o line, arc, ellipse length tool was reporting 0 length o Missing #ifdef XAW3D in SimpleMenu.c o Bug when breaking a compound object - depths were added twice to the counts o When implicitly cancelling the placement of a library object by choosing another mode, xfig would do one of two things: 1. tell user to cancel or finish the current operation, but there was no way to do that 2. create the object that was being cancelled with extremely large, negative coordinates o Picture Reread button was active before file was read the first time o Rereading picture in edit popup produced bad colors o When using multiple copies of an imported picture, h/w ratio was not computed for copies o Importing PCX images were incorrect when bytes per line different from width*bpp o When passed a filename containing a directory name for a Fig object library using -library_dir, and that directory only contains Fig files and no subdirectories with Fig files, xfig segfaulted o Several checks for memory allocation failure added to the library loading procs o Forgot to free allocated memory when return abnormally from loading libraries o Path length check in loading libraries fixed o Missing include for put_msg prototype in e_measeure.c o Needed #ifdef for XtVersion in SmeBSB.c (X11R5 doesn't have international fontset) o Added SIGPIPE signal to ignore in case an external program dies when we're using pipes o Screen capture on an MSBFirst X server with 24/32 bits per pixel was incorrect. o Importing any image file on such a server was incorrect (bytes/bits reversed). o Reading GIF or PCX files on 24-bit server *and* on big-endian machine (e.g. Sparcstation) resulted in bytes being swapped and funny colors o Could popup unit dialog when drawing/editing objects o Embedded whitespace in filenames in recently loaded files weren't parsed properly (.xfigrc) o When pasting an object on the canvas, point positioning grid wasn't used o Bug when reading a compressed eps file (file handle was passed to open proc instead of name) o Minor grid spec used twice instead of minor/major when passed to fig2dev o Fixed conversions of export/print grid values when switching to/from metric, decimal or fraction o When loading or merging a file, xfig appended ".fig" to the name if there wasn't ".fig" in the name. Now it only appends ".fig" if there is no suffix (no "."). o When appending the ".fig" before the previous change, xfig would segfault o Libraries/Electronic/Schematic/transformer and transformer_ironcore aligned to 1/16" grid o Bugs in indicator panel display of text flags, dimension line params and arrow size params when cycling through settings with middle or right mouse button o Bug in callbacks for dimension line checkboxes that select actual length or user text o When exporting to Combined PDF/LaTeX it uses ".pdf" and ".pdf_t" suffixes because LaTeX doesn't recognize ".pdftex" as a PDF file o Better clipping around arrowheads on thick lines (lines that are thicker than the arrowhead is wide) o Checks for open splines of < 2 points when reading figure file and removes them o Clicking middle mouse button after creating first point of closed spline switched to freehand mode o Export panel sections would get messed up when changing export languages o Now checks whether scrollbars support StartScroll before trying to use it for the wheel scrolling. When the Xaw widgets are compiled with ARROW_SCROLLBAR, there is no such action. o pstex_t export lacked border option (-b) to align LaTeX text when pstex figure specified border (also fixed in fig2dev) o Create one picture object with no filename, then create another and xfig crashed o Some bugs when freeing dimension line components o Bad choices for grid dot spacing in metric mode in the 5mm grid, and decimal inch mode in the 0.5 and 1.0 inch grids o -international flag missing from xfig.html and xfig.man docs o Added call to XsetLocaleModifiers() when initializing input method (-international mode only) o xfig was limiting arrowhead lengths to 50 pixels instead of 50 inches, and the width to 10 pixels instead of 10 inches. o edit panel for circles shouldn't have "angle" entry o edit panel wasn't allowing typing in of negative angles for text and ellipses o Objects were sometimes drawn with a wild point when zooming o Full path was being added to default export filename and wasn't changing when user changed directories o When drawing a box or rounded box with the "show line lengths" on, the sizes were in Fig units (1200ppi) instead of user units. o Spacing cedilla (ISO 0xB8 / octal 270) was missing from CompKeyDB file o Changing the units in the popup edit panel for a text object caused a segfault. o Rulers and grid didn't change scale when user scale was != 1.0. Even though the message window showed the correct user scale when drawing objects, the rulers and grid still showed the unscaled values. o Axis lines through 0,0 now drawn after page border so it remains visible when there is a grid o Segfault if current directory was deleted after starting xfig o Positioning grid was set to "ANY" when editing a compound object, causing the original bounding box to be lost o Bug in arc drawing caused arcs to be drawn as circles at high zoom o Computing the area of a polygon larger than 38x38 inches overflowed calculation o Bug in bounds calculation for ellipses and circles that increased bounding box even with line width = 1 o Limit on number of styles in a family wasn't checked o If all depths were turned off and any edit operation was attempted on the canvas such as move object, delete object, xfig would hang, searching for objects indefinitely.