[fa.laser-lovers] Fun with LaserWriter

laser-lovers@uw-beaver (03/29/85)

From: Brian Reid <reid@Glacier>

Henry Spencer of UTZoology has repeatedly and politely mentioned that
by using a lot of software trickery he is able to do "real typesetting"
on his HP LaserJet. Well, as I told this group a few weeks ago I
bought a pet LaserWriter ($7000), but I haven't had much time to play
with it until this week (our quarter ended last Friday, and this is our
meager spring break). Henry, you don't know what you're missing.

I cannot tell you how much fun the LaserWriter is. It will do bleeping
anything. Poor Henry's LaserJet can (with care) do multifont
typesetting. Hey, I can put any letter I want, any size I want,
anywhere on the page. Logos for a baseball team's T-shirts (which were
just taken in to an iron-on transfer place and made into numbers for
the back and decoration for the front). Custom graph paper, made to
order. The Stanford "logo" or "seal", which is a pine tree and some
little trees in front of some hills, all inside a circle that gives the
name of the university and the year it was founded. Office door labels.
Name tags, with letters big enough to read. A giant sign for my office
door that says "go away! leave me alone!" in letters about 3 inches
high. A fake IRS 1040 form, Schedule OC, for reporting income from
Organized Crime.

Now you might argue that you can do any or all of these things on your
favorite laser printer, and you might be right. But I bet you had to
work at it. If you made graph paper you probably had to write a program
do to it. I just sat down at my text editor and banged out a macro to
draw graph paper, with parameters like how black or grey the lines
should be, and what the spacing should be, and so forth. Took 10
minutes. 3-inch-high letters for my door? Hey, it's falling off a log. 30
seconds. Beautiful crisp Times Roman Bold, rotated into landscape mode
so I can fit wider words on the page, in letters 180 points high. That
one was so easy I didn't even bother making a file; I just said this to
my Unix shell (rotation numbers are in degrees; other numbers are in
points).
    cat | lpr -Pdelicious
    %!
    /Times-Bold findfont 180 scalefont setfont
    90 rotate 0 -11 72 mul translate
    50 650 moveto 
    (Go away!) show
    50 450 moveto
    (Leave me) show
    50 270 moveto
    (Alone!!) show
    showpage
    ^D
Bingo! It took perhaps 30 seconds of LaserWriter CPU time to
scan-convert and print those 180-point high letters, but look at how
much people time those 30 CPU seconds saved me. I put that sign on my
door while I was grading finals. Those big black letters are a real
show-stopper.

It took me about 10 hours of careful work to put together the Stanford
logo; it has about 1000 line segments in it (pictures of trees and
hills), as well as rotated letters and halftones. I was running around
our building showing off the resulting stationery today (the
LaserWriter generated the letterhead, complete with 1-inch-high logo,
as well as the body of the letter), when one of the administrative
assistants handed me a piece of the new stationery and asked if I could
do that one on the LaserWriter. Well, this new stationery is actually
kind of ugly, so I just figured out a way to jazz it up a little. Our
building is called the "Center for Integrated Systems", and the logo is
a very dumb-looking C and I and S, arranged over top of an S and a U
(for Stanford University) in such a way as to look vaguely like an
integrated circuit mask. The letters are in two rows, as follows, with
a long line running off to the right across the page:
C I S
 S U---------------------------------------
except that the whole logo is one continuous line, that starts with the
C and then goes to the I and then the S, etc. After it does the U it
turns right and shoots across the page. It looks like the kind of
artistic design that I might do, and I can barely get my socks to match.
(the reason it is all one continuous line is that it is supposed to
represent a conductive trace on an integrated circuit, a wire wending
its way here and there).

Well, what I've decided to do to wake this thing up, and I figure if I'm
quick I can probably get it running tonight, is to draw the continuous
line with a stream of text. I haven't decided what the text will say,
but you may rest assured that I will do it as a macro so that people
can make frivolous variations on the letterhead, but the idea is that
the line running through C I S S U ------- will be represented as a
PostScript "path", and then instead of doing "5 setlinewidth stroke"
at the end of the path, to color it in black, I will do something like 
    /Courier findfont [3.5 0 0 5 0 0] makefont setfont 
    (CENTER FOR INTEGRATED SYSTEMS STANFORD UNIVERSITY) 0 pathtext
which will wrap those letters twisting around the shape of the path
through the CISSU. The [3.5 0 0 5 0 0] is the first 2 columns of a
3 by 3 matrix that specifies an anamorphic transform (the last column
is always 0 0 1 and doesn't have to be specified) that squashes the
letters horizontally to make them tall and thin. By using capital
letters and squishing them I can get a very dense, very visual-looking
stream of text that winds its way around the path to make the
letterhead. (pathtext is not built in to the LaserWriter, but the PostScript
manual tells you how to add it).

Something tells me that the administrator is going to be sorry she
asked, because after I do this I'm going to add it to the Scribe
library and let people do @Make(CIStextLetterhead) to print this out
whenever they want.

I guess I've rambled on enough, except the real reason I'm closing this
message is so that I can go back to play with my printer some more.
Henry, you just don't know what you aren't getting when you think that
a LaserJet is good enough, or that a printer with "full graphics" is
enough. Tee hee!
	Brian Reid	decwrl!glacier!reid
	Stanford	reid@SU-Glacier.ARPA