Gist
is a binary CGM (Computer Graphics Metafile) browser. It reads an input
cgmfile
and produces output to the X window system, PostScript files (which can
be printed using lpr(1)), or another binary CGM file. The
cgmfile
may be a family of CGMs; a family is recognized whenever the final one
or two characters of the filenames (excluding an optional trailing ".cgm")
are digits in a numerical sequence (e.g.- myfile00.cgm, myfile01.cgm,
myfile02.cgm, etc.). In this case, the
cgmfile
argument should be the name of the first file in the family; gist will
automatically hop back and forth from file to file as necessary. (A single
page must not be split across files, and each file must be a legal CGM in
its own right.) When gist opens a CGM for input, it must catalog the pages
in the file by scanning through the file to find them. This cataloguing
operation takes place in the background while gist waits for your input.
Therefore, if you open a large family of CGMs, gist will be able to
display the first few pages immediately, but if you ask for the last few
pages, you will have to wait until the catalog is complete. After gist
has catalogued the input family, you can render any page without delay.
Options
-in cgmfile
The -in is necessary if and only if the cgmfile name begins with a
digit or - sign.
-ps psout
to specify a PostScript output file.
-cgm cgmout
to specify a binary CGM output file.
-display host:server.screen
to specify an X server connection.
If this option is not given, gist will use the
DISPLAY environment variable.
-75
create window(s) at 75 dpi (small window)
-100
create window(s) at 100 dpi (large window, default)
-geometry WxH
create window(s) with specified width and height (in pixels)
-gks
create window(s) at 8x8 inches (default 6x6).
If your cgm file was NOT created by yorick(1), this may be a better
guess at an appropriate window size. You can also resize the
gist window using your window manager or -geometry.
-nd
to suppress the automatic display of the first
picture when gist starts in interactive mode
-b
to run in batch mode (either -cgm or -ps must
also be specified, implies -nd)
-f
to run in filter mode, placing PostScript
output on stdout (implies -b)
-x
to run as a pure X window program (no keyboard)
-fmbug
to compensate for a bug in FrameMaker,
reverse the EPS preview top-for-bottom in EPS files.
But I recommend using ghostscript(1) from project GNU to convert
gist's PostScript output files into EPS files instead of
gist's EPS command, which makes much cruder preview images.
-bg0fg1
commercial packages which produce CGM files
may use color index 0 to mean background,
index 1 to mean foreground, despite their own
palette -- this switch compensates
-nowarn
suppress all but first warning message
Page-number-list
is any number of space-delimited list elements; each element has one
of the following forms:
m
just page m
m-n
pages m through n, inclusive
m-n-s
pages m through n in steps of s
Using m<=0 or n>=total number of pages
is legal, causing the loop to terminate at
the end-of-file (or end-of-file-family)
Thus, pages 3, 5, 7, 9, 31, and 17 through 26 (in that order) would be
specified as:
3-9-2 31 17-26
A page number list on the command line is most useful in conjunction
with the -b or -f options.
Commands
Unless the -b or -f options were specified, gist expects further commands
from the keyboard, or typed in its X window. Keyboard commands are:
open cgmfile
open a new CGM for input, closing the current input CGM. This has no
effect on any output device.
quit
finish and close any output files, then exit. Synonyms for the quit
command are exit and end.
cgm cgmout [size]
create a new output CGM. If size is specified, the file will be split
into a family whose members are about that size in bytes as more frames
are added. The default family member size is four megabytes.
ps psout
create a new output PostScript file. The lpr(1) utility can print
PostScript files.
display host:server.screen [dpi]
create a new output X window. The dpi (dots per inch) can be either 75
(a small window), or 100 (a large window, the default).
draw[page-number-list]
render the specified pages on the "drawing" devices (X windows by default).
send[page-number-list]
render the specified pages on the "sending" devices (PostScript files and
CGMs by default).
info
list current output devices and their states. Also prints the current
input CGM and page number.
drawto dev1 [dev2...]
specify "drawing" devices; dev1, dev2, etc., are device numbers printed
by the info command. By default, X windows are the "drawing" devices.
sendto dev1 [dev2...]
specify "sending" devices; dev1, dev2, etc., are device numbers printed
by the info command. By default, PostScript files and CGMs are the
"sending" devices.
free dev1 [dev2 ...]
close the output file or X window; dev1, dev2, etc., are device numbers
printed by the info command.
eps epsout
create an encapsulated PostScript file, render the current page there,
then close it. This command is provided only for sites without the
project GNU ghostscript(1) program. Ghostscript's ps2epsi command
produces an infinitely better preview bitmap. If you are interested
in this command, get ghostscript; it's free software.
help[topic]
prints a summary of these commands. If specified, topic is one of the
command names; gist prints a more detailed description of that command.
Any of these commands may be abbreviated to the shortest part of their
name which is unique -- dr for draw, s for send, etc.
The following commands may be typed either in a gist X window or at the
keyboard prompt. The
n
is a prefix consisting of zero or more digits; if you do not specify
n
the default is always 1.
nf
advance
n
pages and draw
nb
back up
n
pages and draw
ng
go to page
n
and draw
s
send the current page to all "sending" devices
q
quit
If the -x option is specified on the command line, gist can be run in
the background like other X window programs. In this case,
only
the window commands will be recognized.
EXAMPLES
To print every page of a CGM file family myfile00.cgm:
gist myfile00.cgm -f | lpr
To print only pages 3, 5, 7, 9, 31, and 17 through 26 (in that order):
gist myfile00.cgm 3-9-2 31 17-26 -f | lpr
To start gist as a pure X window program, with output to PostScript file
myfile.ps:
gist myfile00.cgm -ps myfile.ps -x &
Type the f, b or g commands in the gist graphics window to navigate through
myfile00.cgm. Use the s command to write the current page into myfile.ps;
the q command quits.
To use gist on foreign.cgm which was not generated by Yorick, try:
gist -75 -gks -bg0fg1 foreign.cgm
AUTHOR
David H. Munro, Lawrence Livermore National Laboratory
FILES
Y_SITE refers to the Yorick site directory; use the help command in
yorick(1) to find its name at your site:
Y_SITE/gist/*
graphics style sheets, palettes, and PostScript template
BUGS
Gist is designed to convert yorick(1) binary CGM output files into
PostScript perfectly. That is, running a yorick binary CGM through
gist will produce exactly the same PostScript file (and X window) as
yorick would have produced directly.
However, the ANSI CGM standard is not a page description language like
PostScript. Therefore, non-yorick CGMs may or may not be acceptably
rendered by Gist. The -gks and -bg0fg1 options may help, but you can
expect fonts, polymarkers, and line styles to look different with
Gist than with other CGM browsers (.e.g- idt from NCAR graphics).
If gist cannot find the PostScript template Y_SITE/gist/ps.ps, PostScript
output will not work.
You can't use multiple X windows to compare two different pages (they all
display the same page). Start a second copy of gist.
On pseudocolor displays, a color image may require you to move the mouse
into gist's X window to display properly. Unless your window manager
allows you to set colormap focus independently of keyboard focus, this
can be annoying.