Laser Printer RIP

Printers > Laser > Languages

Navigation Icons Guide
Printers - Main Index PagePrinters Index
Laser Printer Topic - Overview & IndexLaser Printer Topic Index 
Introductory Text on Laser Printing  & ElectrophotographyLaser Printer Intro Text

Raster Image Processing

The Raster Image Processor in a printer converts the data sent by the computer to the pattern of microscopic pixels seen on the printed page. It is the printer's equivalent of a video card.

A asterised display is one made up from lines of dots - TV and computer screens are rasters. Dot matrix, inkjet and laser printers also use a aster. The individual dots are called pixels and the process can be called pixelation, the word rasterisation used to be be applied to TV engineering.

One difference between screens and print is that a typical screen displays something between one and two million pixels whilst an A4 page printed at 300 dpi shows nearly 8 million pixels so specifying the page can be more complicated. Of course the screen can be changing dozens of times per second so that the human eye sees motion so a video adapter has this additional problem. On a printed page the eye can dwell on details for a long time so the page has to look right.

Computer users have become used to seeing an image on the screen, pressing "print" and getting a document from the printer. Most people probably think the image from the screen is transfered more or less directly to the paper. This might seem a sensible way of doing things but  it isn't what normally happens. What is seen on the screen and on the page are related in terms of content and general appearance but differ greatly in specifics. What is seen on the screen is held one way in a program, another in the graphics adapters.There are printer languages to send information from the computer to the printer. Most printers have their own fairly powerful processors and large memories to generate a page image from the print language.  

The same scanning principle is generally used for a screen as for paper but the details are very different. People are  used to paper images looking rather crisper than those on screens, and this needs more pixels. A screen image typically has under 100 pixels per inch - but the colour sub-pixels can adjust over a range of a about 16 million colours. A printed page has between 300 and 10,000 pixels per inch but any individual pixel is either a monchrome dot on a black and white printer or from a range of 8 colours on a colour printer.

The more pixels there are in an image the more information it holds and the better it will look. Unfortunately doubling the linear esolutiion from say 300 dpi to 600 dpi squares the amount  of memory the image takes up and the processing power needed to generate it.

Screen graphics generally come from a special hardware unit called the graphics adapter (or sometimes the video card). This has some memory and a special co-processor dedicated to the screen display task.  

PCs don't have any special processor intended to support printing; the graphics coprocessor is normally oriented to the screen, not to paper.

Printers  usually have their own Raster Image Processor (RIP). The computer converts the internal codes it uses to represent visual objects to a print language. The printer turns the print language to the raster needed to print a page.

RIPs are usually a part of the printer and in this case they are often just called the "formatter board". The RIP process can be done in the user's Windows PC and in this case the process will be called "host based printing" or "GDI printing".  

When explicit mention is made of a RIP it's usually a separate box outside the printer - either a PC dedicated to the RIP job or perhaps special hardware.  Hardware RIPs are particularly used by printers and graphics specialists, the RIP will accept PostScript or a PDF and it's output is intended to eflect exactly what the offset litho printing process will produce.

--

The computer circuits in a printer that create an image for the hardware to actually put on the page  is often refered to as a RIP (Raster Image Processor). The RIP task requires a fairly substantial memory and powerful processor because making up a printed page is a fairly complex job - at least by historical standards.

Printers have traditionally been supplied with something like RIP hardware built in, rather than rely on the users computer doing the job. Printer makers couldn't be sure what kind of computers users would have (Home computers once included Acorn, Amiga, Apple, Apricot, Commodore, Cromemco, etc, etc). The computer might not have adequate surplus power available to do the RIP job. Even if spare computer power were available printer makers might have to deal with a confusion of different standards. 

