Table of Contents

## Name

xfig - Facility for Interactive Generation of figures under X11

## Synopsis

xfig [options] [file]

## Description

Xfig is a menu-driven tool that allows the user to draw and manipulate objects interactively under the X Window System. It runs under X version 11 release 4 or higher and requires a two- or three-button mouse. file specifies the name of a file to be edited. The objects in the file will be read at the start of xfig.

The bulk of the documentation fori xfig is in an HTML-based reference guide. See the Help menu in xfig or point your browser at Doc/html/index.html (provided with the xfig distribution, usually in the Doc/www directory). There are both English and Japanese versions.

When using a two-button mouse use the <Meta> key and the right button at the same time to effect the action of the middle button.

Xfig is available from ftp://www-epb.lbl.gov/xfig and usually from ftp://ftp.x.org/contrib/applications/drawing_tools/xfig .

The TransFig package is used when printing or exporting the output from xfig. The fig2dev program from the TransFig package is automatically called by xfig as a back-end processor to produce various types of output:

LaTeX, Metafont, PostScript or Encapsulated PostScript, tk (tcl/tk tool command language/tool kit package), GIF, JPEG, PCX, PNG, PPM, TIFF, XBM, XPM, AutoCAD Slide, IBM-GL (HP/GL), Pic PiCTeX, box, epic, eepic, and eepicemu.

See man fig2dev for all options.

The TransFig package is available from ftp://www-epb.lbl.gov/xfig and ftp://ftp.x.org/contrib/applications/drawing_tools/transfig .

## Options

-help

Print all command-line options for xfig and quit.

-a[llow_neg_coords]

Allow panning into the negative region of the canvas.
  This is the default

-bal[loon_delay] msec

Cause popup information balloons to be delayed by
  msec milliseconds. The default is 500 milliseconds.

-bol[d] font

Cause the font used for displaying the file name and
  confirmation messages to be font (default = 8x13bold).

-butt[on] font

Cause the font used for most buttons to be
  font (default = 6x13).

-but_[per_row] number

Specify the number of buttons wide the mode panel should be.
  This is useful in conjunction with the -pheight parameter to reduce the canvas height for small screens.

-cbg color

Use
  color as the background color for the canvas. If you want to set the background of everything in xfig (e.g. menus, etc.) use the general -bg option.

-center

Set the print option to print the figure centered on the page.
  This is the default.

-centim[ers]

Make centimeters the unit of choice. See also -metric.

-cfg color

Use
  color as the default color for objects. If you want to set the foreground of everything in xfig (e.g. menus, etc.) use the general -fg option.

-deb[ug]

Turn on debugging mode.
  Prints various debugging messages like font names etc.

-dep[th]

Choose depth of visual desired. Your server must support the desired
  visual and depth chosen. Use xdpyinfo to see what visuals and depths are supported. See also the -visual option.

-dont_a[llow_neg_coords]

Don't allow panning into the negative region of the canvas.
  The default is to allow panning in the negative region.

-dontshowb[alloons]

Prevents xfig from popping up the information balloons.
  See also -showballoons.

-dontshowl[engths]

Don't show lengths of lines as they are being drawn.
  This is the default.

-dont_s[how_zero_lines]

Don't show axis zero lines on the canvas.
  The default is to show them.

-dontsw[itchcmap]

Prevents xfig from switching to a private colormap if there aren't
  enough colors available in the default colormap. See also -max_image_colors.

-exportL[anguage] language

Specifies the default language to be used for when exporting a fig file.
  Choices are:

      set n to length of longest line
      eepicemu    LaTeX picture + eepicemu macros
      HEADER
      Name    Language

      DATA
      box    LaTeX box (figure boundary)
      latex    LaTeX picture
      epic    LaTeX picture + epic macros
      eepic    LaTeX picture + eepic macros
      eepicemu    LaTeX picture + eepicemu macros
      pictex    PiCTeX macros
      ibmgl    IBMGL (or HPGL)
      eps    Encapuslated PostScript
      ps    PostScript
      pdf    PDF (Portable Document Format)
      pstex    Combined PS/LaTeX (both PS and LaTeX parts)
      textyl    Textyl special commands
      tpic    TPIC
      pic    PIC
      mf    MF (MetaFont)
      cgm    CGM (Computer MetaGraphics)
      tk    Tk (of the tcl/tk fame)
      sld    (AutoCad slide)
      pcx    PCX
      png    PNG
      gif    GIF
      jpeg    JPEG (JFIF)
      tiff    TIFF
      ppm    PPM (portable pixmap package)
      xbm    X11 Bitmap
      xpm    X11 Pixmap (XPM3 package)

