ram@deepthot.UUCP (10/03/87)
UNO is a graphics editor that is meant to be an aid to document
preparation; it was developed on a Sun workstation but the code seems
to port to other UNIX systems with little difficulty. UNO images can
be included in TeX and LaTeX documents if the DVI driver supports the
\special command. Here is a brief synopsis of what UNO can do:
1. All coordinates, sizes etc. have to be specified as pixels. For
example, to draw two concentric circles centered at the point 100:200
with radii 50 and 60 pixels, you type: circle rad=50,60 100:200;
To draw a smooth curve through the points 100:100, 50:150, 150:200,
and 100:250 with horizontal tangents at the two middle points you
type: spline 100:100, 50:150<0, 150:200<0, 100:250;
2. UNO input consists of a sequence of semicolon separated 'commands'
(such as the above); these can come from the terminal or can be
executed from a file with the command : execute 'filename';
This provides a primitive subprogram capability. You can declare and
use integer and real variables, so one can simulate parameterized
subprograms in a primitive way.
3. No control structures of any kind (e.g. if statements, loops) exist;
nor do macro facilities. The idea is to keep the input language
simple so that people can learn quickly and produce simple diagrams
with a minimum of fuss. Conventional macro processors and compilers
should be used to programmatically generate UNO programs if
necessary.
4. Commands exist for drawing circles, (axially oriented) ellipses and
boxes, lines, regular polygons, splines, grids, circular arcs,
dotted objects (any of above) with a user specifiable dot pattern,
and for selecting the segments of a line to be actually drawn (this
is useful when drawing an arrow from the center of one circle to
the center of another; one can select just the portion of the line
that lies outside both circles to be drawn without having to
calculate the coordinates of the intersection points).
5. Lines of symmetry in the four principal orientations can be defined
at any point so that all future drawing is reflected across some or
all of these lines.
6. Any user defined picture can be used as the pen to draw.
7. Arbitrary 4-connected regions can be filled with an arbitrary user
defined pattern.
8. A single UNO font is provided for text; the font file is a plain
text file with a simple format, so users can create their own fonts
easily. In practice this single font suffices for most purposes,
since text can be drawn with different pens to obtain bold text,
outline text, shadow text, calligraphy etc. Text can also be scaled
vertically or horizontally arbitrarily, can be skewed to the right
or left (e.g to get italics), or rotated.
9. The entire image is kept in memory as a bitmap (pixrect format) and
can be saved on disk as such (Sun rasterfile format). There is a
display command which, on a Sun console under Suntools, will pop up
a display window with two scroll bars showing the current image. All
subsequent drawing is automatically and almost instantaneously shown
in this window; mouse coordinates are dynamically reflected in a
small panel at the top of the window; with this exception, the
display window is entirely passive: ALL input has to come from the
parent window in the usual way. There is also a dump command which
can dump a small portion of the image on an ASCII screen using an
asterisk (*) for black pixels and a blank for white pixels; so UNO
is usable even from dumb terminals. Getting hard copy is a matter
of writing a Sun rasterfile-to-printer driver; a driver exists for
the QMS PS-800 (PostScript, 300 dpi) printer and another for the
Toshiba P1351 dot-matrix printer (180 dpi). For other printers
you'll have to write your own.
10. There is no support whatsoever for color.
11. A Tutorial that explains how to use UNO and serves as a manual of
sorts is available; it runs about 35 LaTeX typeset pages.
====================================================================
For more information mail a request to:
ram@uwovax.BITNET or ram@julian.UUCP or ram@uwocsd.UWO.CDN or
...!decvax!utzoo!julian!uwocsd!ram
...!ihnp4!watmath!julian!uwocsd!ram
M.V.S. Ramanath @ Department of Computer Science
The University of Western Ontario
London, Ontario, Canada N6A 5B7
Phone: (519) 679-2111 (ext. 6896)