		    README for drawimp distribution

			 Last edit: 19-Sep-86

This is the fourth version of the MacDraw to Impress program, "drawimp".
The program is used to convert a MacDraw picture to a close approximation
that will print on an Imagen laser printer.  The following things have not
been implemented yet but hopefully will be eventually.

	Smoothed polygons
	PICT objects from MacPaint
	Clipping of objects that cross 8x10 inch page boundaries
	Rotated, centered, or flushed-right text

Various notes about the program (in no particular order):

1.  The file patterns.c contains the data for the 36 patterns available for
filling and drawing in MacDraw.  Some of the patterns that represent a 1/2
or 1/4 density grey level have been entered at the higher resolution level
so the pattern will look different than that from a MacPaint image.  The
patterns are also slightly smaller than they should be since they have been
expanded by a factor of 4 whereas the rest of the image has been expanded by
about 4.17.  Because of this, any image that relies on the phase of the
pattern being correct at some point in the image will not come out right.

2.  Impress on the 8/300 has a limit of 14 patterns that can be downloaded,
not counting clear, white, and black.  It is up to the user to make sure the
picture does not exceed this limit.

3.  The file impress.c contains functions to output the Impress command
strings.  So far it only contains the function needed by drawimp, others
will be added when required.

4.  The text output uses the fonts supplied with the Unix TeX distribution.
If you don't have the TeX "am" fonts, it probably won't work.  The program
will look for fonts in the directory pointed to by the environment variable
TEXFONTS.  If TEXFONTS is not defined, it will use the default path specifed
in pxl.h.  If and when we get the newer TeX distribution with the "cm" fonts
the program will be changed to use them.

6.  The routines for handling the text fonts were taken from the Imagen
driver supplied with the Unix Tex distribution.  These files (including one
VAX machine language routine) may not be too portable to other non-VAX
systems.  The rest of drawimp should run on non-VAX systems with few
changes.  The program can be run without the text routines by defining
NO_TEXT in drawimp.c and linking just drawimp.o, patterns.o, and impress.o:
	% cc -o drawimp -DNO_TEXT drawimp.c patterns.o impress.o -lm

7.  Currently all MacDraw fonts default to the same times-roman type of TeX
font.  Bold and Italic are supported as are most of the special characters
that can be printed with one character (no vowels with accent marks, etc.).
The selection of which character to use for each MacDraw character is done
in mactext.c and can be changed to suit individual tastes.  

8.  The TeX characters are slightly different sizes than the Mac characters
so text strings will not come out the same length.  Things like tables where
it is necessary to line things up should be done with multiple short text
strings on each line rather than one long line that uses spaces or tabs to
achieve the alignment.  I recommend using the New York font when putting
text in the drawing since it appears to be the closest in size and will give
the best approximation to the correct length of text strings.

9.  IMPORTANT!  Check the font filename definitions at the beginning of
mactext.c to make sure the font files that will be required are on the
system.  The parameters in the tables can be changed to match existing font
files.  It's all documented in mactext.c near the tables.  The way fonts are
specified is a bit crude but it works.

10.  The -t option is used to generate imPress files that do not have a
header and is used for drawings that are to be included in a LaTex document
using the TeX \special command.  This allows one to print a LaTeX document
on the Imagen, complete with figures, so as to avoid doing any cutting and
pasting afterwards.  The distribution includes the files we use to make this
work (special.c and PicMacros.tex).  See the file README.SPCL for more info.

11.  Some changes in the user interface (by popular demand) since the first
version.  Drawimp now accepts multiple input files and will process them one
after the other to create a single output stream.  The imPRESS data will
have ENDPAGE commands separating the data from different files.  Input from
stdin is no longer supported.  In normal mode, all output goes to stdout (-o
option has been removed).  The -d option now causes the debugging
information to be written to stderr, and does not inhibit the imPRESS output
from being written to stdout.  If all you want is a list of objects in the
file, use "drawimp -d myfile.data >/dev/null".

999.  Please send any question, comments or bug reports to me at one of the
addresses shown below.

Allan Weber
USC Signal & Image Processing Institute
Powell Hall 306, MC-0272
Los Angeles, CA 90089
(213) 743-5519

Arpa:	Weber%Brand@USC-ECL
Usenet: ...sdcrdcf!usc-oberon!brand!weber