-export_m[argin] width

Set the size of the border margin around the figure for exporting
  to bitmap, PostScript, Encapsulated PostScript, or HTML MAP formats. This is in units of pixels (1/80th inch). The default is 0.

-fli[pvisualhints]

Flip left/right mouse indicator messages for mice whose buttons
  have been switched. The default is to NOT flip the messages.

-flu[shleft]

Set the print option to print the figure flush left.
  The default is to center the figure on the page.

-geom[etry] [WxH][+X+Y]

You may use the -geometry option or resource to
  size and/or position the xfig window, or you may use -pwidth and/or -pheight to specify the canvas size in inches or centimeters. If you use the -geom option to make the xfig window smaller than the default, you may have to use the -but_per_row option to tell xfig to put 3 or 4 buttons per row on the left mode panel.

-hidd[entext]

Start
  xfig with the hidden text mode for text objects. The Hidden attribute is used for figures that will be used with LaTeX and is applicable only to the display of the document in xfig. It means that the text itself is not shown onscreen, but only the string ``<text>''. This is to keep long sequences of LaTeX formatting commands from making the screen messy and hard to read. The default for the Hidden flag is off.

-hide[depthmanager]

Hide the depth manager panel.
  The default is to show the panel.

-iconG[eometry] +X+Y

Specifies the position for the icon.

-im[age_editor] editor

Specify bitmap editor to use when ``Edit Image'' button is pressed
  in Picture Object panel.

-inc[hes] (or-imperial)

Make inches the unit of choice.
  This is the default.

-internalBW width

Use lines of width
  width between all buttons and panels (default = 1).

-jpeg[_quality] quality

Set the quality factor for exporting to the jpeg format.
  The default is 75.

-k[eyFile] compose-key-file

Use
  compose-key-file instead of CompKeyDB for compose (meta) key database. If there are no ``/''s in the name, the file must reside in the xfig library directory, $XFIGLIBDIR, usually /usr/local/lib/X11/xfig. If there are any ``/''s in the name it is taken as is (not relative to $XFIGLIBDIR). If there is a leading ``~/'' in the string then the ``~'' is expanded to the user's home directory.

-lan[dscape]

Make
  xfig come up in landscape mode (10.5" x 8"). This is the default; however as the orientation is stored with Fig files, when you load a Fig file the orientation will change as required. This is only true for files of version 3.0 or higher.
  See also -portrait.

-lat[exfonts]

Start
  xfig with LaTeX font selection. Normally, the PostScript fonts are available as the default. This flag selects the LaTeX fonts to start.

-le[ft]

Change the position of the side panel window to the left of the canvas window.
  This is the default.

-li[brary_dir] directory

Specify directory where Fig object libraries are located. There may be sub-directories
  there and sub-sub-directories, etc.

-mag[nification] mag

Set export and print magnification in %.

-max[_image_colors] numcols

Limit the number of colors used for imported images to
  numcols (default 64).

-me[tric]

Make centimeters the unit of choice. Also -centimeters.
After
  xfig is started you may change the units from metric to imperial or vice versa from a popup menu available by pressing mouse button 3 in the units box where the two rulers meet.

-mo[nochrome]

Use black and white only.

-mu[ltiple]

Sets multiple page mode for print or export. See also
  -single.

-nor[mal] font

Cause the font used for the message window to be
  font. This font is also used on the canvas when the selected font is not available in an X11 font (default = 6x13).

-nos[calablefonts]

Disables use of the X11R5 or OpenWindows scalable fonts.
  You might want to use this for debugging.

-not[rack]

Turn off cursor (mouse) tracking arrows.

-pag[eborder] color

Draw the page border on the canvas in this color (default light blue).
  The page border is turned on by the -showpageborder (resource Fig.showpageborder) option, and shows the edges of the current export paper size.

-pap[er_size] size

