squeak printing?

Lex Spoon lex at cc.gatech.edu
Thu Feb 7 14:11:03 UTC 2002


If you think about things a neophyte might want to try with Squeak after
downloading it, printing out a creation has to be high on the list. 
It's all well to imagine a paperless world of the future, but do we want
to force people immediately into it?  I used to think so, but I've
changed my mind: it's important that people have happy experiences
early, and doing everything electronically isn't necessary to get the
main points of Squeak.

So what to do about printing?

First, there is already VM primitive for printing bitmaps.  We should
hook it into the UI!  It's not implemented everywhere, but it should be
where it's possible.  (Embarassingly, the Unix port doesn't do it for
real -- it just saves the bitmap to a file, and it seems to only work
for 8-bit forms at that.  It seems like you could just take this
existing code, update it for forms of different depths, and then pipe to
a postscript converter and then to lpr.)

Second, I actually don't see the appeal of putting an lpr pipe at the
Smalltalk level using OSProcess, though it's a tricky argument.  Here
goes.  If you are on Unix, you can already do the lpr manually --
CommandShell is excellent for things like this.  If you aren't on Unix,
you will still want one-click printing, and this method won't always
work.  Thus on many platforms, you need a new primitive.  Returning once
more to Unix users, they wouldn't *mind* if there is an extra primitive
to support this.  Phew.

Now, implementing the LPD protocol is interesting for people on typical
networks.....  but it still doesn't solve the problem for everyone.


Finally, we may want to add a second primitive to print a postscript
file instead of a bitmap, and use it instead.  Every platform but MS
Windows is likely to have postscript processing available (grr
Microsoft), and the postscript result is often nicer.  Even on MS
Windows you can use ghostscript.



-Lex



More information about the Squeak-dev mailing list