The basic standard that emerged was that the computer sent text codes to the printer in a form called ASCII, together with some codes saying how the text was to be set out. The printer RIP interpreted the text abd control codes and made up the page. The cost of computer power generally falls so the cost of electronics for a RIP was once very substantial;  the first Apple Laserwriter cost over £5,000 in the UK mainly because its PostScript RIP needed a Motorola 68000 processor unning at 12MHz, significantly faster than the 12MHz model in the Apple Mac .  The cost of a RIP can still can be significant.

Delivering computer power of the kind needed by the RIP has fallen in price - but as it did so the demands for photographic output increased which required more RIP power.

Progress in computer power and memory qauntities has largely removed the the expense of special RIP electronics in recent times. There are still a couple of issues:

///

Transfering images straight from the computer to the printer does make sense. Problems are:

Screens show only a fraction of the information expected on a page. This may not seem to be true - you can get a preview of the page on the screen. Previews reduce the resolution and readability of pages so that people make reading errors, their reading speed and comprehension drop.

There is no agreed standard to do the job. Printer and computer makers would either have to agree one, or adopt a de-facto standard. The de-facto standard is that used for cheap USB printers connected to Microsoft "Windows" XP machines.
 

Low cost printers aim to be very cheap . There is a huge market for home PCs and buyers are often very concerned to seek out a bargain  - but insensitive to the ongoing cost of cartridges. Cheap printers usually construct what will be seen on the printed page inside the user's computer - this is normal with inkjets and low cost USB laser printers. The advantage of this is that it uses the memory and processor power a user already paid for. One disadvantage is that this kind of printer can be slow and may only work with Microsoft Windows.
 

Why What You See Is (not quite) What You Get

Screens & Rasters

In practice the image on the screen is a bit of an illusion. The graphics adapter creates the look of a document on the screen using a "raster" - a scanned image. The graphics adapter is continually reproducing the screen aster much as  TV camera would. A computer screen has more "pixels" or picture elements than a TV so it can show a more complicated image. A pixel is pretty much a dot on the screen.

When the user scrolls down the screen with the mouse pointer a series of interrupts are generated and the adapter "bitblits" areas of memory so that existing material moves up in its window. Then the adapter fills in the bottom of the window from code held in memory.

What is on the screen is a representation of something held as codes in the user space of memory. The codes held in memory may be one kind of thing for a Word document, another for a web page and something altogether different for an Autocad diagram. There is no "real" image of the document anywhere in the computer, just codes from which it can be constructed.

Computers can hold material in several different ways – for instance:

  • Word-processors are likely to hold information as strings of ASCII or Unicode.
  • Vector-graphic programs like Autocad hold information mainly as numbers.
  • A scanned image or photograph will probably be held as a bitmap.
The bit-map is the only kind of information that resembles what might be seen on the screen or a printed page but even here things aren't simple.

Computer screens are descendants of television screens and typically have the old 4 to 3 height to width or "aspect ratio", Typical screen standards are:

XGA with   1024 x 768  = 786,432 pixels - typical on 12 inch screens and smaller
SXGA with 1280 x 1024 = 1,310,720 pixels - typical for 17 and 19 inch screens
UXGA with 1600 x 1200 = 1,920,000 pixels - typical for 20 inch screens

The pixels on a computer screen are big - they are easily visible to the naked eye for anyone getting close to the screen. Typically the screen esoultion is about 75 to 100 dots per inch. Pixels on a screen can, however, be any colour or shade, the litle red, green and blue sub-pixel dots that make them up can be adjusted to any brightness to give the illusion of colour.

Paper, Screens & Rasters

Printing to paper is normally a raster as well but the number of pixels seen on the page are rather different.

The A4 sheets common in Europe are 11 3/4 inches long and 8 1/4 inches wide (292 x 210mm approximately). Paper tends to be used with a different aspect-ratio, screens are usually viewed  "landscape" where paper is normally "portrait".

Paper is usually printed with many more pixels than a screen. the base level for printed text is normally 300 dots per inch. There are usually some unprinted margins at the top, bottom and sides of a page so treating it as an 8 x 11 sheet it holds 2400 x 3300 pixels or 7,920,000 pixels.  Even a rather basic 300 dpi printer is putting 6 times as many pixels on the page as would be shown by a typical SXGA screen.