Set the initial paper size for Export and Print. Choices are

      Letter (8.5" x 11"),
      Legal (8.5" x 14"),
      Ledger ( 17" x 11"),
      Tabloid ( 11" x 17"),
      A (8.5" x 11"),
      B ( 11" x 17"),
      C ( 17" x 22"),
      D ( 22" x 34"),
      E ( 34" x 44"),
      A4 (21 cm x 29.7cm),
      A3 (29.7cm x 42 cm),
      A2 (42 cm x 59.4cm),
      A1 (59.4cm x 84.1 cm),
      A0 (84.1 cm x 118.9cm),
      B5 (18.2cm x 25.7cm)

  Note that this doesn't affect the size of the drawing canvas. Use the -pheight and -pwidth options for that.

-ph[eight] height

Make the
  xfig canvas height high (where height is either cm or in, depending on the -metric setting).

-po[rtrait]

Make
  xfig come up in portrait mode (8.5" x 9"). See note about landscape mode.

-pw[idth] width

Make the
  xfig canvas width wide (where width is either cm or in, depending on the -metric setting).

-righ[t]

Change the position of the side panel window to the right of the canvas window
  (default: left).

-rigi[d]

Start
  xfig with the rigid text mode for text objects. The Rigid attribute forces text to remain the same size even if inside a compound object that is scaled up or down. The default is off.

-ru[lerthick]

Set the thickness of the top and side rulers in pixels.
  The default (and minimum) is 24.

-sc[alablefonts]

Allows use of the X11R5 or OpenWindows scalable fonts (this is the default).
  If the scalable fonts aren't available xfig will automatically switch to non-scaling fonts.

-showa[llbuttons]

Show all the
  xfig indicator buttons instead of only those relevant to the current drawing mode. Normally, the buttons line width, area-fill, grid mode, text size, etc. are only visible when they are relevant to the current drawing mode. The -showallbuttons option makes all of the indicator buttons visible at all times. This takes up more screen real estate, but allows the user to see all settable parameters.

-showb[alloons]

Forces
  xfig to pop up the information balloons when the mouse passws over a button. This is the default. See also -dontshowballoons.

-showd[epthmanager]

Show the depth manager panel. This panel lets one show or hide
  objects at various depths. This is the default.

-showl[engths]

Makes
  xfig show the lengths of lines being drawn, in red text near the line itself. Also, when points are moved or added. In addition, imagine a triangle formed with the line segment as the hypotenuse, and a vertical and horizontal line forming the other two sides. These lines and their lengths are also drawn in red as the point is moved or added. This mode is ignored when drawing in freehand mode.
  This flag may be toggled by pressing <Meta>i (default).

-showp[ageborder]

Makes
  xfig show the border of the current paper size in the color specified by the -pageborder option (default light blue).

-show_[zero_lines]

Show axis zero lines on the canvas.
  This is the default

-si[ngle]

Sets single page mode for print or export.
  This is the default. See also -multiple.

-spec[ialtext]

