Fig 2.1 Available
Micah Beck
beck at cs.cornell.edu
Fri Nov 16 23:05:00 AEST 1990
Fig 2.1 is now available for anonymous FTP from svax.cs.cornell.edu or
sun.soe.clarkson.edu in ~ftp/pub/transfig/fig.tar.Z, or by mail archive
server from Clarkson. TransFig 2.1 is also available at the same
locations.
Fig is a graphics editor which runs under SunView. Fig generates output
in a file format which can be translated, using the TransFig package, into
many output forms, including PostScript, the PIC graphics preprocessor for
Troff, LaTeX picture environment, PiCTeX, EEPIC, and TeXtyl. A different
version of Fig, called XFig, runs under X-Windows V11R4.
Fig 2.1 uses a file format which is not compatible with previous versions
of Fig, TransFig, or XFig. Thus, it is necessary to install Fig 2.1 and
TransFig 2.1 simultaniously. However, Fig 2.1 can read in files generated
by previous versions of Fig: 1.3, 1.4(-TFX), and 2.0. XFig 2.1, which
will be compatible with Fig 2.1, is expected to be available soon.
Most of the enhancements in Fig 2.1 were implemented by Dr. Baron Grey of
USC. My only contribution was the addition of new flags to the text
object. A summary of the most important improvements is included below.
Micah Beck beck at cs.cornell.edu
Department of Computer Science
Cornell University
* Several default values can now be set via the "change" panel item.
Pressing mouse middle button in "change" mode will now pop up a
window that displays these defaults. As before, left button allows
individual object attributes to be changed. The code has been
updated in several places to support these new defaults (they are
defined in global.c). Default values are NOT currently saved with a
figure (while this might seem desirable, there are many instances
where it can lead to great confusion).
* Compound objects can now contain other compound objects. Before,
only primitive objects could be part of a compound.
Now, one can encapsulate an entire figure as a compound, if
necessary, and manipulate it as a single logical object. CAVEAT:
currently, you can make a compound of a single compound -- but why
would you want to do that?
* Right- and center-justified text are now displayed as such as the
text is being entered. You can establish the default text justification
using the "change" panel item (middle button while in "change" mode).
* A carriage-return anywhere in a text string now causes the cursor to
advance to the next line. EACH SUCH LINE OF TEXT IS AN INDEPENDENT OBJECT.
Thus, text entry must now strictly be terminated by pressing middle
mouse button. Moreover, the text baseline spacing is adjusted depending
on the default setting of the text size, even though the text is
rendered in 10-point on the canvas (you can get an approximation of
the actual size of the text by looking at it in zoom mode -- any
zoom factor).
* The default size of the canvas has been increased horizontally (760
versus 600 pixels) to support figures in landscape mode (see const.h).
The widths of the rulers have also been increased so that negative
dimensions (obtainable in zoom mode) are now visible.
* A general cut/paste buffer (called the "scrap") has been added to
Fig. An object may be copied to the scrap (using middle mouse
button in copy mode) or deleted to the scrap (using middle mouse
button in remove mode). A figure may be read from a file directly
to the scrap using the popup menu (right mouse button). The
contents of the scrap can be written to a file using the popup
menu. The contents of the scrap can be pasted on the canvas using
the paste panel item (a new Fig mode) -- the lower left corner of
the bounding box of the contents of the scrap (a single object or
an entire figure) will be located at the mouse position when left
mouse button is pressed in "paste" mode. A paste operation can be
undone. The contents of the scrap are cleared before a new object
or figure is put in the scrap; otherwise, the contents of the scrap
is always available. The scrap is perhaps most useful for saving
objects used many times in different figures, or pasting such
objects into an existing figure.
* Fig can now handle Sunview window-specific command-line options.
* A simple -- but functional -- "align" mode has been added to Fig.
Objects comprising a compound object can now be aligned based on
the boundaries of the compound's bounding box. For example,
aligning to "top" forces all objects in the compound to have their
"tops" aligned to the top of the bounding box, and so on.
This mode is invoked by clicking left mouse button on the align
icon in mode-select area. When the left mouse button is
subsequently clicked on a COMPOUND object, a popup window appears
that allows various align options to be selected; when the "done"
button is selected from the popup, the objects in the compound are
aligned appropriately. More than one align option can be selected,
but the actual alignment is done sequentially in the order
presented in the popup window. Note that the contents of nested
compounds are NOT aligned -- alignment is therefore for top-level
objects only. "Align" can be undone.
The method of selecting objects to be aligned -- by forming a
compound of them explicitly -- is not the most flexible in the
world. Fig really needs a uniform "select" operator.
* Three new flags to the text object: Rigid, Special, and PSfont.
These flags can be set in the text "change" box.
1) Rigid text does is not affected by the magnification
of the figure. In previous versions, all text was rigid. When text
is positioned inside of objects such as boxes, it is usually desirable
for it to scale along with the box. Introducing the rigid text flag
allows the user to specify non-rigid text; the default is still rigid.
2) Special text includes text formatting commands for LaTeX or Troff.
In non-special text, the control characters for these commands are
escaped and so are not interpreted as commands. The default is
non-special text.
3) I have added a psfont flag which specifies that the font is to be
chosen from a different list of fonts, corresponding to the PostScript
fonts. The change window for a text object with the psfont
flag set will show this list of fonts. However, a text object with
psfont specified can be translated only into PostScript, and not
into the other output languages available from TransFig. The default
value for the psfont flag is false.
More information about the Comp.sys.sun
mailing list