Print pixels are a bit different from those on the screen. Many printers can't provide greyscale. If a grey shade or a colour is required then print mechanisms often don't (or can't) actually reproduce it at the pixel level. Instead of making a pink pixel the printer makes a dither-pattern of little red (magenta overprinted yellow) pixels mixed with blank white page and the human eye picks up the general effect. 

The human eye doesn't normally see resolutions much finer than 300 dpi although people might do so if they are looking at fine lines in a map or diagram. However printers often offer resolutions to 1200 dpi or beyond.  The extra resolution might be used for fine lines but mostly it is used to create dither patterns giving the effect of a grey-scale.

A printed page is normally expected to look something like typescript or perhaps like a magazine page. As typescript a rather densely printed page would hold about 80 characters to a line and about 60 lines per page. The appearance of a page can be changed - at 10 characters per inch that page will look rather full but the print will be nice and big, at 15cpi the page will have wider margins but long sighted people might be less comfortable reading it. The overall cultural expectation for information in report form looks something like that. Just to highlight how much of this is cultural, if it were a magazine page we might rearrange the text into two columns and put a bold headline, a picture and a couple of adverts on the page.


On the screen the user can adjust a document to any shape. If the document is used full screen then only the top third of what would be the printed page is visible on the screen, so the user will have to scroll down.

Screen and printed page probably won't look exactly the same. Full screen there are about half the number of pixels availalble as there  would be on the printed page - 1280 pixels instead of 2400.  If the line were endered on the screen as it would be on the page than the user would have to scroll horizontally as well, making reading a difficult experience.

Most users probably won't want the document full screen, they'll prefer to see it looking somewhat like a printed page in shape. Users very often want two documents or more side by side.  This is just about possible on an SXGA screen if we lose the margins and reduce the number of pixels per character.

The computer generates smaller characters made from up from a grid about 14 x 9. If this script were printed people would complain that it looked very crude, but on the screen it looks OK. To give a conventional look to the screen half line gaps are placed between characters so the 50 - 60 lines of an A4 page each get something like 20 pixels. On the whole the resulting page just about fits the users screen.  Making the characters 9 pixels wide makes an 80 character line use 720 pixels - so there isn't quite enough space for the image of two printed pages side by side on an SXGA screen.  Depending on the document type the computer may be able to re-flow the text so that it fits the window, web pages do this. The page layout on screen and on paper aren't really the same, but they can have a family resemblance.

Differences between screen and paper display can have some odd effects. On paper a serifed font like "Times Roman" is often prefered - all those little tick-marks help the reader quickly distinguish characters. A document displayed proportionately on screen at about 75dpi may not have quite enough pixels to show the serifs very well so a plain font like Arial or Helvetica may look better.

Web pages and other recent document handling techniques use style-sheets (CSS or XSL) to deal with differences in presentation technology. The stylesheet can contain information on how to adjust the document look on a screen window, printed page or even spoken through a voice processor.

It may seem rather surprising that screens have not been made to correspond more closely with printed documents. A major use for computers is to prepare things that will be printed.  In practice portrait oriented screens have been tried with remarkably little impact. 

One reason might be that whatever is done with the screen until ecently there has been no hope of giving it the same resolution as paper. Another might be that information gets prepared in the computer but is often printed several times before it's main intended use, and the differences in presentation are not only accepted but may even be useful to users.

Whatever is going on the main change in screens recently has been to make them widescreen - WXGA standard more like a widescreen TV rather than more like a document. Perhaps users are getting their priorities ight?

Screen and print presentation of information are often significantly different from one another. Codes in the machine are used to generate both but may not look like them, for instance a document displayed by a word processor looks like an array of characters but internally it is likely to be held as a linked list. 

Some of the dissonance people feel when they first use a computer may come from the various little conventions they are expected to absorb rather than learn. They are told that what they see on the screen is what they will get on the page - the WYSYWIG principle that tutors and designers love so much - but it isn't quite true.

// 

Luckily for computer users this doesn't entirely matter. Most people accept some conventions about what they see on the screen and what they will get on paper. 

Of course, the way we use paper is just a "convention". Paper documents have set the standards for several generations and they will take years to dissapear. A4 is a more recent standard - more or less dating from the 1980's ascendancy of the photocopier.  Documents held ina computer have a long history but have only been commonplace from the mid 1990s and conventions on what they might look like on the screen and how that might be reflected in print are still evolving.
 

Different operating systems take different approaches. Microsoft Windows ways of holding information does apparently have a close relationship between screen and printer. Unix based systems predate graphical screens and the approach taken depends on the program. Unix systems tend to use the PostScript language to handle graphics. 

 
 

The RIP Concept

Laser printers are like screens in using a raster - but the shape, resolution and timing constraints are different.

Somewhere between the computer and the raster scanning mechanism in the print-engine the codes used inside the computer have to be transformed into the pixels to be placed on paper. This task is shared between the computer's printer driver and the printers raster image processor. The task can be almost entirely done by the driver  - or in the printer. On the whole:-

Using the driver in the users computer should be cheaper. However the driver software may only work with commonplace Microsoft Windows, will depend for it's speed on a user computer and the user's computer might slow down noticeably when the printer is in use. Another limitation has been that the printed page can hold a great deal of pixel level information - hundreds of magabytes in an A3 colour page,  so if the computer does the RIP job it will need a large memory and a high speed interface to communicate with the printer; that would once have been expensive. 

Using a RIP in the printer may be faster and means there is little or no dependency on the users computer - they can use any operating system and the printer can take jobs from a network of mixed machines.  However the computer and printer now need to share a print language to accurately specify the page and the printer will need a fairly powerful processor and a fairly large memory to construct the page image.

Using a dedicated RIP outside the printer can be very fast - presumably it will be a special box at a rather special price.  The main aim these days is not usually speed but accuracy, making something like a plotter produce exactly the output that a file will give when it is fed into a platemaking machine and the plates set up on an offset litho machine for mass printing.

As with many things in computing a bit of history intrudes here.

Historically there were more designs of computer than of printer. In the early 1980s there were a few dozen makers of printers - and perhaps a hundred commonplace kinds of computer. Things like today's office and home printers first came onto the market in the 1970s but mass manufacture began in the 1980s. The largest single PC maker was Apple - then as now with it's own unique design. Silicon Graphics and Sun were both present making high-end systems largely seen in business. In the mass market the IBM PC had proved very popular but IBM's own brand was being undercut by clones from Compaq. Acorn, Atari, Amiga, Amstrad and Commodore were all fighting for market share. Microsoft DOS was widely used on PCs. Microsoft Windows may now be widespread but it was not popular in the imd '80s. So a user might buy any one of a great number of computers and try to attach it to any one of a number of printers.

Printer makers were equally diverse. Anadex, Brother, Centronics, Data Products, Diablo, Diconix, Epson, Facit, Fujitsu, Genicom, Hewlett Packard ---. If computer and printer makers were mapped against one another in a grid there would be hundreds of possible combinations. Since most computers can run a wide range of software the possible combinations rises into thousands.

Diversity on this scale is a problem. The markets for computers and printers were both highly competitive - companies weren't going to suddenly drop their differences and devise some standards. What was achievable was that computers and printers should share some lowest common denominator.

Historically almost all the printed material from a computer was alphanumeric text and it was usually held in the machine as ASCII codes (American Standard Code for Information Interchange). One of the historic byeways of computing was "ASCII-art" which used alphabetic characters and punctuation to make little pictures - some people still use them as e-mail signatures. ASCII-art diagrams can be seen in many of the text versions of the Internet RFCs - they don't look great but they get the point across and they survive changes in fashion.

Graphics were rare and if they were at all important people bought pen-plotters or Tektronix 4014 terminals; both were vector devices. The 4014 commands are used in X Window Systems. HP were noted makers of pen plotters and their HP-GL control language became a standard for that kind of device.

Vectors are an efficient and meaningful way to represent graphical objects. A simple vector is two pairs of coordinates describing a line. Vectors have properties that allow geometric transformations like enlargement and otation. If an object is described in vectors the relationship of its parts can be determined and it can be assembled and dismantled. Vector oriented programs and devices are  the standard way to handle engineering diagrams and if two such things can find no other way to communicate HP-GL still provides a lowest common denominator.

Vectors are only lacking in a couple of respects:

Standards emerged in de-facto rather than de-jure fashion so the 4014 and HP-GL standards aren't formally defined they just emerged.

Vectors aren't what scanners and cameras make as input, and they aren't what the mechanisms behind screens and printers naturally produce as output. Cameras, scanners, screens and printers generally scan things in and out of memory as a bitmap. The scanning pattern is known for some odd reason as a raster.

What the RIP mainly does is vector to raster conversion.

Matrix Print and Character ROMs

Something similar to a RIP function is carried out in almost all print subsystems. Dot-matrix and inkjet technology tends to place the job in the printer driver. Laser printers usually do the task inside the printer.

A basic printer like a typewriter has a straight forward action - print a character using a fixed metal block and move one space along. Early computer printers did just the same.

A dot matrix printer doesn't have fixed metal type, it makes a pattern using a dot pattern (hence its name). For this it has a character generator ROM. The computer loads a line of text into the printer's memory. The print-head then sets off from the left margin and presuming that the first character is "A" the logic retrieves this and looks up in the character ROM the column of bits for the first part of the character. The ROM specifies pin 7, then pin 6 in the next column, then 5 then 4 and 5 then 3 and 5 as it traces out pixels of the rising diagonal and the bar that make the character.

Fixed typewriter like behaviour was all that could be done by machines with metal type like teleprinters and bandprinters. Dot matrix printers could do rather more in theory -  they could make characters bold, double width, double height and as things progressed they had some capability for fonts. Graphical capabilities became a sales point for dot-matrix printers.  Epson, who became the largest maker in the mid 1980s devised the  "Esc-P" language which became a bit of a standard. Many printer makers had their own special languages. HP devised PCL to do a similar job for their printer series. Green screen terminals had their own odd ways of doing a similar task, often called an "emulation" - one of the most famous is the VT100 command set used on IP networks by Telnet clients. A sort of struggle went on to free graphical devices from their text heritage.  The RIP is a stage in the journey.

Dot matrix printers can in theory produce any kind of graphics. In practice the dot matrix has some limitations.  A dot matrix printer or an inkjet will generally receive enough data to print one line before the carriage sets off from the left margin. (There have been designs that can print a character at a time if required, but these are rare.)  The dot-matrix device only needs to get enough data for one pass of its head across the page. For a 9-pin head at 100 dpi that is just 11,880 bits. Dot matrix printers used to have small memories so if the user wanted graphics the work of producing the image was done in the computer then transfered a few lines at a time to the printer by the graphics driver.

Inkjet printers inherit many of their characteristics from the dot matrix design; they just tend to make many more dots on a finer scale. A 100 channel inkjet at 4800 dpi needs a rather larger transfer of 3,840,000 bits from the computer. At the end of the line if more data isn't ready the printer just stops for a moment. It doesn't strictly matter if the user's computer starts doing something else, the printer will wait until the print-driver is allocated time. In a dot matrix device the limiting factor on maximum printer speed is the carriage and the number of pixels produced in one sweep. Low speed is set by how much processing power the users computer can supply. The printer will have a processor to control the motors and give some basic support for text output but it can often be weak - all it has to do is to keep up with what is needed at the printhead.

Laser Pages and Graphics

Laser printers are different in two ways.

Dot matrix printers struggle to produce graphics slowly and mechanically. The laser can simply paint anything in light on it's drum. So for instance if the user specifies a letter "A" in 500 point bold it may fill an entire page but the printer mechanism would be able to reproduce it as quickly as any other page-layout providing there was some agreed code or language to communicate the idea from the computer to the printer.

Laser print electronics must provide codes and graphic instructions to the laser quickly, because once the drum has started to turn it cannot  stop. The dot matrix and inkjet can stop at the end of a line, but the laser has to go on to the end of the page.

A laser printer cannot easily stop printing a page once it has started. The whole succession of gears that operate the pickup roller, drum, developer and fuser have to be synchronised with one another and to move at a constant speed, which in turn is synchronised with the polygon mirror. All these components have momentum and no natural stopping point. Because of this the printer’s control processor must be sure that all the data for the page makeup will be ready when it starts to print - things can't wait whilst the users computer recalculates a spreadsheet or fetches another burst of music from disk.

A laser printer generally needs all the data for the page before it starts to print at all.  At 300 dpi a page of A4 is about 8 million pixels or a megabyte - by historic standards quite a lot of information. At 600 dpi the amount of data quadruples, and using the CMYK colour process it quadruples again. A single A4 page in a colour printer can easily be 16 megabytes of data.

Either:

The computer has to calculate the pixel-pattern for the page and download it to the printer as a big bitmap exactly as needed for the laser. Winprinters tried this approach in the mid 1990s but it got something of a reputation for dramatically slowing computers down. There is more on this below.

Otherwise the computer communicates the page in a code and the printer makes up the layout in it's own memory.

Historically PCs only had a few tens of kilobytes of memory, a weak processor and a parallel port to communicate with the printer so the later approach became the standard.

Printers take in a task as codes over their communications interface. This was usually a parallel port and older parallel ports were limited to about 150,000 characters per second - a lot of text and vectors - but slow if the image is a bitmap.

The RIP

The raster image processor or "RIP" can then start building it's bitmap image of the page. The bitmap itself will be in memory. If there is enough memory then there may be a one to one correspondence between memory cells and pixels on the page. In older printers there would not be enough memory so the printer would hold the page in a compressed form using run length limited coding or suchlike.

The approach taken is similar to that used by the graphics adapter for the screen. A fixed font will be looked up in a ROM table. A proportional font will be held in ROM as vectors then a geometric transformation maps the vectors onto the bitmap image. If the user has specified a 500 point letter A then the vectors will be scaled accordingly and the character will fill most of the page. There might then be a question what to do with the remaining characters in 10-point - squeeze them in alongside or start another page. This is where the power of a page description language is needed. Much the same will be done with things like boxes and lines. Pure bitmaps like photographs will be passed more or less as they are and positioned - hence the delays in printing on highly graphical pages.

The larger the RIP memory the higher the resolution of the page can be. An A4 page at 300 dpi just about fits into 1 megabyte without compression. An A4 page at 600dpi needs 4 times as much memory and at 1200dpi multiply by four again. If the RIP processor is dealing with 4 times as much memory then it will need to be about 4 times faster to complete the task in the same time.

The power of the RIP used to be an issue in printer design. Slow old machines like the HPII use 68000 16 bit processors. The Ricoh / DEC LN03 used an 80186, the rather more recent Ricoh LP1200 used a 68030. The Compaq Pagemarq / Xerox 4025 series used the AMD29000 series RISC processors. The Minolta Colour PagePro uses an Intel 960. Older printers could be fitted with an upgrade hardware RIP but processors and memory are sufficiently cheap that it is rarely necessary now.

Older laser printers often have three circuit boards, each with a processor–

  • communications interface dealing with input / output
  • RIP taking printer control codes and turning them into a printable image
  • engine controller sequencing the operation of motors and clutches
All three processors can be working simultaneously, the coms interface filling a memory buffer, the RIP building the next page image and the engine controller reading the last page image out to the laser. The RIP is the largest, fastest, most memory-intensive processor in a printer. Until recently it was quite common for the printer RIP’s power to outpace the processor in users PCs.

The RIP needs this power because a page can contain a lot of pixels. An A3 (16 x 11) page at 2,400dpi contains 128 megabytes of data - and 4 times that for CMYK process colour. To hold an A3 page in bitmapped memory still takes as much RAM as the average user's PC has got - although using compression most printers function perfectly well with less.

The growth in RIP processor power and memory seems to be nearing an end. At about 2,400 dpi with 4 process colour a laser printed page looks as good as the best printed magazines and is pretty much photographic quality. Most lasers are currently somewhere short of this kind of quality but in a couple of years it will probably be standard.
 
 

Graphical Languages

What the RIP actually does with the page depends on how things are specified in the graphics language. Most of the printer languages used in the 1980s basically embedded a few graphical commands in a stream of text - or as a final option just took lines as a bitmap. Depending on how the printer drivers were written this could result in horribly slow reproduction of pages - and often there were all sorts of glitches.

John Warnock and Chuck Geschke spotted the problem with graphics and founded Adobe in 1982. They devised the "Postscript" language based on work Warnock had previously done for Evans & Sutherland and Xerox Parc. Steve Jobs of Apple visited Adobe and liked the idea, so he asked them to adapt it to work on a Canon print engine creating the Apple LaserWriter. The Apple LaserWriter set new standards when it appeared in 1985. Postscript was technically excellent and is still used but historically the licenses were quite expensive - it used to add about £300 to the price of a printer.

PostScript is actually a complete language - just a rather unconventional one using Reverse Polish Notation. It is normally handled by an interpreter on the printer. Because PostScript is a language in itself it is device independent - files output for one device should look the same on another.

Other manufacturers tried their own approaches. Kyocera had a language called "Prescribe" with the interesting property that users could fairly easily incorporate little graphics programs in text documents.

Hewlett Packard devised their own "PCL" Printer Command Language. PCL was first used on ThinkJets, dot matrix products and the early LaserJets in 1984 and has been revised several times, but generally with a view to having a common language across all HP products. PCL has been sufficiently popular that it has been adopted by a lot of other manufacturers so it has become a de-facto standard.

PCL is basically one of the escape code languages - that is the printer basically gets a stream of text but when it sees an escape character it knows to interpret the subsequent characters as commands. Commands available in the various versions of PCL include the HP-GL commands used to control plotters.
 
 
 

GDI Printers - No Need for a RIP?

Most computers have two graphics subsystems: one for the screen and another for the printer. This duplication is obviously questionable.

Any slight difference in implementaion will mean that things do not print as they appeared on the screen, which is not what users expect.

The printer subsystem is quite substantial - a laser printer RIP uses a fairly powerful processor and a lot of RAM.

The RIP appears in laser printers because their full graphical ability needs an uninterrupted stream of data for the laser. Inkjets and dot matrix printers can stop temporarily if need be, but a laser has to finish the page. Furthermore the printer maker isn't quite sure what computer the user will have, so the printer has to be a complete solution in itself.

One of the first laser printers to do without a RIP was the model that accompanied the NeXT Cube. Steve Jobs took to the idea of PostScript so the NeXT machine not only used it for printing but used Display PostScript to control the screen. This meant that when it came to printing the job was run in the computer and the printer just got a bitmap. NeXT could do this because the printer was only for use with their own computers.

When Microsoft Windows took off in the early 1990s a new generation of printers using the PC processor to do the work of the raster image processor appeared as "Winprinters" or GDI printers.

These machines rely on the Microsoft Windows Graphics Device Interface for their print capabilities. Microsoft has since e-defined their graphics interface - but the name still sticks.

GDI construction reduces the amount of electronics needed in the printer because the user’s computer acts as a Raster Image Processor (RIP). Early GDI printers on the Pentium 100 / 16Mb  machines of the day got a bit of a reputation for slowing machines down or creating crashes. This was partly that machines had too little memory and partly the rather erratic nature of Windows 9X and the computers of the time.

In principle the printer could be an engine with scarcely any electronic components – control for the motors could come from the PC.

The GDI approach to printer construction seems to make a lot of sense

  • PCs based on powerful processors, with ample memory running Microsoft Windows graphical operating system are in widespread use.

  • Faster interfaces such as EPP, USB and Gigabit Ethernet make communicating large amounts of data from computer to print-engine practical.

  • There is no need for the duplicate expense of a powerful processor and large memory on the desktop and in the printer RIP.

  • Driver programs in the computer have close control over the printer – so if there are any unsatisfactory aspects to printer operation (as often happens) upgrading is just a matter of downloading new drivers from the Internet.

  • Users want more complicated tasks from printers:– forms layouts, colour on overhead transparencies, full colour pictures, use of specialist inks. New needs can be met by a complicated printer control panel – but it is better to build the control into a local PC.

  • Printers are often difficult to control. A graphical representation of the printer and its works on the screen is likely to be more help than LCD panels and flashing lights– putting the manual into on-line help files might also be useful.

  • The Internet makes it possible for manufacturers to support upgraded printer firmware and drivers without the need for human technical support. Some large printers might benefit from remote diagnostics.

The GDI idea also brings problems

  • Reliance on the computer operating system can be very heavy. The first generation of GDI printers were designed for MS-Windows 3.1 and usually did not work under Windows 95 and ’98. The printer manufacturer might provide updated drivers for printers two years old – they are not likely to do so when five years has passed and the printer is "obsolete". This means users can need a new printer when they upgrade the software on their PCs.

  • There may be no support at all for Apple Mac and Linux. Things have inproved in the last few years - manufacturers are beginning to accept that some people just don't want Windows.

  • There may be no support for Microsoft NT and XP. To get the graphics drivers to operate quickly Microsoft allowed them to run in "Kernel" mode on the processor – a potential breach of NT’s integrity. If print-drivers do the same the integrity of NT begins to spring holes.

  • The extra load of the print-process on the computer may or may not be perceptible. A user with a GDI printer may set a print task away and then wait to do anything else. If the printer is available on a network then the computer user will notice a slow-down when someone else uses the printer.

  • If the computer crashes then the printer crashes too – not desirable in a network printer. Microsoft Windows generally seems more crash-prone the more tasks it is asked to do, so GDI printers are likely to cause crashes.

In practice most Inkjets could be counted as GDI printers - most of the features rather rely on Microsoft Windows drivers. Epson printers usually incorporate an emulation of one of their older printers as a fallback for other operating systems.

Whether the GDI idea continues to make sense is questionable. The cost saving on processor power and RAM used to be substantial but progress in semiconductor design means that the eal saving now is just a few tens of dollars - the price of a medium power instrumentation type computer. GDI printers need to use a standard communications port and to sequence the clutches and motors that control the passing of paper, so some electronics are needed to support this.

In practice the extra cost of putting a powerful processor and raster image RAM amongst the electronics in a printer has become a minor problem. The price of all electronic components falls with time and it may be easier to standardise on having a RIP than to confuse the market by sometimes leaving it out.

 

Specialist RIPs

There are a variety of special purpose RIPs. Older devices are generally based on PowerPC or other fast processors with a lot of memory. Sometimes the RIP is software running on a PC. They generally connect into laser printer engine control boards bypassing the normal communications interface and built-in RIP.

The purpose is usually to extract better performance from the printer - which can be a matter of speeding up output or increasing the print resolution.

RIP devices are still used for several reasons:

Giving inkjet printers PostScript capabilities - this can be done by a "software RIP" or a plug-in hardware device.

Proividing things like colour proofing and halftone separations in pre-press proofing.

RIPs used in design and print proofing typically operate an A1 inkjet plotter in a carefully calibrated fashion that matches what the platemaker and offset litho presses will do.