SEARCH

How-To Geek

What Is Postscript? What Does It Have to Do With My Printer?

5816394047_aa920d5992_b

When printing, you might have come across the word “Postscript.” Ever wondered what the heck this means, and relevance it has to your printer? Take a minute, learn some computer history, and a little bit more about desktop printers work.

Unless you’re a computer scientist, it can be confusing to look up “Postscript” and learn that it’s a “concatenative programming language” only to find you have even more confusing words to look up. Today, we’ll make it easy, and put Postscript into context, explain what it is, why and how it does what it does, and how it pretty much turned the whole graphics world on its collective ear! Keep reading, there’s some good geeky fun stuff ahead.

ASCII, Dot Matrix, Plotters, and Changing Printed Graphics

2214997551_0933790dcb_o

Before we understand Postscript and more modern printing devices, we have to consider the humble roots of PC to print technology. Early computer printers were crude devices made only to reproduce text and ASCII characters—there was little to no application of graphics, and little to no use for them. These so called “dumb” printers could be programmed to produce text, although many would have had hardware limitations that would stop them from printing anything but the characters in the hardware—think “typewriter.”

 

Some of us at How-To Geek might date ourselves and say we remember an important next step in printer evolution—dot matrix printers. These were capable of printing some crude grayscale graphics with rows of pixels, as well as blocky, low pixel depth typography. Although they did have the advantage of creating digital images (although ASCII art sort of counts), the crude typography was a setback for early dot matrix printers. All dot matrix printers took directions on printing images and text in roughly the same way; break it into pixels, printing them in rows as the print head passes along the paper, feed the next bit of paper, and repeat.

Unlike dot matrix printers, plotters are still fairly common, particularly in manufacturing. Plotters move papers, vinyl, or various other materials around on algebraic coordinates to draw, print, or cut smooth, mathematically pure vector shapes with a stylus or knife blade. As we’ve learned, because of the nature of typographic glyphs, vector shapes are vastly superior to pixels for defining abstract, mathematically pure shapes found in type. Because plotters are engineered to move around based on precise math, the instructions on how to create typography and other shapes are fairly easy for a PC to communicate to the device.

The challenge was this: no existing model of PC to print technology could create vector-based, clean typography AND graphics at the same time. What were all the clever geeks supposed to do?

Xerox PARC, and Development Of The First Laser Printer

1266920715_6

Xerography, AKA photocopying, was the development printers were looking for. Although Xerography had been invented in the thirties and made commercially available as copy machines in the late fifties and sixties, it wasn’t used in PC printing until Xerox PARC engineer Gary Starkweather designed the first laser printer.

Here’s a graphic and a rough descriptions of how Xerography works: light hits electrically charged areas of the printing drum, the electrons react and those negatively charged areas lose that charge. Toner adheres to the static electricity, and is pressed onto the paper, creating artwork without the use of dot matrix style pixels. And because this printing process was fundamentally different from any of the comparatively crude methods listed above, Xerography was a logical way to print clean type and graphics at the same time. There was one simple engineering problem that had to be solved—how do you create instructions for a printer that can easily do both at once?

The Best of Both Worlds: Postscript is the Print Whisperer

17837312_de4a8b1767_z

Enter Adobe engineers and co-founders John Warnock and Charles Geschke. The pair had worked together at Xerox and had created page description language (or PDL) called Interpress. Interpress solved this engineering problem—it was a system of translating images and complicated shapes into data the printer can use to turn out high quality printed artwork. Interpress was not necessarily the first PDL, and it wasn’t Warnock and Geschke’s last collaboration. Leaving Xerox PARC, the pair developed a flagship product in Postscript, which has remained, even to this day, a graphics industry standard.

Postscript, as the name sort of suggests, is actually a Turing-complete programming language. Directions are written out in a human-readable way, and communicated to the printer, which creates the high quality art from the instructions. Here’s a sample “Hello World” program from Inkguides.com.

%!PS
/inch {72 mul} def
/Times-Roman findfont 50 scalefont setfont
2.5 inch 5 inch moveto
(Hello, World!) show
showpage

We start to see pretty quickly what kind of instructions Postscript is giving the printer, and just how simple the directions are. Fonts referenced in this program exist in vector form and are called up from separate files—and were a big part of Adobe’s contribution to the digital graphics industry. Here’s a second example, from Mikkel Meinike Nielsen’s page on Postscript:

%!
/Times-Roman findfont 16 scalefont setfont
gsave                   %save before using translate
105 210 translate %This cordinates places the images on
%the page
%————-The actual image begin———————
76.8 86.4 scale
40 45 1 [ 40 0 0 -45 0 45 ]
{ <
fffff5ffffffffdeffffffffeaffffffffdeffffffffffffffffffeeffff
fffffefffffffffbffffffffffffffffffccffffffff77bffffffeffdfff
fffdfff7fffffbfff7fffff77ffbffff5ebfbdfffafdbf7ebffbf3ff6fdf
e9ef7ff7f3d6bfff7d55afff7efffafffffffffcffff7efffffffef7ffff
fffdf77fffffffeffffffffdf7bffffffbd7bfffffffbffffffff7fbbfff
ffef7bffffffeefbdfffffdef7bfffffffffbfffffbdefffffff7dff7fff
ff7bdffffffff7ff7ffff977e57ffffa5ffbffffff7feebffffdbff4bfff
ff7fffffffffffffffffffffffffff> } image
%————-The actual image end ———————
grestore %restore the settings from before the translat
0 245 moveto (Text and image, ) show
0 229 moveto (side by side. ) show
showpage

