============================================================================= Version 3.2 ============================================================================= Patchlevel 2 (July 2, 1998) BUGS FIXED: o Placing a library object caused xfig to die after recursing for a long time o Arrowheads in xfig 2.x files were incorrectly converted to 3.2.1 (they came out too large) o Imakefile didn't properly install Electrical/Physical and Electrical/Schematic directories o Some variables multiply defined in u_draw.c o Some systems' "install" program don't have the "-d" (create directory) option so I have reworked the install part of the Imakefile -------------------------- Patchlevel 1 Final (July 1, 1998) 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 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 -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 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 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 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 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 ============================================================================= Version 3.2 (first release 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-schematic.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 ============================================================================= Version 3.1 ============================================================================= Patchlevel 4b (May, 20, 1996) BUGS FIXED o arrowheads caused DOMAIN error for asin on very small arcs o constraint loop error when starting xfig with button panel on right side fixed o Some compilers optimized away the dummy functions in f_readxpm.c and f_wrxpm.c because they were static but never referenced. These dummy functions are needed when the XPM code is not used, for those same compilers that don't like empty .o files. The "static" has been removed. o BoundingBox handled better with importing EPS figures from Yves ? o meta characters in file names (e.g. "&", "|", etc.) weren't properly escaped when passed to fig2dev or when printing o changing directories in the image browser broke file/export directory widgets o user-defined fill colors above 63 were being limited to 63 when reading in Fig file o bug in zoom macros resulted in some objects being shifted when zooming o segfault when importing jpeg picture with grayscale colormap fixed o when moving text that is currently off the positioning grid, and positioning grid is turned on, text is correctly placed on the grid now o changing between portrait and landscape mode keeps previous canvas size o limits.h included now for i386 and SVR4 machines o when switching between inches and metric mode, the figure on the canvas is scaled appropriately, so that (e.g.) a 1 inch line becomes a 2.54 cm line instead of 2.666 cm as it use to. from Henning Spruth (hns@regent.e-technik.tu-muenchen.de) o changed "METHODDEF" to "static" for f_readjpg variables because the definition of METHODDEF changed in jpeg-6a o xfig incorrectly interpreted the WM_SAVE_YOURSELF signal from window managers for now, this signal is ignored until I have time to "do the right thing", which is to checkpoint xfig so it may be restarted later in exactly the same state (figure and panel settings etc) if the user desires to do so. ----------------------------------------------------------------------------- Patchlevel 4a (Aug, 24, 1995) BUG FIXED o incorrect values for white colormap entry when writing jpeg file on monochrome display ----------------------------------------------------------------------------- Patchlevel 4 (Aug, 16, 1995) NOTE 1: The Display PostScript code is not supported anymore until some kind user can debug it for me, as I have no access to a server with DPS extensions. Use ghostscript for rendering your EPS files. It gives a color image on the xfig canvas now anyway. NOTE 2: Because Unisys 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. The authors of xfig and the Lawrence Berkeley National Laboratory cannot be held responsible in any case. NOTE 3: Because of the patent/licensing issue with Unisys and the LZW compression algorithm used in GIF files, the author of ghostscript has decided to remove GIF support from that program. xfig will now use PCX output from ghostscript when importing EPS files. This means that you must compile ghostscript with the pcx256 and pbmraw drivers. Additionally, there is a bug in the pcx driver in Aladdin Ghostscript versions prior to 3.32, which writes an incorrect pcx file for images with odd width (not even). There is a compile-time flag set (the default) to make xfig add one pixel to the width of an odd-width image when it reads in the pcx output from Ghostscript. If you have Aladdin Ghostscript 3.32 or newer (which wasn't released as of this writing) you may comment out that flag and your images will have the proper width. However, one pixel extra in width shouldn't matter for most imported eps files. NOTE 4: The -textoutline (resource textoutline) option has been moved into the -debug option. This makes xfig draw a red box around text objects for debugging purposes. NEW FEATURES: o JPEG (JFIF) images can be imported and exported - see Examples/pictures.fig Unless you have an image (picture object) in your figure, you may not gain very much by exporting in JPEG over GIF because of the nature of compression used in both methods. GIF is usually better for line drawings or drawings with large blocks of continuous color (e.g. filled polygons). JPEG is usually better for compressing images. The quality factor for exporting JPEG is fixed at 75. This seems to be fine for figures containing only solid objects (no images) and adequate for figures containing imported images (GIF, JPEG, etc.). o New features in the Picture Object edit popup: 1) Capture a screen image to a GIF file to use for importing. 2) Call an image editor (e.g. xv) to edit an imported image. New resource for the editor: "Fig.image_editor: xv" (default) 3) Popup a file browser to look for images to import. all from Jim Daley (jdaley@cix.compulink.co.uk) o the points of arrow heads don't protrude past the endpoints of the object o when drawing polyline/polygon or spline you can delete newly created points by pressing shift-mouse button 1 o when saving figure, original is first renamed to file.bak to make backup file o smartlinks improved - lines touching boxes inside compound object will be moved when compound is moved with smart links mode on From Ian Brown o -help option to print all command-line options to xfig o can now change boxes to arc-boxes and vice versa with same button that converts lines <-> splines. o label in fill style panel added to separate shaded fill from pattern fill (if the pen and fill colors are both black or white it was impossible to distinguish the patterns from the 100% shade fill) o when adding a new user-defined color, it is automatically selected for modification without having to click on the cell. o point positioning now has five resolutions: arbitrary, 1/16" (1mm), 1/4" (5mm), 1/2" (10mm) and 1" (20mm) o increased resolution of dimensions in message window when drawing/moving objects from 2 to 4 decimal places o new meta sequence "%f" in print parameters is replaced with current filename for printing. Can be used for job name to printer. (e.g. lpr ... -J %f ...) o version/patchlevel added to error handler messages to identify version of xfig o new export option for MetaFont language o new resources for ruler and unit box fonts: *topruler.font, *sideruler.font and *unitbox.font. See Fig.ad. o new resource (Fig.rulerthick:) and command-line arg (-rulerthick) to set thickness of rulers (height of top ruler and width of side ruler) o note about patch for HP compilers in README file (see "Possible problems...") o on abort, xfig does a cd to the original directory where it was started so that any core dump will be in the original directory o strncasecmp and strcasecmp routines provided for those systems that don't have them. See the Imakefile . From Fred Appelman (Fred.Appelman@cv.ruu.nl) BUG FIXES: o fig.h includes sys/types.h for BSD and Mips systems and excludes errno, sys_nerr and sys_errlist for BSD from Kurt J. Lidl (lidl@va.pubnix.com) o error in path for xpm.h in resources.h o reversed #elif conditions in fig.h for linux/osf defs of random() and srandom() o text size problem when reading file with text when zoom != 1.0 fixed o deleted user colors still showed up in color menu in "edit object" panel o when rotating or flipping an object, the new position wasn't kept on the point positioning grid o selecting drawing mode using keyboard accelerators now updates mouse indicator window o undo of multiple copy (array place) now undoes all objects o undo of "figure load" properly sets "current filename" in File popup and "default filename" in Export popup back to original values o undo of "figure load" does not set "figure modified" flag now o changing the figure orientation to/from Landscape/Portrait is considered a figure modification for quitting/saving o GIF export was not available if XPM not installed - rearranged order o misplaced fclose() in f_readeps.c o misdeclared function close_picfile() in f_readeps.c o infinite loop when copying a line after scaling a compound using the move point mode o bitmap image of Latex "Italic" font was mis-named "Italics" o no more hard-wired setting of background for mode and indicator panels see Fig-color for more details o font size for text objects adjusted if < 4 points or > 1000 when reading file o update settings from object wasn't setting PostScript vs LaTeX flag when Font update indicator was enabled o more checking done in popup edit panel for illegal line thickness or depth o flip or rotate anchor/center point crosshair turned off when selecting new drawing mode o seg fault in import/edit of picture object due to filename string corruption o segfault sometimes on file load - gcc sometimes produces code which segfaults when doing ungetc on const string. Constant string copied for sscanf o bug in computing the center of an arc when scaling o smarter redrawing of objects in correct depth order when creating or modifying any object o changed bestd = ~(((int) 1)<<31); to bestd = INT_MAX in f_neuclrtab.c due to temporary integer overflow inside the parentheses o if -textoutline was specified, boxes appeared around text when exporting to bitmap-type format (e.g. GIF, XBM, etc) o if the file message window popped up before canvas translations were installed a warning about the PasteCanv action not being found resulted. This was fixed by narrowing the specification for the translation in the app-defaults file. o bounding box for text objects was incorrect when loading file with zoom != 1.0 o bounding box for ellipses was incorrect with thick lines o bug in handling text objects with \ at end patch from Andrew McParland (akm@rd.bbc.co.uk) o mis-named character "acute" removed from the multi-key sequence list in man pages o LaTeX font "Modern" changed to correct name "Sans Serif" new menu bitmap from Volker Kuhlmann (kuhlmav@elec.canterbury.ac.nz) o bounds calculation of objects didn't take line thickness into account correctly o drawing very small arcs (e.g. when zoom is small) resulted in strange lines being drawn o importing XPM images with undefined colors resulted in an X error. Now xfig uses white for null color entries. o problems with XFree86-3.1. Get XFree86-3.1.1. o some picture objects without filenames would be saved incorrectly and couldn't be re-read o extraneous error message about inaccessible file when it contains bad Fig object o bug in bounding box calculation created compound objects off by one unit o added #include for ultrix file stat structure o bug in scanning 8-bit character followed by a number in text object (e.g. \24355 should be the British Pound Sterling character followed by 55, not character (octal) 24355) o in older Fig files (2.1) text at 90 degree angle was slightly jagged due to rounding error o xfig doesn't coredump when delete window operation is done on xfig window or user logs out without quitting xfig o bug in redefining user colors when merging figures o single-point lines with arrowheads caused segfault - xfig now takes more steps to not allow arrowheads for those o undo of delete arrowhead created arrowhead with current line thickness etc. instead of restoring original o removed extraneous comma (,) from lp command for SYSV/SVR4 systems. o changed the "-oPS" command-line option (used for SYSV systems) to "-T PS" in the Fid.ad app-defaults file. o typo in FORMAT3.1 file - line and arrowhead thicknesses units are 1/80 inch, not Fig units. Also, dash/dotted size/spacing are in 1/80 inch units. o some compilers don't like empty .c files (e.g. when XPM is not compiled in) static dum_function() placed in f_readxpm.c and f_wrxpm.c for that case o bug in #include for xpm.h - X11/xpm.h was appended to XPMINCDIR - removed X11/ o added #ifdef ultrix to include which is needed for o black and white colors in colorpanel were set to fore/background colors instead of black and white (problem when -bg and/or -fg used) from Matthias Braun (browny@ise.fhg.de) o length of line reported when drawing in Mountain or Mountain/Manhattan mode was behind by one point positioning unit until new point was established ----------------------------------------------------------------------------- Patchlevel 3 (Jan, 24, 1995) BUG FIXES: o when using the 3D Athena widgets, user defined color buttons in popup color panel were allocating three colors per user color - fix to app-default file fixed that (3D widget set was trying to make shadows) o EPS objects were too small when "Use orig. size" used in edit panel o hexadecimal color names not parsed correctly for xpm images o moved include of and some others above for gcc warnings about NULL being redefined o LaTeX text with special flag had wrong style (Roman became Italic etc.) o cap style implicitly set to ROUND for ellipses and closed splines with dotted lines o some cleanup of pointer/data type casts from Randy MacLeod o incorrect parameter for ibmgl export mode - incorrectly used -L for landscape o more #ifndef/#endif surrounding random, srandom and frandom in fig.h o removed the -oPS command-line option for SYSV systems because it is printer dependent. Use the "Fig*job_params*string: -oPS" resource. o can now dismiss message window while edit panel is up o command string for printing file too short for some cases - increased ----------------------------------------------------------------------------- Patchlevel 2 (Jan, 13, 1995) BUG FIXES: o ISO8859 restriction on font searching was inadvertantly removed - added back o hexadecimal color names not parsed correctly xfig standard colors. This was causing xfig to switch to monochrome mode after complaining that it couldn't allocate the standard colors. o definition for XCOMM in Imakefile for those running R4 o fixed problem with popup message panel having wrong colors when xfig switches to a private colormap o objects with dotted lines didn't show until an object with dashed line was first created o moved #include of X11/Intrinsic.h to top of fig.h file so XtSpecificationRelease would be defined when needed o comment for patchlevel 1 about command-line option -dontswitchcmap misspelled o new label in print panel - "Print to PostScript Printer" makes it obvious that the only printer type available is PostScript ----------------------------------------------------------------------------- Patchlevel 1 (Jan, 11, 1995) BUG FIXES: o couldn't read eps files that didn't have showpage command o segfault when non existent eps or other image file is referenced in a figure o command-line option -dontswitchcmap (resource Fig.Dont_switch_cmap) fixed o export and file load/merge offsets units (inches, cm, etc) not correctly set when -metric option used o seg fault when converting line to spline because cap_style wasn't initialized o when converting spline to line, cap_style was set to current cap_style instead of style of line being converted ----------------------------------------------------------------------------- Patchlevel 0 (Jan, 9, 1995) BUG FIXES: o NOTE: An error in version 3.0.0 incorrectly positioned objects on the canvas when reading older fig files. New objects entered with 3.0 are correctly positioned. A warning will popup when you load a version 3.0 file with version 3.1 that says you might need to offset your figure by 14 fig units in X and Y when you load it. This is done by setting the X and Y offset in the popup File panel. I apologize for the inconvenience. ***** This is also why the file version number has changed. o conditionals and macros added for for machines with different random number generators o segfault in show_pen_color and show_fill_color under certain conditions when switching colors o error in x/y load/merge offset when reading pre 3.0 files o bug in drawing large (6 inches diameter or larger) circles or ellipses with dashed or dotted lines and angle of 0 degrees. o extra line was drawn to center of ellipse or circle when dashed or dotted lines used and angle of 0 degrees. o bug in f_read.c which caused FPE errors when reading incomplete/incorrect Fig file o declaration of count_lines_correctly() inconsistent in f_read.c o incorrect cast using malloc in f_readxpm.c() o setcenter, setcenter_x and setcenter_y should be extern in e_flip.c o setanchor, setanchor_x and setanchor_y should be extern in e_rotate.c o text following #endif non-ANSI in main.c o error in source file names in Imakefile - had f_wrgif.o instead of f_wrgif.c o error in freeing NULL font struct when quitting xfig (in u_free.c) o renamed basename() to basname() to avoid conflict with Linux libc function o error in LaTeX font numbering in Doc/FORMATx.x files o major errors in reading version 1.3 files o overriding translations in turn_on left black outlines around buttons in mode panel when new mode button pressed o some servers drew black background in indicator panel buttons - caused by fill mode being "tiled" for buttons other than the fill style button o images (GIF, XPM etc) weren't always recolored correctly when using popup edit panel on picture object o DPS fixes for Solaris 2.3 from Pete A. Zaitcev (zaitcev@lab.ipmce.su) ============================================================================= Version 3.0 ============================================================================= Patchlevel 0 (Dec 22, 1994) NEW FEATURES: o changes to the file format (protocol). See Doc/FORMAT3.0 for details. This means you must also get transfig 3.0. Xfig will still read older Fig format files but will always write the new format. These are the new features related to the new file format: ----------------------------------------------------------------------------- o resolution is increased from 80 ppi to 1200 ppi. This decreases jaggies. A side effect is that xfig can now read fig files of any resolution, although it converts the file to 1200ppi internally, and saves it in that resolution. from Ross Martin (martin@trcsun3.eas.asu.edu) o Portrait/Landscape, Print Justification (center or flush left) and Metric/ Inches indicators saved with figure file now - xfig automatically switches to correct mode when reading file o separate pen and fill colors for all objects except text. o there are now 32 "standard" colors - new ones are: gold, three shades each of blue, green, cyan, red, magenta, brown and pink. o in addition, there are now user-definable colors which may be defined by using RGB (Red, Green, Blue) or HSV (Hue, Saturation, Value) slider bars or by hexadecimal values. These are stored in the figure file as pseudo- objects of type 0 which define the rgb values in hexadecimal. The color numbers range from 32 to 543. o more fill options - colors transition from black to full saturation (shades) and on to full white (tints, i.e. pastels). Or you can use one of 16 fill patterns - diagonal lines, bricks, shingles, crosshatch etc. o two arc styles: open (original) and pie-wedge (closed) o three line-join styles: miter (default style), round and bevel (see PostScript or Xlib reference for description) o three line-cap styles: butt (default style), round and projecting (see PostScript or Xlib reference for description) o three new arrowhead types (both hollow and solid) and the tips of the arrowheads are now pointed, as they should be ----------------------------------------------------------------------------- Features which are independent of the new file format: o EPS objects have been changed to "picture objects" to include GIF images, X11 bitmap images and the XPM3 (color pixmaps) besides Encapsulated PostScript. Compressed (.Z) and gzipped (.z or .gz) files are also handled. Future versions of xfig may include TIFF, etc. X11 bitmap picture objects use the pen color component. The popup edit panel shows the image type, size and number of colors used, if applicable. See the Examples/pictures.fig for examples of XPM, XBM and GIF. You must have version 3.4c or newer of the XPM library. This is available from ftp.x.org in /contrib/libraries. GIF input code from David Koblas' giftoppm code from the pbmplus package. A Floyd-Steinberg dithering is applied to color images for monochrome displays. For EPS files, if Ghostscript is used to generate the preview, an 8-bit color preview is generated if xfig is running on an color display. The command-line option -dSAFER is used when calling ghostscript which prevents any files being written by the postscript code. The color quantization algorithm to minimize the number of colors needed for the color images uses a neural network scheme written by Anthony Dekker (dekker@ACM.org). [NEUQUANT Neural-Net quantization algorithm by Anthony Dekker, 1994. See "Kohonen neural networks for optimal colour quantization" in "Network: Computation in Neural Systems" Vol. 5 (1994) pp 351-367. for a discussion of the algorithm.] o support for Input Tablet - see Imakefile Greg LaCoste (greg@seismo.do.usbr.gov) o when moving an object on the canvas the straight-line (sqrt(x^2 + y^2)) distance from the original position is reported in the message panel along with the X and Y distances. from Uwe Bonnes (bon@lte.e-technik.uni-erlangen.de) o rotate or flip objects around a chosen anchor point - see FLIP and ROTATE sections in the man pages. from Uwe Bonnes (bon@lte.e-technik.uni-erlangen.de) o make multiple copies of object as you rotate or copy it - see COPY section in the man pages from Uwe Bonnes (bon@lte.e-technik.uni-erlangen.de) o new command panel button to switch canvas between Portrait and Landscape mode o new option in file load/merge panel to load/merge figure with offset on canvas o new option to export file with offset on page in inches or cm o OE and oe characters possible now; though not visible on the canvas because they don't exist in the X11 fonts they will print in PostScript from Serge Lacourte (lacourte@bikini.imag.fr) o starting textstep, fillstyle, linewidth and gridmode can all be specified with command-line args or resources now (see man pages) from Serge Lacourte (lacourte@bikini.imag.fr) o larger grid (1 inch or 20 mm) o when zooming very small, number of grid lines are reduced to avoid clutter o more keys available for multi-key sequence: Alt_L, Alt_R and Escape besided the usual Meta key from Serge Lacourte (lacourte@bikini.imag.fr) o in update mode, the control panel doesn't scroll with the indicator buttons but stays on the left side all the time o rulers are a little smarter - fewer labels and ticks when zoom scale is small, 0.5 inch marks for inches scale when large enough o minor changes to names of some widgets - "xfig_" prefix removed from those having it o can use "box-scale" on ellipses and circles now besides "scale about center" o new alignment options - Distribute objects evenly horizontally, vertically or both, spacing either their edges or centers evenly, or abutting their edges from Matthew Leditschke (mcl@eikona.eng.monash.edu.au) o keyboard icon appears in mousefun window when text entry is required works during canvas text entry and in ASCII widgets in popups o carriage return in any ASCII widget in edit popup applies changes o zoom in and zoom out accelerators (Z (zoomin) and z (zoomout) defaults) o popup font menu is now two entries wide to reduce overall height o panning is proportional to zoom factor, i.e. pan step is 1/2 inch in canvas units, not drawing units from Anthony Smith o holding down the Shift key while panning pans 5x as far o fill style indicator shows current color now o two new Example files: illusion.fig and recycle.fig from Vivek Khera (khera@cs.duke.edu) o four new clip-art files (Examples directory): clp_bldgs.fig, clp_network.fig, clp_computer.fig and clipart.fig from William J. Chimiak (chim@relito.medeng.wfu.edu) o new export languages - GIF and X11 Pixmap (XPM, color X pixmaps) output - must have the XPM3 package for XPM output. XPM3 code from Karel van Houten (K.H.C.vanHouten@research.ptt.nl) GIF code from E. Chernyaev (chernaev@mx.decnet.ihep.su) o can handle eps files with %%BoundingBox: (atend) from Paul Hodgkinson (hodgkin@physchem.ox.ac.uk) o no need for the -DNOSTRTOL flag anymore if your system doesn't have strtol() o export magnification factor added for X11 bitmap/pixmap output o MAXNUMPTS (the maximum number of points displayed for large objects) may be specified in the Imakefile with -DMAXNUMPTS=xxxx, if desired BUG FIXES: o first/opposite corner designation for box objects was reversed in popup edit o line count correct when reporting any errors reading figure file from Andreas Bagge (Andreas_Bagge@h2.maus.de) o when scaling box object, size of box now shown with first click when using middle button o more sanity checks on starting values (e.g. -startfillstyle < 0 etc) o changes in dot/dash spacing were sometimes delayed in effect. Fixed. o if printer name came from env variable, it didn't show up in print panel until first figure was printed o smarter redraw of underlying objects when updating or rotating objects or moving, adding or deleting points of an object o metric scale is now correct size when printing from Hans Werner Strube (strube@swing.physik3.gwdg.de) o temporary file for importing EPS objects wasn't honoring XFIGTMPDIR o text angle was written with only 5 decimal places - causes rounding errors o after adding/deleting a point from a poly object, copying a compound object would cause xfig to hang (loop in linked list) o grid wasn't reset when changing to/from Imperial/Metric scale o "Ruler units" message was incorrect when changing to/from Imperial/Metric o file_msg() routine now uses varargs old method was causing crashes to occur on a 64 bit machine o toggle of update masks wasn't using correct variable o when drawing a dotted line with only two points which are coincident, some servers die and others give BadLength error. A call to draw a point is substituted in this case. o bug in changing directory using ".." in text panel for "Curent Directory" in file and export popups o in monochrome mode, popup color choice panel black/white reversed from indicator button for blue-yellow o first section of man pages didn't mention IBM-GL language in reference to fig2dev o filled objects didn't show the fill pattern in monochrome mode o seg fault when xfig used default font when desired font could not be found o fixed some memory hog problems with accelerators o some typos in the class names of bold/normal/button fonts in man pages o double clicking on a filename to load it sometimes resulted in garbage or blank filename in file name panel. o remnants of #ifndef NO_SIBGUS (note typo) fixed. NOW there is no need for #define NO_SIGBUS if your system doesn't have SIGBUS. Automatic now. o typo in fig.h check for #ifdef(SYS) instead #ifdef(SYSV). o added check for SCO3.2r4 which needs stdlib.h for atof() and getenv() o switching between LaTeX and PostScript fonts while entering text object caused illegal font to be created in text object o GC's tr_gc, tr_xor_gc, tr_erase_gc, sr_gc, sr_xor_gc and tr_erase_gc declared in resources.c and in w_rulers.c o cur_cursor set to arrow_cursor before arrow_cursor was created o experimental color definitions in resources in main.c clobbered variables because array wasn't large enough. o false query about overwriting existing fig file fixed o shifted keyboard accelerators work with caps lock besides shift key o text bounds fixed o smarter text locator when moving rotated text o missing "return 1" in bitmapDPS procedure (Display PostScript machines) o type mismatch in w_rottext.c ("return NULL" changed to "return 0") in XRotPaintAlignedString() o bug in memory allocation for font name when desired font doesn't exist o increased memory allocation for large, rotated ellipses ============================================================================= Version 2.1 ============================================================================= Patchlevel 8 (Oct 1, 1993) NEW FEATURES: o minimum movement for mountain/manhatten mode reduced from 7 pixels to 2 o lengths/radii of objects now displayed on first click in move point mode, not just when actually moving the points o -DOPENWIN no longer necessary - xfig automatically first uses OpenWindows scalable fonts (e.g. times-roman-33) if they are available, X11R5 scalable fonts next if they are available or non-scaling fonts if neither of the above is available. o maximum radius of arc-boxes increased from 30 to 100 pixels o icon now shows current filename (without full path) o Control-L does Redraw when not in text input mode (same as Meta-R) o popup query to shift whole figure when reading in figure file if any objects have negative coordinates o mouse function window shows pan/zoom operations when control key is pressed o popup query when exporting figure if figure has not been saved (note: this is not necessary for exporting current figure but is a warning to the user that the figure hasn't been saved yet) o BSD-style printing on SYSV machines (like SGI) allowed by setting -DBSDLPR in Imakefile/Makefile from Dave Goldberg (dsg@blackbird.mitre.org) o on-screen rotation of text at any angle xfig now uses xvertext 5.0 from Alan Richardson which allows rotation at any angle. The whole font is not loaded anymore, and strings are cached, which speeds up the interactive input of text. o man pages no longer use .TS (table) commands for those systems whose roff doesn't support tables. Also formatting cleaned up and typos fixed. From David W. Sanderson (dws@ssec.wisc.edu) o double click on filename in File menu will automatically load figure o double click on filename in Export menu will automatically export figure o some more information about text objects has been added to the Doc/FORMAT2.1 file - specificly about the font and font_flags fields o keyboard accelerators for drawing/editing mode panel. See Fig.ad for details From Tim MacKenzie (tym@dibbler.cs.monash.edu.au) o Example figure which contains building blocks for making flowcharts - called flowchart.fig in the Examples directory (replaces old flowchart.fig) from Tim P. Starrin (noid@cyborg.larc.nasa.gov) o The default is now for xfig to use X11R5 scalable fonts unless the server doesn't support them. The user may still disable them with -noscalable or the resource "Fig*scalablefonts: false". o new button panel in the indicator panel to set/clear or toggle update flags to make it easier to control which object attributes are affected by update o new command-line paramter: -but_per_row (resource But_per_row) specifies the number of buttons wide the mode panel should be. This is useful in conjunction with -pheight for small screens to reduce the canvas area. o no need to add -DNO_SIGBUS to Imakefile for systems without SIGBUS anymore. This this is automatic now. BUG FIXES: o changing a filled object to unfilled now draws background correctly o cleaned up inconsistencies with fill colors in monochrome mode o GC's were being freed twice if window quit was executed (window manager) o exporting figure to X11 bitmap only exported visible part of canvas o current directory wasn't set in export popup unless file menu had been popped up previously o units box didn't change from "in" to "cm" or vice versa when changing from Imperial to/from Metric o editing text with popup edit at zoomscale != 1 shows correct text size now o undo of text delete at another zoomscale shows correct text size now o colons (:) removed from widget names (difficult to set resources with colons) o conditional definition of index = strchr (or strchr = index) for those systems which already have them defined o workaround for linux bug where certain 8-bit characters are not read properly by sscanf() from Alain Lucien Knaff (knaff@mururoa.imag.fr) o height of cursor for text input closer to actual text height (was "descent+ ascent" tall, now is "ascent" tall) o L (LoadFile function) didn't query if current figure was modified before re-loading file o if normalFont can't be loaded, "fixed" font is tried - if that fails xfig quits with error message o 8-bit character did not appear on canvas o semicolon missing from "for" statement in main.c o caused core dump if the environment variable PRINTER was not set and the Fig*printer*string was not set o -startfontsize parameter wasn't being honored o quit() function was being called with too few parameters. This kills xfig on OpenWindows servers. From David Partain (dlp@ida.liu.se) o fixed bug with freeing two identical GC's (caused coredump when quitting on certain machines) o fixed bug inadvertently introduced in 2.1.7 which caused some arcs to be drawn as circles o scaling of arc inside compound no longer produces co-linear points o messages didn't appear in the message panel when filename panel wasn't large enough o parameter missing from call to curve() which made strange half-ellipse for box curve radius indicator. Caused massive problems for OpenWindows servers. o moved two accelerators (SaveFile and LoadFile) from top-level to the File widget heirarchy (this was causing OpenWindows servers to eat memory) o work around for bug in OpenWindows 2.0 with bitmaps in widgets (caused BadMatch error when popping up the print panel) o duplicate .TP in xfig.man caused nroff to throw away the text following the "Dismiss" description in the print section o emptyname() dereferenced null pointer if printer name was NULL o malloc didn't alloc enough space for fontname + null in w_drawprim.c o text outline box was sometimes drawn incorrectly o Renamed ICONFIGFILES (already used by X11 config) to ICONXFIGFILES and defined it in Imakefile (it was referenced but undefined) ------------------------------------------------------------------------------ Patchlevel 7 (May 3, 1993) NEW FEATURES: o Vertical and upside-down text - text with angles of 90, 180 and 270 degrees supported. Text between those angles will be drawn with the next higher angle (e.g. 130 degree text will be drawn at 180 degrees). from Alan Richardson (mppa3@uk.ac.sussex.syma) o message panel uses asciiTextWidget so one may select text from it o does not ask if it is OK to write an existing file during save if it is the current figure file that is being saved. Same for export. o accelerators to Save or Load file without popping up file menu (default: Meta-S to Save and Meta-L to Load) o PRINTER environment variable is used if no resource is set for Fig*printer*string o if an ellipse is scaled such that the radii become equal it is "converted" to a circle o ablity to change to/from imperial and metric with popup menu by hitting mouse button 3 in the units box (where rulers meet) from Paul King (king@cs.uq.oz.au) o new command-line parameters -userscale (resource userscale) and -userunit (resource userunit) which are used in the on-screen messages which show the current length/diameter etc. This provides a simple way of doing scale drawings, e.g. 0.25 inch = 1 ft (userscale=0.25, userunit="ft") or 1 cm = 1 m (userscale=1, userunit="m"). These may be changed via the popup menu by hitting mouse button 3 in the units box (where rulers meet) o new indicator button allows text flags to be viewed/set o compiles/runs on DEC Alpha with OSF/1 now o text widget in the print popup to pass extra parameters to print program (lp or lpr as the case may be) o indicator shows the number of figures in the batch print file in print popup o automatic on-screen generation of preview bitmap for EPS objects if you have gs (ghostscript) - compile with -DGSBIT flag from Michael C. Grant (mcgrant@rascals.stanford.edu) adapted from Marc Goldburg's (marcg@rascals.stanford.edu) original idea and code. o indicator in upper-left corner (under Quit button) shows current filename o print button changes message from "print FIGURE to printer" to "print BATCH to printer" if there are figures in batch file o when drawing objects or moving/adding points the length/radius/diameter is displayed in the message window o feature to shift figure on page if it is off the page has been disabled until it can be done with option or explicit command o added -noscalablefonts command-line option to force scalable fonts OFF (usually for debugging) BUG FIXES: o condition for OSF/1 added to use dirent from Dave Hill (ddhill@zk2.dec.com) o Floating point values allowed for BoundingBox in EPS files o if user asks for scalable fonts but server doesn't support them, xfig auto- matically switches to non-scalable fonts o when printing to batch file, incorrect filename appeared in message panel o undo of a text move didn't redraw the text o included unnecessarily in f_util.c (X11/Xos.h includes it if necessary). Also, various cleanups with multiply defined cursors etc. From Casey Leedom (casey@gauss.llnl.gov) o internalborderwidth resource should be integer not float o cancel when drawing latex line left unwanted garbage on screen o put_fmsg removed and put_msg uses varargs now so MIPS machines and others should all work fine now o writing X11 bitmap still had bugs o text wasn't being rotated around mouse point with rotate mode o when moving end points of a (sp)line or when adding points to the end of a (sp)line, the angle geometry button was not available o export directory now follows file directory when load/save figure is done o entering centered text with odd number of characters caused double image o fixed bug with incorrectly placing text with point positioning on when the text was originally created with point positioning off o when moving centered or right-justified zoomed text grab point was shifted o rotated ellipses panned incorrectly o centering/flush-left options in Export menu were reversed o flipped EPS objects weren't being flipped properly when reading in figure o GC's weren't being freed when xfig finished o added Titan OS (Stardent) to list of machines needing getenv() and atof() explicitely defined (not in /usr/include/... file ) from Joachim Wiesel (wiesel@ipf.bau-verm.uni-karlsruhe.de) o underscores weren't showing in text line in popup edit from Daniel Faigin (faigin@aero.org) o old text outline wasn't being erased from Daniel Faigin (faigin@aero.org) o number[] array wasn't large enough for new 3-character numbers in the rulers from Andrew Haylett (ajh@gec-mrc.co.uk) o check for X_NOT_STDC_ENV reversed in fig.h for inclusion of stdlib.h and defs of getenv() and atof() from Jonathan Kamens (jik@rtfm.mit.edu) o SetDir() parameters added (but not used) to placate certain compilers o point positioning resolution wasn't available with add-point-in-object o angle geometry indicator appeared when moving/adding points but isn't used o problem fixed with file popup and grab from David Brooke (BROOKE@leva.leeds.ac.uk) ------------------------------------------------------------------------------ Patchlevel 6 (Nov 1992) NEW FEATURES: BUG FIXES: o typo in man pages with menu item "Textyl \special commands" in export menu o action changed from "cancel" to "dismiss" for print menu accelerator o bug in Intrinsics? on Sun Monochrome prevented side ruler from scrolling o was using ellipse routine to draw circles - was choppy for small circles o cast comparison function argument to qsort o rotated ellipses don't become coarse as they are zoomed ------------------------------------------------------------------------------ Patchlevel 5 (Nov 1992) NEW FEATURES: o support for two button mouse - use META + Button 3 to simulate button 2 from Lars Berntzon (lasse@delila.cgl.se) o new resource "textoutline" (class "TextOutline") and command-line argument "-textoutline" which will outline text in red to show the bounding box that the text will occupy when printed (useful for rotated text) o print popup stays up until dismissed - can still pop up file/export menues, draw etc. while print popup is up. HOWEVER, while file or export popups are up, the print panel is not active. o can align all objects to canvas, not just to compound - use mouse button 2 idea from Jon Forrest o ellipses may now be rotated by an arbitrary angle and show their rotation from Janes Tough (jamest@cs.heriot-watt.ac.uk) o new -iconGeometry command-line argument o new command-line argument and resource -exportLanguage to specify default Export language. See man pages. o new command-line argument and resource -flushleft to set default printing to flush left on page. See man pages. o keyboard accelerators! Resource file has defaults for file, export and print popup panels and top command panel accelerators; f will popup file panel, q will quit, etc. See resource file and man pages for details. o one may now batch together several xfig files for printing with one print job. See popup print panel and man pages. o new label in the mouse function window & more obvious default color (yellow) o added scrollbar for indicator panel when buttons won't all fit on screen o can now edit sizes of arrowheads using popup edit panel o "make install" now automatically installs Fig.ad and Fig-color.ad in app-defaults directory o WM_DELETE_WINDOW now supported by popups - cancels popup function WM_DELETE_WINDOW in main canvas saves figure in xfig.SAVE and quits from David Wexelblat (dwex@mtgzfs3.att.com) BUG FIXES: o rulers only allowed 2 digits for inches/cm o deleted line thickness/color/area-fill/line-style and arrow settings for EPS objects in the update mode and removed color part in popup edit panel o depth wasn't being updated for splines and texts using update button o more cleanup with respect to procedure/variable types/casts from Don Sharp (dws@mari.co.uk) o fixed text bounds calculation to take into account any rotation when reading in figure from a file to decide whether to shift figure to keep on canvas (fig2dev 2.1.5 is also fixed so figures with rotated text near edges should center properly now) o fixed bug where segments disappeared while drawing interpolated spline in any LaTeX drawing mode o rearranged a-z and A-Z keys in the CompKeyDB file because some HP computers were apparently doing random things with capitalization from Anthony Shipman (als@bohra.cpg.oz.au) o fixed export of color figure to X11 bitmap format. White -> white, all other colors -> black. o removed apparently unnecessary translation from w_export, w_file and w_print which causes coredump on some HP machines. From Alfred van der Hoeven (alfred@arthur.et.tudelft.nl) o fixed initialization bug in u_undo.c and object.c which caused HP 9000/700 compilers to segfault From Alfred van der Hoeven (alfred@arthur.et.tudelft.nl) o new environvemt variable "XFIGTMPDIR" used for xfig temporary files directory o when reading a figure file, if any object coordinates are negative, the figure is shifted to keep it on the canvas so that the upper-left corner of the figure is placed on the current point positioning grid (in 2.1.4, the upper-left corner was placed at 10,10) o changed "char" to "unsigned char" for initialization of bitmaps by compilers from Teus Hagen (teus@oce.nl) o was passing floats to put_fmsg() instead of doubles. o includes copy of X11/Xfuncs.h now to use correct routines for zeroing/copying memory. o zooming to 0.1 no longer gives X error (dash list was null) o filenames in File/Export windows weren't sorted correctly from Simon Marshall (S.Marshall@sequent.cc.hull.ac.uk) o more explicit note about object depth in the man pages in the "GRAPHICAL OBJECTS" section o scaling vertical or horizontal line no longer causes floating point exception from Steve Tynor (tynor@prism.gatech.edu) o null strings in text objects now produce warning message when reading from file but xfig continues to read rest of file o scrollbars in File and Export popups reset to top when changing directories o default output filename in Export popup now changes to reflect current figure filename o default colors in Fig-color are a little nicer :-) o checking for file writablity now uses access() call from Devon Bowen (bowen@cs.buffalo.edu) o XtRemoveGrab bug when popping down file message window finally fixed many thanks to David Wexelblat (dwex@mtgzfs3.att.com) o XtAppAddActions() only called once now for each action from David Wexelblat (dwex@mtgzfs3.att.com) o changed cfree() calls to free() for those machines that don't have it from Anthony Datri (datri@concave.convex.com) o moved static function definitions outside of procedures for those machines which can't handle them from Anthony Datri (datri@concave.convex.com) o added second line to Imakefile to put the xfig directory containing the CompKeyDB (multi-key) database file in the standard X11 library o fixed bug introduced in 2.1.1 which incorrectly placed radius marker of circles created by radius o circle is now changed to ellipse type when scaled assymetrically o fixed various typos in xfig.man o changed references to mouse buttons left/middle/right to say buttons 1/2/3 respectively o radius of ellipses-specified-by-radius was one pixel too large o changed interpretation of 1/0 bits in EPS preview bitmaps back to original 0=white, 1=black according to EPSF guide version 2.0. Brought to my attention by Vivek Khera (khera@cs.duke.edu) o moved #include Xaw... directives to figx.h to speed up compilation o added conditional for Sun 3 and SunOs 4.0.3 from Peter Scott (pjs@euclid.jpl.nasa.gov) o fixed typo in FORMAT2.1 file describing values for types of splines o more lint cleanup and print file name "protection" in case filename has any shell meta characters from Jonathan Kamens (jik@MIT.Edu) o epsf file wasn't closed after reading if there was no preview bitmap from Herve Poirier (rvp@dxcern.cern.ch) o fixed bug where certain objects inside compound weren't being drawn when there was more than one compound object in the figure o removed ISO8859 requirement for Symbol and ZapfDingbats fonts (those fonts weren't being displayed) ------------------------------------------------------------------------------ Patchlevel 4 (Apr 1992) o keyFile resource allows ANY path for compose key data base, not just relative to $XFIGLIBDIR from Pete Kaiser (kaiser@heron.enet.dec.com) o simple edit arrowhead feature in the popup edit for lines - can add/delete arrow heads. No adjustment of arrow size yet - uses current linewidth from indicator panel o Example figure files have all been converted to 2.1 file format o if any object coordinates are negative, the whole figure is shifted to keep it on the canvas o fixed major bug where the preview bitmap of EPS objects was in reverse video (1 is white not black, according to the PostScript Language Ref. Manual) *** SEE COMMENT IN PATCHLEVEL 5 ABOUT EPSI PREVIEW BITMAPS *** o general cleanup of param types in Xt callback/action etc. procedures and other lint cleanup from Jonathan Kamens (jik@MIT.Edu) o Alt_L key added to list of keys to do international characters from Marc Goldburg (marcg@alfalfa.stanford.edu) o fractional zoom (i.e. zoom < 1) - see man pages o eps data wasn't being initialized when the eps file wasn't available o redefined filename length for eps object to PATH_MAX o -showallbuttons option didn't show the depth indicator from Paul King (king@cs.uq.oz.au) o fixed bugs where using export and print shortcut before ever popping up respective menus used incorrect options o changes to the file popup: o New "Home" button changes directory to $HOME o ~ (username) operator allowed in the current directory ascii widget o New label widget shows the current figure filename o Presssing "Load", "Save" or "Merge Read" will operate on the filename in the "Filename" window. If that name is empty the operation is done on the file specified in the "Current Filename" window. o Additionally, the "Load" operation will copy the name (if any) from the "Filename" window to the "Current Filename" window o Pressing return in the "list of files" window in the popup File panel will "Load" the file o changes to the export popup: o New "Home" button changes directory to $HOME o ~ (username) operator allowed in the current directory ascii widget o Pressing return in the "list of files" window in the popup Export panel will "Export" the file o Pre-2.1 fig files now have text flags set to PostScript mode when reading into xfig 2.1.4 o 1.4-TFX fig files now have text flags set to PostScript mode PLUS Special o font names now include "ISO-8859" to insure that ISO Latin characters are used from Thierry EXCOFFIER (exco@ligiahp.univ-lyon1.fr) o -debug no longer runs xfig synchronously - use standard toolkit option -sync o control points for spline objects now span multiple lines in output file if there are many points o scrollable x-y points panel in the popup edit panel for objects with many points (mwm didn't display the x-y values when the popup was taller than the screen) o If you have Display Postscript in your server, compile xfig with -DDPS and you will see the full Postscript object instead of preview bitmap when you include EPS objects. !!! WARNING: this has only been tested on IBM's AIX 3.2 (X11R4) on an RS/6000 !!! from Dave Hale (dhale@green.mines.colorado.edu) o fixed bug in error return from system() - now popups error message when can't export/print figure o unused function clear_char_string() deleted from w_canvas.c o current depth is now in an indicator window and may be set like line thickness, color etc. o added update tags to control which object components are modified/copied when using the update button. Button appears in upper-right corner of indicator button (e.g linewidth) when in update mode. Clicking on the update tag enables/disables components (e.g. linewidth) from being copied to/from objects when using update. o fixed exporting of pstex_t and pstex (used to give Postscript for both) o FIG 1.4-TFX file area_fill values now correctly translated to 2.1 format o deleted duplicate #include from u_geom.c and w_export.c o changed ^U (control U) in w_canvas.c to \023 for mailers which clobber control chars o added possibility of wider top ruler and taller side ruler by using -DMAX_TOPRULER_WD=value and -DMAX_SIDERULER_HT=value in Imakefile o added function strtol() for those systems that don't have it. from Jonathan Kamens (jik@rtfm.MIT.EDU) o added note about -DNOSTRSTR and -DNOSTRTOL for those systems that don't have strstr() and/or strtol() respectively. o fixed type mismatch and bug in call to getenv in main(). o type mismatch fixed for X11R5 in call to XtAppInitialize(). from Jonathan Kamens (jik@rtfm.MIT.EDU) o small performance fix in u_draw.c in add_point() when reallocating points from Dave Hale (dhale@green.Mines.Colorado.EDU) ------------------------------------------------------------------------------ Patchlevel 3 (Jan 1992) o pressing carriage return in value part of popup indicator buttons that take integer or float (e.g. line width) now sets the value and pops down o added foreground colors to Text*, Menu* and List* widgets in default Fig-color.ad this fixes problem of white-on-white text when using inverse video o changes two resource names - "xfig_export_menu.export_panel.just_label.flush left" to "xfig_export_menu.export_panel.just_label.justify" and "xfig_print_menu.print_panel.just_label.flush left" to "xfig_print_menu.print_panel.just_label.justify" o some type castings fixed from Wayne D Richardson (wdr@rchland.vnet.ibm.com) o fixed "open file leak" - directory wasn't closed after file popup finished o fixed selection of Times-Roman font under Openwindows o changed titles of popup panels to meaningful names o leading blanks no longer stripped from text objects from George Ferguson (ferguson@cs.rochester.edu) o null strings in text objects now abort load/read of file with error message from George Ferguson (ferguson@cs.rochester.edu) o conditional in xfig.man to set page offset only when using troff from George Ferguson (ferguson@cs.rochester.edu) o added translation so that pressing return in filename window in popup FILE will load the file o added translation so that pressing return in filename window in popup EXPORT will export the file o fixed filled objects of DEFAULT color o fixed bug in delete region from Peter Asenstorfer (peter@audrey.levels.unisa.edu.au) o cleaned up cursor stuff - no impact on user from Brian Boyter (pyrdc!bimbo!boyter@uunet.UU.NET) o new resource "-keyFile" to specify alternate compose key translation file in the XFIGLIBDIR directory From Herve Soulard (soulard@corto.inria.fr) o popup message window to inform user when illegal values in figure file are fixed or when converting from older file versions to newest o limit on depth of objects to 1000 when reading figure file. Fixes problems of infinite looping for files which were converted from Fig 2.0. Also sets depth to zero (0) when reading files older than 2.1. o xfig.man now tells man to run tbl so that regular tables can be used from James B. Davis (james@solbourne.com) o fixed Meta-Y (insert current selection), ^Y (unkill) and ^G (multiply reset) in CompKeyDB o added capability to delete whole text line from text widgets with ^X from Brian Boyter (pyrdc!bimbo!boyter@uunet.UU.NET) o ^U no longer deletes line of text in text object mode for compatibility with text widgets. Use only ^X now. o fixed problem with OpenWindows and rubberbanding objects from Brian Boyter (pyrdc!bimbo!boyter@uunet.UU.NET) o fixed minor bug in f_util.c line 82: assignment with '==' instead of '=' from pf@diab.se (Per Fogelstr|m) o fixed up bug in set_tags call in w_modepanel.c from Graeme Gill (graeme@labtam.labtam.oz.au) o added strstr() function for systems without it o warning message about redefining InstallManPage fixed o removed unneeded O_NONE symbol from object.h o directory code fixed to work with SVR4 from David Elliot (dce@krusty.smsc.sony.com) o cleaned up function declarations for event handlers from Anthony Datri (datri@lovecraft.convex.com) o renamed Fig-co.ad to Fig-color.ad for color customization under X11R5 (see README). Fig-co.ad can be deleted (if you have an older copy of xfig) from David Elliot (dce@krusty.smsc.sony.com) ------------------------------------------------------------------------------ Patchlevel 2 (Dec 1991) o the font flag (LaTeX, PostScript) wasn't being changed correctly in the UPDATE text object operation when switching from LaTeX to PostScript or vice versa. o the textstep value may now be entered in floating point in the popup menu o the eps-bitmap icon was renamed to eps-object because it can be any eps object that is imported. If it has a preview bitmap that will be displayed. Several filenames/program variables were also changed to reflect this. o there is now a more general glue mechanism for compounding objects o text pasting into canvas now possible with F18 function key or any translation desired by user. F18 is hardwired default in program; F20 also programmed in Fig.ad to paste text. Brian Boyter (pyrdc!bimbo!boyter@uunet.UU.NET) o DEFAULT fill_style caused core dump from Jeffry R. Abramson (jra@violin.att.com) o made the mouse-tracking markers hollow so as not to be visually obtrusive as suggested by Stephen Gildea (gildea@expo.lcs.mit.edu) o removed extraneous call to free() in add_point() (u_draw.c) from Per Fogelstr|m (pf@diab.se) o cleaned up gcc compiler warnings about type mismatches etc. o compound objects may be rotated by arbitrary angles if there are no boxes, arc-boxes, ellipses or circles contained within. o text rotation support is improved - markers are now shown rotated and the angle attribute is set by the relevant rotate operations. o both ps and eps modes now supported in export menu. o new directory browsing facilities integrated with File and Export popups. Allows selection of file by clicking on the filename. Has mask to list only those files of interest. See the man pages for further details. o Default font for Postscript fonts may now be selected and objects that have default font may be edited o FASTSERVER flag removed; now always uses smart redrawing when available Additionally, smart redrawing is available more often o fixed bug in regular polygon where some vertices were off by one pixel o added "Use orig. size" button for eps objects to set object to original size in popup edit from Peter Scott (pjs@euclid.jpl.nasa.gov) o international characters supported (umlauts, accents, cedilla etc) using compose (meta) key from Herve Soulard (soulard@corto.inria.fr) o much improved color support from Henning Spruth (hns@regent.e-technik.tu-muenchen.de) o additional pan and zoom mode with Key and left/middle/right button from Henning Spruth (hns@regent.e-technik.tu-muenchen.de) o removed reference to FONTLIBDIR in Imakefile (no longer required) o added a smart-links feature for the MOVE and COPY commands. With smart links turned on, when a BOX-like object is moved so are the lines which join up to it (its links). Two modes are supported: one which moves just the endpoint, the other slides the endlink so that it's angle doesn't change. In the second mode horizontal/vertical lines remain that way. o added the ability to save figure during quit if it is modified o added support for scalable fonts under R5 o additional command line flags supported -latexfonts flag (resource .latexfonts) to start xfig with the LaTeX fonts as the default instead of PostScript fonts -specialtext flag (resource .specialtext) to start xfig with special text as the default o bug fixed where number of objects count in file popup was sometimes clipped ------------------------------------------------------------------------------ Patchlevel 1 (Oct 1991) o xfig now reads text size, height and length as floats and rounds to ints this is done because certain programs generate floats for these o compound object was rounded to next larger grid even if objects inside were already on the grid o Examples/logo.fig included Logo.eps instead of logo.eps o cancellation of line drawing left single dot on screen o filename in File popup menu didn't get set until first popup - file save shortcut would save to unnamed.fig even if xfig was started with file name o bug fixed in not being able to delete points from certain objects o typo in FORMAT2.1 file (and all previous) stating that text angle is int when it is really float o can now change corners of compound object with edit popup also shows number of objects inside compound o file menu now shows number of objects in figure o some bugs fixed in calculating bounding boxes after scaling ellipses and compounds o "#ifdefined SYSV" now reads "#if defined(SYSV) || defined(SVR4)" because X11R5 doesn't define SYSV if SVR4 is defined David Elliott (dce@krusty.smsc.Sony.COM) o object depths < 0 are converted to depth = 0 o typo in Adobe font name (was "-abode-new century schoolbook-medium-r-*--*") Jan Lindheim (lindheim@ccsf.caltech.edu) o radius field for non-arcbox line objects now set to -1 Jan Nusteling (j.nusteling@et.tudelft.nl) o bug fixed in not trying to load an eps bitmap file called and not trying to reload an eps bitmap during a copy. o bug fixed which caused crash after editing 0-width or 0-height ellipses o bug fixed which caused incorrect mode after cancelling draw (int)spline o bug fixed which caused incorrect minimum number of points for (int)spline o bug fixed which caused erroneous large values to occur after box scale of 0-width or 0-height objects. You can no longer box scale such objects ------------------------------------------------------------------------------ Patchlevel 0 (Sep 1991) Changes to Version 2.0 Patchlevel 10: Implemented by Paul King (king@cs.uq.oz.au) and Brian Smith (bvsmith.lbl.gov) with help from Micah Beck (beck@cs.cornell.edu) and Brian Boyter (pyrdc!bimbo!boyter@uunet.UU.NET) (EPS code). USER INTERFACE -------------- o The buttons are now grouped into three panels: COMMAND panel: Quit, Delete all, Undo, Redraw, Paste, File popup, Export popup and Print popup buttons. See man pages for details. (see "Drawing Modes", below for description of Cut) MODE panel: Allow the user to select the current drawing or editing mode. INDICATOR panel: By default shows indicator buttons relevant to the current mode. Each indicator button displays current setting of some quantity (e.g. line width, area-fill) and allows it to be changed: left button gives popup menu to select setting, middle/right buttons provide a shortcut to inc/decrement settings. o Pan figure by using left/middle/right button in the rulers in addition to the previously supported arrow keys. Also a pan to origin operation is available by clicking in the units window (or using HOME key). o May now print figure that hasn't been saved (i.e. print what is on the canvas, not the file) o Zoom up or down with zoom button. o Mouse function window shows function of active buttons o New resources/command-line switches which affect the user interface: -showallbuttons (show all indicator buttons all the time) -internalBW n (use lines of width n between buttons/panels) DRAWING MODES ------------- o Regular polygon drawing button - select number of sized from bottom panel. Object created is normal xfig polygon. o Inclusion of Encapsulated Postscript files (bitmap image in EPS file is displayed). o Rubberbanding of ellipses/circles. o Filled splines show areafill on screen now also dashed/dotted line type shows on screen o Dot-gap and dash-length can be changed in the line-style indicator popup. EDITING MODES ------------- o Cut to buffer operation is now part of Copy object mode & Delete object mode. o Update button to either update objects to current settings, or update indicator settings from an object. o Rotation of certain objects by any angle (30, 45, 60, 90, 120 degrees can be selected using the mouse middle/right shortcut buttons). o Alignment horizontally and/or vertically of objects to compound object edge(s) o Objects can be scaled (not just compounds). o Point move or object copy/move constrainable to horizontal or vertical movement (middle mouse button) o Compound bounding corners shrink to fit enclosed objects and have markers that appear the same as other objects. o Shift-click selection should work on all editing operations. o Only the objects relevant to a particular editing operation will have their markers shown. OVERALL OPERATION ----------------- o Smarter redrawing (if compiled with -DFASTSERVER). Only the relevant objects are redrawn after an expose or after an edit operation (not all operations support this yet). o Undo should work for all commands. o Operations can now be cancelled (using the right button when appropriate). o Point positioning to three resolutions: magnet (1/16inch), small grid or large grid o TransFig 2.1 features: LaTex fonts, hidden text, scalable text, "special" text see TransFig man pages for description scalable text sizes with resizing of figure o Attempts to save figure if signal detected (segmentation violation, etc) o Resizing the xfig window should now be a bit smarter. o The philosophy behind button usage has changed. This was necessary to provide a consistent (as possible) philosophy which supports the use of several buttons per mode. Now the same button used to start an edit/draw operation is used to continue to the normal next step in the operation. The right button can be used to cancel an operation. Watch the mouse function window until you get the hang of it.