XFIG(1)XFIG(1)NAMExfig - Facility for Interactive Generation of figures
under X11
SYNOPSISxfig [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 usu-
ally from ftp://ftp.x.org/contrib/applications/draw-
ing_tools/xfig .
The TransFig package is used when printing or exporting
the output from xfig. The fig2dev program from the Trans-
Fig 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/applica-
tions/drawing_tools/transfig .
OPTIONS-help
Print all command-line options for xfig and quit.
-a[llownegcoords]
Allow panning into the negative region of the can-
vas. This is the default
-bal[loon_delay] msec
Cause popup information balloons to be delayed by
msec milliseconds. The default is 500 millisec-
onds.
-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 sup-
ported. See also the -visual option.
-donta[llownegcoords]
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 bal-
loons. See also -showballoons.
-dontshowl[engths]
Don't show lengths of lines as they are being
drawn. This is the default.
-dontshowz[erolines]
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.
-enc[oding] encoding
Encode character set using encoding when exporting
LaTeX text. The default is 1. This is used for
the ISO-8859 encoding of character sets. Allowed
values are 0 (no encoding), 1 (ISO-8859-1) or 2
(ISO-8859-2).
-exportL[anguage] language
Specifies the default language to be used for when
exporting a fig file. Choices are:
Name Language
-------------------------------------------------
Vector formats:
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
hpl HPGL (IBMGL)
eps Encapuslated PostScript
eps_ascii Encapuslated PostScript with ASCII preview
eps_mono_tiff Encapuslated PostScript with monochrome binary (TIFF) preview
eps_color_tiff Encapuslated PostScript with color binary (TIFF) preview
ps PostScript
pdf PDF (Portable Document Format)
pstex Combined PS/LaTeX (both PS and LaTeX parts)
pdftex Combined PDF/LaTeX (both PDF and LaTeX parts)
textyl Textyl special commands
tpic TPIC
pic PIC
mf MF (MetaFont)
mp MP (MetaPost)
mmp MMP (Multi-MetaPost)
cgm CGM (Computer Graphics Meta file)
bcgm Binary CGM (Computer Graphics Meta file)
emf Enhanced Meta file)
tk Tk (of the tcl/tk fame)
svg SVG (Scalable Vector Graphics (XML variant))
Bitmap formats:
gif GIF
jpeg JPEG (JFIF)
pcx PCX
png PNG
ppm PPM (portable pixmap package)
sld (AutoCad slide)
tiff TIFF
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.
-free[hand_resolution] resolution
Set the resolution of the freehand drawing mode to
resolution pixels. This is the number of pixels
the mouse must move before xfig adds another point
to the object being drawn.
-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.
-gh[ostscript] postscript-interpreter
Select the PostScript (tm) interpreter of your
choice. The default is ghostscript (gs). This is
needed when importing Encapsulated PostScript
files.
-grid_c[olor] color
Draw the grid on the canvas in this color (default:
red).
-grid_u[nit] unit
Only used when in inches mode to choose between
showing fractions or decimal inches in the rulers
and grid. Any of the following may be used to
force decimal inches: "ten", "tenth", "10, "1/10".
If any other value is used for this option, the
rulers will show 1/16 inch divisions.
-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.
-dontshowd[epthmanager]
Hide the depth manager panel. The default is to
show the panel.
-icon_[view]
Show the library objects as icons. This is the
default. The other mode is -list_view.
-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.
-ins[tallowncmap]
Install own colormap. Normally, xfig uses the
current colormap.
-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 com-
pose (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.
-library_d[ir] directory
Specify directory where Fig object libraries are
located. There may be sub-directories there and
sub-sub-directories, etc.
-library_i[con_size] size
Specify the size of the icons shown for library
objects. The default is 60 pixels, with the mini-
mum being 40 and the maximum being 120.
-lis[t_view]
Show the library objects as a list of names. The
default mode is -icon_view.
-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. The option
-centimeters may also be used.
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.
-noo[verlap]
When exporting in multiple page mode, causes no
overlap from page to page. This is the default.
See also -overlap.
-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).
-nosc[alablefonts]
Disables use of the X11R5 or OpenWindows scalable
fonts. You might want to use this for debugging.
-nosp[lash]
Don't show the startup splash screen. The default
is to show it ( -splash ).
-not[rack]
Turn off cursor (mouse) tracking arrows.
-ov[erlap]
When exporting in multiple page mode, causes over-
lap from page to page of about 10%. See also
-nooverlap.
-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 option (resource Fig.show-
pageborder), 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
Option Paper Size
---------------------------------
letter Letter 8.5in x 11in
legal Legal 8.5in x 14in
tabloid Tabloid 17in x 11in
a ANSI A 8.5in x 11in
b ANSI B 11in x 17in
c ANSI C 17in x 22in
d ANSI D 22in x 34in
e ANSI E 34in x 44in
a9 ISO A9 37mm x 52mm
a8 ISO A8 52mm x 74mm
a7 ISO A7 74mm x 105mm
a6 ISO A6 105mm x 148mm
a5 ISO A5 148mm x 210mm
a4 ISO A4 210mm x 297mm
a3 ISO A3 297mm x 420mm
a2 ISO A2 420mm x 594mm
a1 ISO A1 594mm x 840mm
a0 ISO A0 840mm x 1189mm
b10 JIS B10 32mm x 45mm
b9 JIS B9 45mm x 64mm
b8 JIS B8 64mm x 91mm
b7 JIS B7 91mm x 128mm
b6 JIS B6 128mm x 182mm
b5 JIS B5 182mm x 257mm
b4 JIS B4 257mm x 364mm
b3 JIS B3 364mm x 515mm
b2 JIS B2 515mm x 728mm
b1 JIS B1 728mm x 1030mm
b0 JIS B0 1030mm x 1456mm
---------------------------------
Note that this doesn't affect the size of the draw-
ing 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 height(width) of the top(side) rulers in
pixels. The default (and minimum) is 24.
-scala[blefonts]
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.
-scale_factor scale
Scale every figure read in by this value. This is
useful in conjunction with the -update option to do
batch scaling of figures.
-showa[llbuttons]
Show all the xfig indicator buttons instead of only
those relevant to the current drawing mode. Nor-
mally, 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).
-shown[ums]
With this option, xfig will draw all objects with a
red number next to each vertex. This is generally
only useful for debugging.
-showp[ageborder]
Makes xfig show the border of the current paper
size in the color specified by the -pageborder
option (default: light blue).
-showz[erolines]
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.
-sm[ooth_factor] factor
Enable smoothing when exporting to the bitmap for-
mats (e.g. GIF, PNG, etc.). The allowed values are
0 (no smoothing), 2 or 4 (most smoothing). This
parameter is passed to ghostscript in the -dTextAl-
phaBits -dGraphicsAlphaBits options to smooth the
figure.
-spec[ialtext]
Start xfig with the special text mode for text
objects. Special text means that special charac-
ters 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 vari-
ables.
-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.
-update 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 infor-
mation 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 dis-
played 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 speci-
fied. 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:
Name Type Default Command-line equivalent
allownegcoords boolean true -allownegcoords (true),
-dontallownegcoords (false)
balloon_delay integer 500 (ms) -balloon_delay
boldFont string 8x13bold -bold
but_per_row integer 2 -but_per_row
buttonFont string 6x13 -button
canvasbackground string white -cbg
canvasforeground string black -cfg
correctfontsize boolean false -correctfontsize
debug boolean false -debug
depth integer * -depth
dontswitchcmap boolean false -dontswitchcmap
euc_encoding boolean false (n/a)
encoding integer 1 -encoding
exportLanguage string eps -exportLanguage
export_margin integer 0 -export_margin
flipvisualhints boolean false -flipvisualhints
flushleft boolean false -flushleft (true),
-center (false)
freehand_resolution integer 25 -freehand_resolution
grid_color string black -grid_color
grid_unit string 1/16 (inch) -grid_unit
0.1 (metric)
hiddentext boolean false -hiddentext
icon_view boolean true -icon_view (true),
-list_view (false)
image_editor string xv -image_editor
inches boolean true -inches (true),
-imperial (true),
-centimeters (false),
-metric (false)
installowncmap boolean false -installowncmap
internalborderwidth integer 1 -internalBW
jpeg_quality integer 75 -jpeg_quality
justify boolean false -left (false),
-right (true)
keyFile string CompKeyDB -keyFile
landscape boolean true -Landscape (true),
-landscape (true),
-Portrait (false),
-portrait (false)
latexfonts boolean false -latexfonts
library_dir string ~/xfiglib -library_dir
magnification float 100 -magnification
max_image_colors integer 64 -max_image_colors
monochrome boolean false -monochrome
multiple boolean false -multiple
normalFont string 6x13 -normal
overlap boolean true -overlap (true),
-nooverlap (false)
pageborder string lightblue -pageborder
paper_size string Letter (inch) -paper_size
A4 (metric)
pheight float 8.5 (landscape) -pheight
9.5 (portrait)
pwidth float 11 (landscape) -pwidth
8.5 (portrait)
rulerthick integer 24 -rulerthick
scalablefonts boolean true -scalablefonts (true),
-noscalablefonts (false)
scale_factor float 1.0 -scale_factor
showallbuttons boolean false -showallbuttons
showballoons boolean true -showballoons (true),
-dontshowballoons (false)
showdepthmanager boolean true -showdepthmanager (true),
-dontshowdepthmanager (false)
showlengths boolean false -showlengths (true),
-dontshowlengths (false)
shownums boolean false -shownums (true),
-dontshownums (false)
showpageborder boolean true -showpageborder (true),
-dontshowpageborder (false)
showzerolines boolean true -showzerolines (true),
-dontshowzerolines (false)
single boolean true -single
smooth_factor integer 0 -smooth_factor
specialtext boolean false -specialtext
splash boolean true -splash (true),
-nosplash (false)
spellcheckcommand string spell %s -spellcheckcommand
spinner_delay integer 500 (ms) -spinner_delay
spinner_rate integer 100 (ms) -spinner_rate
startfillstyle integer 0 -startfillstyle
startfontsize float 12 -startfontsize
startgridmode integer 0 -startgridmode
startlatexFont string Default -startlatexFont
startlinewidth integer 1 -startlinewidth
startposnmode integer 1 -startposnmode
startpsFont string Times-Roman -startpsFont
starttextstep float 1.2 -starttextstep
tablet boolean false -track,
trackCursor boolean true -track (true),
-notrack (false)
transparent_color integer -2 (none) -transparent_color
userscale float 1.0 -userscale
userunit string in (inches) -userunit
cm (metric)
visual string * -visual
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 oper-
ating 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 impor-
tantly 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 ALSOfig2dev(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 and/or distribute
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 repre-
sent LBNL with respect to my work on TransFig and xfig,
nor does LBL make any representations about the suitabil-
ity 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, INDI-
RECT 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 PERFOR-
MANCE 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 $(XFIGLIB-
DIR) 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 direc-
tory 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 mecha-
nism 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 sensi-
tive corner markers, smarter redraw, undo for compound
and point move for boxes, cancel object creation,
point positioning to three resolutions, TransFig scal-
able 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 opti-
mal colour quantization'' in ``Network: Computation in
Neural Systems'' Vol. 5 (1994) pp 351-367. for a dis-
cussion 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 magnifica-
tion, 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 ver-
sion 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 con-
trolled by one single parameter called ``shape fac-
tor''). 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 SIG-
GRAPH'95
http://dept-info.labri.u-bor-
deaux.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 and newer:
Please see the CHANGES file for credits for newer
releases.
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
Xfig 3.2.4 (Dec 2002) XFIG(1)