This large middle section of gobbledygook is actually hexadecimal code that defines an image. Most Postscript isn’t written by hand like this, but rather by programs. To get an idea of what this Postscript code actually looks like, take a look at this screencap from Mikkel’s page below of the image this code generated. Entire photographic mages can also be re-written as postscript this way—the filetype is called Encapsulated Post Script, or EPS.

sshot-5

Modern Printed Pages and Newer Printing Processes

124250578_d4b7f029cf_o

Nowadays, not all printers use Postscript, but all of them have to have some kind of translation layer to turn text and image data into printed material. We usually call these programs printer drivers—and nowadays they come from the manufacturer, and are a proprietary software. In some form or fashion, this Is an crucial piece of what all printers need to communicate with PCs—even though the printers we use in our homes are solving very different problems than the first laser printers. Regardless, Postscript was Adobe’s first big success, and is part of what effectively the start of a worldwide popular explosion of graphics and design.


Image Credits: Brother Printer MFC-8370 by Jung-nam Nam, available under Creative Commons. Ancient Dot Matrix Printer by Andy Broomfield, available under Creative Commons. IBM 3800, photographer unknown, assumed fair use. Xerographic Photocopy process by Yzmo, available under GNU license. Adobe software by Seven Block, available under Creative Commons. The new printer by Erin Sparling, available under Creative Commons.

Eric Z Goodnight is an Illustrator and Graphics Geek who hopes to make Photoshop more accessible to How-To Geek readers. When he’s not headbanging to heavy metal or geeking out over manga, he’s often off screen printing T-Shirts.

  • Published 12/15/11

Comments (13)

  1. Adrian Martin

    If you want to try Postscript yourself, grab Ghostscript from http://www.ghostscript.com/download/gsdnld.html

    once installed, use a text editor to save your code, as something like hello.ps then from the commandline run something like >gswin32.exe c:\test.ps substituting paths as necessary.

    There’s a freely available book called the Blue Book with tons of examples. Plus all the other free books from adobe covering postscript. See the external links here http://en.wikipedia.org/wiki/PostScript#External_links

  2. dcj2

    Other than the fact that it makes me feel really, r-e-a-l-l-y old, very nice write up. I was working in a computer store selling first-gen PC’s, XT’s and this awesome new thing from IBM called an AT. We sold dot-matrix printers by the truckload. Then this laser printer gizmo arrived from HP and we were stunned, not just by the incredible print quality, but by the 473 lbs the thing weighed (that might be a slight exaggeration). Then Apple came out with their version of a laser printer and we discovered there were two horses in the PDL race: HP-backed PCL and Apple-backed PostScript. And so the PDL war was one, and raged as intensely as VHS vs Beta, amber screen or green screen, Commodore or Atari. Heady days, those. :)

  3. RonV

    I love Postscript, made my first dent in the publishing of layup forms with postscript printing. The language allowed most directives such as “showpage” to be redefined. I would trick the printer into loading a library before the print stream that would force “showpage” to eject the previous page and then render a form image in memory before the interpreter would lay the text on the page. Back in those days most Postscript printers hung off of midrange systems such as DEC VAX and UNIX systems. If you were lucky you may have had a Apple LaserWriter but it’s processor was way to slow.

    I still have the RGB books from Adobe, they did a play on the colors of the books Red was the language reference, Blue was a cookbook and tutorial, and Green was the programming design guide.

  4. PMc

    Dot Matrix are still commonplace too – Around the globe they are used in freight companies who require carbon copy printing for Air waybills, they are also still used for invoice and cheque printing. Basically antything that can make use of carbon copies because of the way they print.

  5. Eric Z Goodnight

    @PMc: Goes to show you that old tech is not usually as “obsolete” as they make it out to be.

  6. Oz DiGennaro

    PDL — PostScript is one and PCL5/6 is another.
    PostScript is elegant, Turing-complete and wildly over-engineered.
    PCL5 is one big complex kludge and it’s incomprehensible how it can ever get a page out.

    So. Two PDL. Each on the extremes of software engineering. Both successful, completely successful in the market for decades.

    What do we learn from this? Nothing.

    Oz, an old printer guy.

  7. Sue

    Thanks for explaining PostScript so clearly.

  8. Karina Kaminski

    Oz,
    Is life fun for you?

  9. rthonpm

    Thanks for the great description of PostScript! I’ve been a service tech dealing with both PC’s and copiers for years and customers ask about the difference between PCL and PostScript all the time. Now I have something a little more user friendly than my old responses to share with them.

    I’m generally a fan of PostScript, but it’s not quite as portable as PCL. Can’t get an old industrial control computer to print to a brand new MFP? Try using a good old LaserJet III PCL driver and problem solved! PCL is PCL, while PostScript uses a little more refined process (PPD) to work with the output device.

  10. Little John

    The noise of dot matrix printer running would make you take long coffe break, but the boss place the printer in sound proofbox. The sound box cut the noise down but you could still hear the printer running. I remember 9 pin and 27 pin print heads. Replacement ribbons and re-inking the ribbons for the dot matrix printers. Use fan-fold paper with pin holes to the side then break apart the paper. What fun we had in old dos days.

  11. Vic

    A perfect article. Thanks a lotttttttt.

  12. Ace

    Nicely done!!

  13. atlcr

    Great article! One of the best I’ve read here on HTG.

    The big question I’m left with is “Why is there not software innovation happening with printers?”. Of course there is always development with drivers, bug fixes, etc… but what about actually creating a new language for turning text and graphics on screen into text and graphics on paper?

Get Free Articles in Your Inbox!

Join 134,000 newsletter readers

Email:

Go check your email!