Start
  xfig with the special text mode for text objects. Special text means that special characters in the string are not specially processed but are passed directly to LaTeX. This is most useful for writing LaTeX equations. If this flag is not set, then the backslash character '\' is changed to the \backslash command, a brace '{' is turned into a brace command \{, etc.

-spel[lcheckcommand] command

Use
  command for the external spell checking program when using the spell check/search/replace popup. The string command should include the string ``%s'' which is replaced by a temporary filename. Default is ``spell %s''.

-spinner_d[elay] msec

The delay (in milliseconds) before the spinner will automatically count up
  or down when the button is pressed. Spinners are the (numeric) text widgets with an up- and down-arrow, which when clicked, cause the value to be incremented/decremented. The default is 500 milliseconds.

-spinner_r[rate] msec

The rate (in milliseconds) at which the spinner will count
  when the up- or down-arrow is pressed.

-startfi[llstyle] stylenumber

Set the starting fill style for area fill (-1 to 21).

-startfo[ntsize] pointsize

Set the default font size for text objects (default = 12pt).

-startg[ridmode] modenumber

Set the starting grid mode (0 to 3). Mode 0 is no grid.
  In imperial (inches) mode, grid mode 1 is 1/4 inch, mode 2 is 1/2 inch and mode 3 is 1 inch. In metric mode, grid mode 1 is 5mm, mode 2 is 1cm and mode 3 is 2cm.

-startla[texFont] font

Set the starting font name for
  LaTeX fonts.

-startli[newidth] width

Set the starting line width.

-startpo[snmode] modenumber

Set the starting point positioning mode (0 to 4)
  In imperial (inches) mode, positioning mode 0 is ``any'', mode 1 is 1/16 inch, mode 2 is 1/4 inch, mode 3 is 1/2 inch and mode 4 is 1 inch. In metric mode, mode 0 is ``any'', mode 1 is 1mm, mode 2 is 5mm, mode 3 is 10mm and mode 4 is 20mm.

-startp[sFont] font

Set the starting font name for
  PostScript fonts.

-startt[extstep] stepsize

Set the starting text step.

-ta[blet]

Specifies that xfig should use the input tablet instead of the mouse
  for drawing. You must have the XInputExtension in your X server and an input tablet for this to work. Also, you must modify the Imakefile to include the USETAB and TABLIB variables.

-track

Turn on cursor (mouse) tracking arrows (default).

-tran[sparent_color] color_number

Make the transparent color for GIF export
  color_number. This number is the color number according to the xfig color panel, starting at 0 (black) and ending at 31 (gold), or may be a user-defined color number, which is 32 or higher.

-up[date] file [ file ... ]

Run xfig in an "update" mode, where it will read each Fig file specified
  on the command line and write it out to the original file, in the current file format for the version of xfig being run. The original Fig file will be preserved with the suffix .bak attached to the name.
  In this mode, xfig doesn't connect the X server, so no window is opened, and it exits when finished.

-users[cale] scale

Set the multiplier for displayed line lengths etc.
  This factor is multiplied by the actual length, radius or diameter of the object currently being drawn on the canvas. It is useful for making scale drawings, where e.g. 1 inch = 1 foot (userscale = 12.0) or 1cm = 1m (userscale = 100.0).

-useru[nit] units

The
  units string is printed with the length information when drawing objects. For example if the userscale = 1.0 and the userunit = ft then a line which is 3 inches long on the canvas would be displayed as ``length = 3 ft'' when it is being drawn.
After
  xfig is started you may change the userscale and the userunit from a popup menu available by pressing mouse button 3 in the units box where the two rulers meet.

-visual visualname

Use
  visualname as the visual for xfig. The names are TrueColor (case is not important), StaticColor, DirectColor, StaticGray, GrayScale and PseudoColor. xfig uses the default visual unless this is specified. Your server must support the desired visual. Use xdpyinfo to see what visuals and depths are supported. See also the -depth option.

-zoom zoomscale

Set the starting zoom scale.

## X RESOURCES and DEFAULTS

The overall widget name(Class) is xfig(Fig). These resources correspond to the command line arguments:

>     set n to length of table line
>     Name    Class    Type    Default    Command-line

>     HEADER

>     Name    Class    Type    Default    Command-line
>                     equivalent

>     BODY

>     allow_neg_coords    NegativeCoordinates    boolean    on    -allow_neg_coords,
>                     -dont_allow_neg_coords,
>     balloon_delay    balloonDelay    integer    500 (ms)    -balloon_delay
>     boldFont    Font    string    8x13bold    -bold
>     but_per_row    But_per_row    int    2    -but_per_row
>     buttonFont    Font    string    6x13    -button
>     canvasbackground    Background    string    white    -cbg
>     canvasforeground    Foreground    string    black    -cfg
>     debug    Debug    boolean    off    -debug
>     depth    Depth    integer    *    -depth
>     dont_switch_cmap    Dont_switch_cmap    boolean    false    -dontswitchcmap
>     exportLanguage    ExportLanguage    string    eps    -exportLanguage
>     export_margin    Margin    integer    0    -export_margin
>     flipvisualhints    Hints    boolean    false    -flipvisualhints
>     flushleft    FlushLeft    boolean    false    -flushleft
>     image_editor    ImageEditor    string    xv    -image_editor
>     inches    Inches    boolean    true    -inches,
>                     -centimeters,
>                     -imperial,
>                     -metric
>     internalborderwidth    InternalBorderWidth    integer    1    -internalBW
>     justify    Justify    boolean    false    -left (false),
>                     -right (true)
>     jpeg_quality    Quality    integer    75    -jpeg_quality
>     keyFile    KeyFile    string    CompKeyDB    -keyFile
>     landscape    Orientation    boolean    true    -Landscape,
>                     -Portrait
>     latexfonts    Latexfonts    boolean    off    -latexfonts
>     library_dir    Directory    string    ~/xfiglib    -library_dir
>     magnification    Magnification    float    100    -magnification
>     max_image_colors    Max_image_colors    integer    64    -max_image_colors
>     monochrome    Monochrome    boolean    false    -monochrome
>     multiple    Multiple    boolean    false    -multiple
>     normalFont    Font    string    6x13    -normal
>     pageborder    Color    string    color    -pageborder
>     page_size    Pagesize    string    Letter/A4    -page_size
>     pheight    Height    float    8(9.5)    -pheight
>     pwidth    Width    float    10(8)    -pwidth
>     rulerthick    RulerThick    integer    24    -rulerthick
>     scalablefonts    ScalableFonts    boolean    true    -scalablefonts
>     showallbuttons    ShowAllButtons    boolean    false    -showallbuttons
>     showballoons    ShowBalloons    boolean    true    -showballoons,
>                     -dontshowballoons
>     showdepthmanager    Hints    boolean    true    -showdepthmanager,
>                     -dontshowdepthmanager
>     showpageborder    Debug    boolean    true    -showpageborder,
>                     -dontshowpageborder
>     showlengths    ShowLengths    boolean    false    -showlengths,
>                     -dontshowlengths
>     show_zero_lines    Axis    boolean    true    -show_zero_lines,
>                     -dont_show_zero_lines
>     single    Single    boolean    true    -single
>     specialtext    SpecialText    boolean    false    -specialtext
>     spellcheckcommand    spellCheckCommand    string    spell %s    -spellcheckcommand
>     spinner_delay    spinnerDelay    integer    500 (ms)    -spinner_delay
>     spinner_rate    spinnerRate    integer    100 (ms)    -spinner_rate
>     startfillstyle    StartFillStyle    integer    0    -startfillstyle
>     startfontsize    StartFontSize    float    12    -startfontsize
>     startgridmode    StartGridMode    integer    0    -startgridmode
>     startlatexFont    StartlatexFont    string    Default    -startlatexFont
>     startlinewidth    StartLineWidth    integer    1    -startlinewidth
>     startposnmode    StartPosnMode    integer    1    -startposnmode
>     startpsFont    StartpsFont    string    Times-Roman    -startpsFont
>     starttextstep    StartTextStep    float    1.2    -starttextstep
>     trackCursor    Track    boolean    on    -track,
>                     -notrack
>     transparent_color    Transparent    integer    -2 (none)    -transparent_color
>     userscale    UserScale    float    1.0    -userscale
>     userunit    UserUnit    string    in(cm)    -userunit
>     visual    Visual    string    *    -visual
>     zoom    Zoom    float    1.0    -zoom
>     * Default visual and depth depend on the X server. Use xdpyinfo to see what
>     visuals
>     and depths are supported.

> ## BUGS and RESTRICTIONS

> Please send bug reports, fixes, new features etc. to:
> xfig-bugs@epb1.lbl.gov (Brian V. Smith)

> When reporting a bug, please first check if the problem is mentioned in the FAQ section of the HTML files (xfig Help menu).

> If it is not mentioned there, be sure to report the operating system you are using (e.g. SunOS 4.1.3), type of X server and version (OpenWindows 3, X11R6.4, XFree86 3.2.2, etc) and color depth (e.g. 8bpp, 16bpp), and most importantly the version of xfig or fig2dev that is having the problem.

> It is also VERY useful to me if you can provide a stack trace from a debugger such as gdb, dbx, ups, etc, if the bug causes xfig to crash.

> Because of the difference of some fonts in some X servers and the PostScript fonts on printers, text alignment can be problematic.

> Not all operations employ smart redrawing of objects which are altered as a by product of the operation. You may need to use Redraw in these cases.

> Some servers do not allow bitmaps/pixmaps taller than the screen height or wider than the screen width. That is why there is a limit on the width of the top ruler and height of the side ruler. If you need wider/taller rulers AND your server allows bigger pixmaps, you may define MAX_TOPRULER_WD and/or MAX_SIDERULER_HT in your Imakefile in the DEFINES line. For example, to have a maximum top ruler width of 1160 pixels, add -DMAX_TOPRULER_WD=1160 to your DEFINES line in the Imakefile.

> If the image is panned or the xfig window iconified and de-iconified during the middle of an operation (e.g. while drawing a line), the picture will be distorted. This can be corrected using Redraw after the operation is complete.

> When zoomed very large, the length of dashes in dashed lines will top out at 255 pixels long. This is due to a restriction in X that the dash list is defined by char (255 pixels maximum for a dash). The figure will print correctly, however.

> When you do a copy/rotate with multiple copies, only the creation of the last object can be undone with the Undo button.

> Modifications to text using the popup search/update/replace/spell check panel cannot be undone.

> See the README file for troubleshooting.

> ## See Also

> fig2dev(1) (TransFig package)

> gs(1) (Ghostscript PostScript previewer)

> ## Acknowledgement

> (From the original author, Supoj Sutanthavibul): Many thanks goes to Professor Donald E. Fussell who inspired the creation of this tool.

> (From current maintainer Brian Smith): Thanks to all the users who have contributed to xfig, especially Paul King who, besides adding many features, revamped the look and feel which became version 2.1.

> ## Copyright

>     Original Copyright (c) 1985 by Supoj Sutanthavibul
>     Parts Copyright (c) 1994-1999 by Brian V. Smith
>     Parts Copyright (c) 1991 by Paul King
>     Other Copyrights may be found in various files

> Any party obtaining a copy of these files is granted, free of charge, a full and unrestricted irrevocable, world-wide, paid up, royalty-free, nonexclusive right and license to deal in this software and documentation files (the "Software"), including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons who receive copies from any such party to do so, with the only requirement being that this copyright notice remain intact.

> Note that although I work at Lawrence Berkeley National Laboratory (LBNL) I don't speak for LBNL nor do I represent LBNL with respect to my work on TransFig and xfig, nor does LBL make any representations about the suitability of this software for any purpose.

> Here is the legal part:

> THE LAWRENCE BERKELEY NATIONAL LABORATORY DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

> PostScript is a trademark of Adobe Systems Incorporated.

>     Parts Copyright (C) 1989 by Jef Poskanzer.
>     Copyright notice for pbmplus code:

>     Permission to use, copy, modify, and distribute this
>     software and its documentation for any purpose and without
>     fee is hereby granted, provided that the above copyright
>     notice appear in all copies and that both that copyright
>     notice and this permission notice appear in supporting
>     documentation.  This software is provided ``as is'' without
>     express or implied warranty.

> ## Files

> CompKeyDB
>   Data base of compose (meta) key sequences for 8-bit characters. Must be installed in $(XFIGLIBDIR) with ``make install'', or may be specified with command line option -keyFile or X toolkit resource keyFile. See the Imakefile.
> /usr/lib/X11/xfig
>   This directory contains the html documentation, the above mentioned CompKeyDB file, and a directory of libraries containing Fig objects such as electrical symbols, logic symbols, etc.
> Fig.ad and Fig-color.ad
>   Application defaults files which are automatically installed in the system app-defaults directory with the make install command.
> Doc/FORMAT3.2
>   Description of Fig file format.
> README
>   Installation instructions and troubleshooting.
> CHANGES
>   Description of bug fixes/new features.

> ## Authors

> Many people have contributed to xfig. Here is a list of the people who have contributed the most (in chronological order):

> Version 1:

> Original author:
> Supoj Sutanthavibul, University of Texas at Austin

> The LaTeX line drawing modes were contributed by:
> Frank Schmuck, Cornell University

> Original X11 port by:
> Ken Yap, Rochester

> Variable window sizes, cleanup of X11 port, right hand side panel:
> Dana Chee, Bellcore

> Cleanup of color port to X11 by:
> John T. Kohl, MIT

> Version 2.0:

> Area fill, multiple line thicknesses, multiple fonts and font sizes, bottom panel, line style/thickness, (and anything else that wasn't written by the others) by:
> Brian Smith
> (standard disclaimer applies)
> (bvsmith@lbl.gov)

> Popup change-object menu by:
> Jon Tombs
> Frank Schmuck

> Zooming and panning functions, shift key select mechanism by:
> Dieter Pellkofer
> Henning Spruth

> Depth feature by:
> Mike Lutz

> Cut/Paste by:
> Tom Tkacik

> Version 2.1:

> Indicator panel, file menu popup, print menu popup, panning with rulers, mouse function window, regular polygon, rubberbanding of circles/ellipses, filled splines on canvas, dashed/dotted splines on canvas, update button, arbitrary angle rotation of objects, alignment in compound, object scaling, constrained copy/move, corner markers for compound, context sensitive corner markers, smarter redraw, undo for compound and point move for boxes, cancel object creation, point positioning to three resolutions, TransFig scalable text, hidden text, special text, save of figure on crash by:

> Paul King (king@cs.uq.oz.au)
> with help from:
> Brian Smith and Micah Beck (beck@cs.utk.edu)

> Encapsulated PostScript importing by:
> Brian Boyter

> Pan/zoom with ctrl key/mouse by:
> Henning Spruth

> International characters by:
> Herve Soulard

> Directory Browser based on XDir by:
> Win Treese, Digital Equipment Corporation

> Rotated ellipses by:
> James Tough, Dept. of Computer Science, Heriot-Watt University, Scotland

> Rotated text from the xvertext package by:
> Alan Richardson, Space Science Centre, School of MAPS, University of Sussex

> Popup scale menu and dynamic switching between inches and cm by:
> Paul King (king@cs.uq.oz.au)

> Extensive man page formatting revisions by:
> David W. Sanderson

> Display Postscript code for IBM RS/6000 by:
> Dave Hale (dhale@green.mines.colorado.edu)

> Version 3.0:

> New arrowhead types, separate pen/fill colors, new file protocol, more colors with extended color popup panel, new arc style, new fill patterns (bricks, etc), new line join and cap styles, export offset and file load offset, XPM import, XBM import and export (and anything else that wasn't written by the others) by:
> Brian Smith
> (Note: the color popup panel was based on xcoloredit by Richard Hesketh)

> GIF header reading code by:
> David Koblas from the giftoppm part of the pbmplus package

> XPM export code (using XPM3 libraries) by:
> Karel van Houten (K.H.C.vanHouten@research.ptt.nl)

> Higher figure resolution (1200dpi) by:
> Ross Martin (martin@trcsun3.eas.asu.edu)

> Color quantization using neural network 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.]

> Floyd-Steinberg algorithm for dithering color images on monochrome displays lifted from the Pbmplus package by Jef Poskanser.

> rotate/flip objects around/about selected anchor point and multiple copies of objects by:
> Uwe Bonnes (bon@lte.e-technik.uni-erlangen.de)

> Input tablet extension by:
> Greg LaCoste (greg@seismo.do.usbr.gov)

> Version 3.1:

> The only difference between protocol version 3.0 and version 3.1 is that the position of the ``magnet'' has been shifted by 14 fig units. In the 2.1 and older versions of xfig the grid was in multiples of 5 fig units, but they were on intervals 4, 9, 14, 19, etc. When version 3.0 was created, coordinates were simply multiplied by the ratio of the resolutions (1200/80 = 15) so values like 4 became 60 instead of 74 ((4+1)*15 - 1).

> The JPEG import/export code uses the Independent JPEG Group software (see jpeg/README for details)

> Image browser, editor and screen capture features by:
> Jim Daley (jdaley@cix.compulink.co.uk)

> Version 3.2:

> The changes to the version 3.2 file protocol are the addition of the paper size, print/export magnification, single/multiple page indicator and a transparent color name used for GIF export to the header of the file.
> The other difference in the version 3.2 protocol is the mathematical model used for splines. The new version uses X-splines which allows the user 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
> http://dept-info.labri.u-bordeaux.fr/~schlick/DOC/sig1.html

> Caveat: Because previous spline models (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 they are usually very close, some hand-fitting may be needed in some pathological cases.

> Inclusion of X-splines by:
> Carole Blanc (blanc@labri.u-bordeaux.fr)
> Christophe Schlick (schlick@labri.u-bordeaux.fr)
> Note: the initial implementation was done by C. Feuille, S. Grosbois, L. Maziere and L. Minihot as a student practice (Universite Bordeaux, France).

> Open/close compound feature written by
> Bill Taylor (bill@mainstream.com)

> Library feature written by
> Stephane Mancini (mancini@elecsrv.enst.fr) (object preview by Brian V. Smith)

> The library objects in the Electrical and Logic libraries were done by
> Peter Hiscocks (phiscock@ee.ryerson.ca)

> The library objects in the Computer, Networks, and Hospital-Equipment libraries were extracted from the clipart example files by
> Bill Chimiak (chim@bgsm.edu)

> Version 3.2.3:

> Please see the CHANGES file for credits for version 3.2.3 features.

> ## Notes

> Many bug fixes/cleanups etc. by a host of faithful users

> See the CHANGES file for all the credits

> The TransFig package was written by Micah Beck and is maintained by Brian Smith

> Table of Contents

> - Name
> - Synopsis
> - Description
> - Options
> - X RESOURCES and DEFAULTS
> - BUGS and RESTRICTIONS
> - See Also
> - Acknowledgement
> - Copyright
> - Files
> - Authors
> - Notes