August 22, 1997 xfig 3.2.0 Final is available on ftp.x.org in /contrib/applications/drawing_tools/xfig. Be sure to set binary mode when transferring. You also need a JPEG library, which can be found in /contrib/libraries. You also need to get TransFig version 3.2 Final. 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 is in the directory /contrib/applications/drawing_tools/transfig. 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). 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 ============================================================================= Version 3.2 Final (Aug 22, 1997) ============================================================================= GENERAL NOTE: Because Unisys Corp. has stated that they will not charge royalties for the use of the LZW compression algorithm in *FREE* programs, xfig will continue to support importing and exporting of GIF images. However, be aware that if you sell xfig, for example as part of a CD-ROM package with freeware, you may be liable for paying royalties to Unisys. You may comment out the USEGIF variable in the Imakefile to avoid this. With USEGIF commented out, xfig will still import GIF files, but not export in that format. Also, for screen capture, xfig will create a PCX file instead of a GIF file. *** The authors of xfig and the Lawrence Berkeley National Laboratory cannot be held responsible in any case. *** NOTE: fig2dev now handles the exporting to bitmap formats (GIF, JPEG etc) instead of xfig, so there is more consistent output. Requires the netpbm package and ghostscript. See the README file. NEW FEATURES: o Japanese text objects (i18n) availble using flag I18N in Imakefile from T.Sato (VEF00200@niftyserve.or.jp) o ppm, tiff (no compression) and AutoCad (acad) output languages added o image quality (0-100) is selectable for JPEG export o figure size (in inches or cm) is shown in the export and print panels, taking into account current magnification o "Fit to page" button sets magnification so that figure size will just fill current paper size with (at least) 1/2 inch margin all around o emergency save file renamed from xfig.SAVE to SAVE.fig o when doing a screen capture for a picture object, the filename of the capture is the name of the figure file + the time according to time(3) + .gif, e.g. myfigure_858367466.gif o xfig version number in app-defaults file is checked and warning message appears if older than current version o spell checker to find misspelled words in text objects from T.Sato (VEF00200@niftyserve.or.jp) o search and replace - search for strings and either replace them with new string or update settings like color, etc. on matched strings from T.Sato (VEF00200@niftyserve.or.jp) o exporting to pstex does both PostScript and LaTeX part in one step to file.pstex and file.pstex_t respectively o popup messages (balloons): o describes drawing/editing function when mouse passes over any drawing/editing button o describes how to activate unit/scale popup when mouse passes over units box (where the rulers meet) o describes mouse function indicator when mouse passes over it o describes each command button in top row as mouse passes over buttons o toggle button labelled "Balloons" to turn on/off the balloon messages o all have configurable colors; see Fig-color.ad o new figures in Examples directory from Bill Chimiak (chim@bgsm.edu): 1. clp_computer1.fig - computer equipment clipart 2. clp_hospit_equip.fig - hospital equipment clipart 3. clp_network.fig - updated network equipment clipart 4. musicnotes.fig - musical notes, scale lines and clef o checks version number in app-default file with xfig version and warns if file is older BUGS FIXED: o arrowheads on splines didn't always point correctly (fig2dev did the right thing, though) o accomodation for 15-bit visual (believe it or not!) o checks bits-per-pixel for image formats because some vendors use 32 bits for 24 bit depths o minor difference in A0 and A1 page sizes o changed XPM variables to default X include/library in Imakefile o path added to save filename when xfig makes emergency save o incorrect email address for xfig-bugs in man page (should be xfig-bugs@epb1.lbl.gov) o typo about font_flags bit number for LaTeX vs PostScript in Doc/FORMAT3.2 file o not enough space allocated for buf[] in create_print_panel() and create_export_panel() from T.Sato (VEF00200@niftyserve.or.jp) o typo in Doc/FORMAT3.2 file about header information in Fig files o typo in man pages - zooming uses only CONTROL key, changing spline shape factor requires both CONTROL and SHIFT keys. o justification and page size are now disabled with EPS export o undo of converting spline to line caused seg fault o added #ifdef USE_GIF around transparent color in export and read file o error in sprintf format (was %4.2lf - should be %4.2f) in bottom indicator panel buttons that have floats from T.Sato (VEF00200@niftyserve.or.jp) o center of pie-wedge style arc wasn't included in bounding box from Andy Thomas (alt@picnic.demon.co.uk) o better handling of mouse function indicator from T.Sato (VEF00200@niftyserve.or.jp) o if "edit spline point" panel is popped up before general edit panel, 'Warning: Action not found: apply' appeared when edit panel was later opened from T.Sato (VEF00200@niftyserve.or.jp) o actions that had same names renamed to unique names from T.Sato (VEF00200@niftyserve.or.jp) o mouse button 1 and 3 didn't scroll the H, S, or V sliders in the color edit panel o unsigned/signed char pointer mix in create_pic_pixmap and get_canvas_clipboard o cleanup of dictionary wrapped around imported EPS files from Franz Koch (franz.koch@zdv.uni-tuebingen.de) o Portrait/Landscape changes didn't properly toggle width/height o New font specified in app-defaults for those systems whose default font was too large for popup panels (Fig*Font: 7x13bold) o Zooming not allowed if drawing object in progress (panning is OK) o strcasecmp and strncasecmp bugs (s2 != '\0' and s2 == '\0' should be *s2 ...) o when exporting to bitmap format, bounding box of figure was rounded to current point positioning grid (unintended) o unaligned access errors on 64-bit machines (e.g. Alpha) when importing bitmap pictures. Now uses unsigned int for pointers o code to remove identical consecutive points in line objects had bug o workaround for long-time Intrinsics bug with scrolling text widget in viewport for file and export lists provided by Mark London (mrl@psfc.mit.edu) o bug in control-key-button-1 zoom sequence - didn't allow control key pressed when completing zoom operation o mis-named fonts for zapf chancery and zapf dingbats (many servers don't have these fonts anyway so please don't ask me where to get them) o error in JPEGINC variable in Imakefile - had leading "/" in path o width of "open compound" button was slightly too large such that the mode panel (left) obscured part of the indicator panel (bottom) when -but_per_row was 3 o transparent color for GIF export wasn't "None" as default o box objects read in from Fig file would only have three points on some machines o grid wasn't changed to metric when loading metric figure o 24- and 32-bit export to JPEG was incorrect o "rotate and copy" for text placed first copy correctly, but subsequent copies incorrectly o comments after #FIG before end of header weren't parsed correctly o Landscape/Portrait is only available for PostScript export o Ledger/Tabloid sizes reversed (Tabloid is 11x17", Ledger is 17x11") o deleting all objects (Meta-D) prevented the "New figure" function by keeping the original figure name o arrowheads were inadvertantly allowed for closed splines via the popup edit panel o picture objects rotated 90 or 270 degrees were also flipped o changed sense of USEINLINE so default is NOT to use it -------------------------- V3.2 Beta 1 (Jan, 9, 1997) -------------------------- NEW EXAMPLE FILES (Examples/ directory) o fantastic figure from Robort Ford (rford@mailserv.mta.ca): transit.fig - transit map of Saint John, New Brunswick (Canada) Don't use it for locating transit routes - it is only good through July 1996 and only shows non-rush-hour routes o great figures from Carlo Kopp (carlo@cs.monash.edu.au): greenpig.fig - F/RF-111C/G Tactical Fighter rfxc.fig - RFX Strike/Recon Fighter lidar.fig - Sidelooking battlefield surveillance LIDAR sowpig.fig - RAAF F-111C fighter jet w/ 2x AGM-142 Have Nap SOWs o some nice figures from Peter Hiscocks (phiscock@ee.ryerson.ca) aircraft.fig - light aircraft ps-foil.fig - power supply circuit board foil layout ps-foil.fig - power supply circuit board schematic o from Philipp Reisner (Austria). Linuxlogo.fig - the only entry in the Linux 2.0 Logo contest to be rendered with xfig - Unfortunately, it didn't win :-( o new clip art objects from W. Chimiak (chim@tachyon.medeng.wfu.edu): clp_computer.fig - various computers, monitors etc. clp_network.fig - computer network components o more new example files (done by me, Brian Smith) 3dhouse.fig - cutaway view of a simple house drawn in 3D ctrlbox_lay.fig - dimensioned drawing of a control box for a project in my group ctrlbox_sch.fig - electrical schematic of the control box NEW FEATURES o better error reporting from ghostscript when importing EPS files o in color popop panel, "lookup color" button allows user to grab color from any window for user-defined color in xfig uses code from xpaint (Copyright 1993 David Koblas (koblas@netcom.com) and Copyright 1995, 1996 Torsten Martinsen (bullestock@dk-online.dk)) o There is a new mathematical model for splines. The new version uses X-splines which allows to mix interpolation and approximation points in a same curve. More precisely, it means that an X-spline curve is neither an interpolated spline nor an approximated one, it is BOTH (the behaviour of each point is controlled by one single parameter called "shape factor"). For additional information about X-splines, see: "X-Splines: A Spline Model Designed for the End User" by C. Blanc and C. Schlick, Proceedings of SIGGRAPH'95 o the shape factor of each individual point can be modified interactively with a dialog box that is displayed when pressing the right button in the EDIT OBJECT mode. o the shape factor can also be modified in any of the EDIT modes, by holding down the CONTROL key while pressing the mouse buttons. o because the CONTROL modifier is used for the shape factor edition, the zoom rectangle is now obtained by pressing the SHIFT key AND the CONTROL key while dragging the rectangle. o new features have been added in the CONVERT mode. Any conversion between polylines, polygons, open splines and closed splines are now possible. *** Caveat: Because spline models of previous versions (quadratic B-splines and Bezier with hidden points) are no longer supported, curves that are present in version 3.1 and older files are automatically converted to X-splines. This translation is only an approximation process. It means that the converted curves are not exactly the same as the original ones. Though the translation usually provides almost identical curves, some hand-fitting may be needed in some pathological cases. The new spline features were written by Carole Blanc (blanc@labri.u-bordeaux.fr) and Christophe Schlick (schlick@labri.u-bordeaux.fr) starting from an initial implementation done by C. Feuille, S. Grosbois, L. Maziere and L. Minihot as a student practice (Universite Bordeaux, France). o the file format (protocol) has changed (see Doc/FORMAT3.2 for details). This means you must also get transfig 3.2. Xfig will still read older Fig format files but will always write the new format. o multiple page flag, paper size, transparent color (GIF export) and print/ export magnification now stored in Fig file (new protocol format 3.2) o export/print magnification now command-line argument (-magnification) and resource (Fig.Magnification) o paper size now command-line argument (-paper_size) and resource (Fig.paper_size) o multiple page flag now command-line argument (-multiple) and resource (Fig.Multiple) (-single is default) o option of transparent color for GIF export (e.g. make background transparent) o new colors in Fig-color.ad resource file from Joel D. Young (jdyoung@afit.af.mil). If you want the old colors, copy Fig-color.old.ad to your app-defaults directory as "Fig-color". o works with GrayScale, TrueColor, DirectColor, StaticColor and StaticGray visuals now. Use "-visual " command-line argument or "Fig.visual: ". Also, "-depth " (Fig.depth: ) supported. thanks to help from Kevin Russell (krussell@dres.dnd.ca) o "Delete All" button changed to "New" function - all objects are delete and the current filename is cleared. Also, the file save and load shortcuts will force the file panel to popup if the current filename is empty. This will prevent a user from doing a "delete all" to create a new figure and forgetting to change the filename when saving. o new edit features when entering text on canvas: Left arrow key and Control-B moves cursor left Right arrow key and Control-F moves cursor right Home key and Control-A moves cursor to beginning of text End key and Control-E moves cursor to the end of text Delete key and Control-D delete the character to the right of the cursor Control-K deletes from the cursor to the end of the text Pan operations using the arrows and the Home key are disabled during text entry because they are used for positioning the text cursor now. o "Open Compound" operation to temporarily go inside a compound object to edit individual components. Can enter nested compounds. Close compound to group objects back into compound. Written by Bill Taylor (bill@mainstream.com) o xfig will now automatically unzip/uncompress Fig files with .Z, .z or .gz suffixes automatically. It does not recompress/zip them when saving, though. o -zoom (resource Fig.zoom) option to start xfig at any zoom value o -startposnmode (resource Fig.startposnmode) option to start xfig with point positioning mode specified. Values can be 0 ("any") to 4 (1 inch/20mm). o size of blank area (margin) around figure when exporting to bitmap-style formats (e.g. GIF, XPM etc.) is settable in export window now o when zooming larger, spacing of dots in grid lines stays constant o button to hide/show hidden directories (names that begin with ".") in file popup menus o paper size selectable for printing and when exporting to PS/EPS: "Letter", "Legal", "Ledger", "Tabloid", "A", "B", "C", "D", "E", "A0", "A1", "A2", "A3", "A4" and "B5" o in the past if an ellipse was scaled such that the radii become equal it was "converted" to a circle. This "feature" has been removed. o point objects (POLYLINES with only one point) now have thickness, as they should. Additionally, if the cap style is rounded, they will be filled circles o when exporting figure containing picture objects, xfig warns if the export filename is the same as any of the picture files o note explaining how metric units are defined in xfig in the Doc/FORMAT3.1 file o when updating objects with update button, they were drawn twice - now they are only drawn once o when deleting xfig window (WM_DELETE_WINDOW), popup confirmation gives user the option to save figure o README file updated to give credit for Example figures not done by Brian Smith o default suffix for hpgl (ibmgl) export changed to "hpl" for PC users BUGS FIXED o smart links didn't work when the box being moved had line thickness > 1 o -exportLanguage ignores case now (e.g. GIF == gif) o identical consecutive points in lines and "normal" splines are removed as file is read into xfig o some thick arrowheads still protruded into the object they touched (in fig2dev too) - fix from Tobias Ringstrom o resource for compose key database file is keyFile, not ComposeKeyDB (Fig.ad) o color of labels for color numbers/names in color panel contrast their color o edit panel allowed > 100% fill for black and white fill o additional check for bad Bounding Box in imported EPS file o when flipping objects vertically or horizontally, overlapping objects weren't redrawn o format error in sprintf for temp filename in screen capture (%d should be %ld) o some versions of imake don't like null parameters in SpecialObjectRule in Imakefile - changed to "NullParameter" o "modified" flag wasn't being set when changing spline<->line or box<->arcbox, thus one could quit without saving without xfig confirming from Matthias Braun (browny@ise.fhg.de) o when figure is read in from file, any arrowheads with width, height or thickness of 0 are given default values (were causing SIGFPE errors) o colormap must be saved before jpeg_finish_decompress or jpeg_destroy_decompress are called in read_JPEG_file() o when fore/background colors different from black/white respectively, the fill colors for black and white fill were incorrect o when merging figure with no picture objects into figure with picture objects colors were unnecessarily remapped o "rubberbanding" of object being drawn would continue after object was completed. Also, double clicking on a directory name would cause segmentation fault. fixed by Stefan Proels (proels@fmi.uni-passau.de) o Imakefile had error - $(PCXBUG) was incorrectly passed to f_readjpc.c instead of f_readeps.c where it was needed o If the directory path in a file popup was changed by typing into the path window but carriage return wasn't pressed, rescan showed the correct directory but the path wasn't correct so no files were accessible. o Redefined $(XPMINCDIR) to $(XPMINC) because some compilers have trouble with header search path with empty "-I" o string allocation errors in string widgets in popup edit panels o no return code for successful screen capture which would result in failure randomly o picture objects scaled (enlarged) correctly in metric mode so they print 1:1 o incorrect values for white colormap entry when writing jpeg file on monochrome display o Some people have older X11 include files that don't have included. fig.h explicitely includes that now for the SEEK_END identifier o Not enough space for number strings in rulers (SEG fault) o circle grab points moved even if no changes made in popup edit of circle or ellipse object o after attempt to do a horiz/vert move point of a circle was disallowed, further move points were disabled until edit mode switched o if both points of "circle-by-diameter" have same y value it thought that the edge is the center when you try to use "box scale" o colormap from jpeg file was referenced after memory was freed o #include changed to #include "jpeglib.h" to ensure corrrect path used to find header file o problems on Linux with gcc locating old jpeg library even when JPEBLIGDIR pointed to local version o buf too short in set_mixed_names o line2 too short in button struct o file not closed after writing JPEG file o pen color for picture objects disabled for all except XBM (bitmap) in popup edit o confusion with -DNOSTRSTR, NOSTRSTR and HAVE_NO_STRSTR cleaned up. See README. o possible error in rulers with sprintf %f called with integer expression o cleaned up add/delete user defined colors - no requirement to click on colorcell after "Add Color" to set color sliders o added condition in Imakefile that f_wrjpg.c depends on jconfig.h (jpeg library) o changed #include to #include "jpeglib.h" because of search rules o Version 1.0 of Xaw3d used resources topShadow and bottomShadow for colors of those resources. Version 1.1 uses topShadowPixel and bottomShadowPixel. I have included both names in the Fig.ad app-defaults file for compatibility. o removed extraneous comma (,) in length and distance messages when drawing/moving objects o cleaned up many type mismatch warnings for bitmap data o bug in skip_comment() which prevented some machines from seeing the end of file, giving erroneous "Incorrect format" error o typos in xfig.man in resources StartGridMode, StartPosnMode, StartLineWidth, StartFillStyle and StartTextStep (had lowercase 's') o pcx file was closed twice o if there is an error when writing screen capture to a file, the popup error message window shows the error o Examples/logo.fig had squished logo eps file