Hacker News new | ask | show | jobs
by knuckleheadsmif 723 days ago
I’m one of the few people who has written a lot of Interpress (for the Xerox Star) and was responsible for making it work on a number of Xerox printers all implementing a different subsets mostly because it was evolving protocol which different printers shipping on differing schedules.

This is a long paper that I think has too much detail and it obscures the few key important things:

- Postscript is really a general purpose programming language where interpress is rather restricted.

- Interpress was very concerned from the start about being fast to process on the fastest Xerox printers at the time (a 9700 120PPM) and page independence was critical. Wanted to print forward, backward, in the middle without executing the entire file as postscript required. Interpress could easily index the pages and just start printing from any where. Not so with PostScript.

- both had near identical imaging models. It’s obvious why from that article.

- Postscript had a robust scalable font mechanism where-as all Xerox prints lived in the world of bitmap fonts. This is not really a language issue but an implementation fact at the time and made it in the end far superior despite everything else. (Plus the Mac used it and the LaserWriter was a huge success.)

- at the time Interpress handled multilingual fonts (as did Star) and that was added latter to PS but not when this was written. Interpress used XCCCS their 16bit character code standard which was the direct predecessor to Unicode (co developed initially by Xerox and Apple and I was part of that initial work.)

There are other key points but these are the major ones imho.

1 comments

> Interpress could easily index the pages and just start printing from any where. Not so with PostScript.

Granted, a general purpose dot-ps file would have to be completely executed, yes, to get any particular page..

but no, not true after the early days.. Postscript structuring conventions allowed page extraction and therefor page execution after the header parts executed..