gist - browse binary cgm graphics files
gist [[ -in ] cgmfile ] [ page-number-list ] [ options ]
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.
-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.
to specify an X server connection. If this option
is not given, gist will use the DISPLAY environment
-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
-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
-nowarn suppress all but first warning message
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-
Thus, pages 3, 5, 7, 9, 31, and 17 through 26 (in that order) would be
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.
Unless the -b or -f options were specified, gist expects further
commands from the keyboard, or typed in its X window. Keyboard
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).
render the specified pages on the "drawing" devices
(X windows by default).
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.
draw to dev1 [dev2...]
specify "drawing" devices; dev1, dev2, etc., are
device numbers printed by the info command. By
default, X windows are the "drawing" devices.
send to dev1 [dev2...]
specify "sending" devices; dev1, dev2, etc., are
device numbers printed by the info command. By
default, PostScript files and CGMs are the
free dev1 [dev2 ...]
close the output file or X window; dev1, dev2,
etc., are device numbers printed by the info
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
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.
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
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
David H. Munro, Lawrence Livermore National Laboratory
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
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.