NAME¶
gist - browse binary cgm graphics files
SYNOPSIS¶
gist [[ -in ]
cgmfile ] [
page-number-list ] [
options ]
DESCRIPTION¶
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.
- 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
"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.
SEE ALSO¶
yorick(1)