PCL and printer drivers ???

P

Peter Olcott

I am trying to understand how PCL and printer drivers work. There is one crucial
detail that I must fully understand. At exactly what stage in the process of
sending data from an application to a printer driver and from the printer driver
to the printer is the data converted from typeface names and text into the
printed black dots that form the printer's Dots Per Inch (DPI) pixels?
 
W

Warren Block

Peter Olcott said:
I am trying to understand how PCL and printer drivers work. There is one crucial
detail that I must fully understand. At exactly what stage in the process of
sending data from an application to a printer driver and from the printer driver
to the printer is the data converted from typeface names and text into the
printed black dots that form the printer's Dots Per Inch (DPI) pixels?

It depends on the application and printer driver. A PCL printer can
handle both text marked up with PCL escape codes and graphics.

But some operating systems and printer drivers choose to do their own
rendering of text, creating a large bitmap for the whole page and
sending it all as graphics.

Both methods have tradeoffs, often depending on the document being
rendered.
 
P

Peter Olcott

Warren Block said:
It depends on the application and printer driver. A PCL printer can
handle both text marked up with PCL escape codes and graphics.

But some operating systems and printer drivers choose to do their own
rendering of text, creating a large bitmap for the whole page and
sending it all as graphics.

Both methods have tradeoffs, often depending on the document being
rendered.

What about the case where a word processing package is printing a file using
True Type Fonts? I found this article after I posted this question:

http://computer.howstuffworks.com/laser-printer5.htm

This article seems to say that the data sent in this case contains no text, only
vector data.

These days, you might have hundreds of different fonts to choose from, and you
wouldn't think twice about printing a complex graphic. To handle all of this
diverse information, the printer needs to speak a more advanced language.

The primary printer languages these days are Hewlett Packard's Printer Command
Language (PCL) and Adobe's Postscript. Both of these languages describe the page
in vector form
 
W

Warren Block

Peter Olcott said:
What about the case where a word processing package is printing a file using
True Type Fonts? I found this article after I posted this question:

http://computer.howstuffworks.com/laser-printer5.htm

This article seems to say that the data sent in this case contains no text, only
vector data.

Still the same. The computer can render the bitmap itself, or pass
information to the printer to allow it to do the rendering. If the
printer is doing the rendering, the computer has to convert any
additional fonts to a format the printer can use and include them with
the print job.

PCL, at least last I looked, is not vector-based. PCL 6 has scalable
fonts, but that's about it. PostScript is a different matter. You can
draw anything at any angle and scale factor.
 
W

Warren Block

Warren Block said:
PCL, at least last I looked, is not vector-based. PCL 6 has scalable
fonts, but that's about it. PostScript is a different matter. You can
draw anything at any angle and scale factor.

Just an update: it appears that some versions of PCL 6 (PCL XL) may be
vector-based. Still doesn't sound like a replacement for PostScript,
though.
 
J

jasee

Warren Block said:
Just an update: it appears that some versions of PCL 6 (PCL XL) may be
vector-based. Still doesn't sound like a replacement for PostScript,
though.

I thought PCL6 was simply and updated version of PCL5 to include more
features and better colour printing (for instance)?
As they are languages, they send the data in vector _and_ partially
resolved form to the printer see:

http://h20000.www2.hp.com/bizsupport/TechSupport/Document.jsp?objectID=bpl05546

(for the vector part)

Postscript to me is more confusing. AFAICT, windows drivers (as supplied by
MS) are either postcript not depending on whether they using using
unidrv.dll or pscript5.dll.

For instance, I have two printers for my ancient hp4si, one is a postscipt
driver by the above standard and the other isn't. However, my printer has
postscript installed (as an option) in it, however I'm not sure how these
feaures interact with each other or the postcript installed in the printer.
The main visible difference between the two sets of drivers is that the
postcript driver gives a few extras options.

IIRC postcript was originally an Adobe feature to render fonts more
accurately.
 
P

Peter Olcott

jasee said:
I thought PCL6 was simply and updated version of PCL5 to include more features
and better colour printing (for instance)?
As they are languages, they send the data in vector _and_ partially resolved
form to the printer see:

http://h20000.www2.hp.com/bizsupport/TechSupport/Document.jsp?objectID=bpl05546

(for the vector part)

Postscript to me is more confusing. AFAICT, windows drivers (as supplied by
MS) are either postcript not depending on whether they using using unidrv.dll
or pscript5.dll.

For instance, I have two printers for my ancient hp4si, one is a postscipt
driver by the above standard and the other isn't. However, my printer has
postscript installed (as an option) in it, however I'm not sure how these
feaures interact with each other or the postcript installed in the printer.
The main visible difference between the two sets of drivers is that the
postcript driver gives a few extras options.

IIRC postcript was originally an Adobe feature to render fonts more
accurately.
If you aren't sending postscript to the printer, then the postscript is not
used. Most MS Windows applications do not send postscript to the printer. What I
want to know is exactly how does a printer support many more fonts than can be
installed on the printer, for example how does the printer handle the entire set
of True Type Fonts?

New True Type Fonts can be created every day, so there is no way that these can
already be installed in ROM. Are they downloaded from the computer during
printing, or does MS Windows simply send pixels to the printer, or is it
something else like sending vectors to the printer? I think that the answer to
these questions vary depending upon which version of PCL is used.
 
W

Warren Block

jasee said:
I thought PCL6 was simply and updated version of PCL5 to include more
features and better colour printing (for instance)?
As they are languages, they send the data in vector _and_ partially
resolved form to the printer see:

http://h20000.www2.hp.com/bizsupport/TechSupport/Document.jsp?objectID=bpl05546

(for the vector part)

They're talking about HPGL there, which is a relic from the days of HP
plotters. Yes, it's vector-based, and yes, I think it's included with
at least some PCL renderers, but I also don't think it's used much.
For instance, I have two printers for my ancient hp4si, one is a postscipt
driver by the above standard and the other isn't. However, my printer has
postscript installed (as an option) in it, however I'm not sure how these
feaures interact with each other or the postcript installed in the printer.
The main visible difference between the two sets of drivers is that the
postcript driver gives a few extras options.

IIRC postcript was originally an Adobe feature to render fonts more
accurately.

PCL and PostScript come from two different worlds of thought on how to
go about describing what should be on the printed page. PCL (5, anyway)
is more of a markup language, with escape codes that you embed in the
text to control formatting and fonts. It can also take bitmaps.

PostScript is a complete programming language. It's oriented to drawing
pages. A driver (or programmer) actually writes a program to draw the
page. It sounds more complicated, but is actually easier and a lot more
efficient for many pages.

PCL and PostScript don't really interact. A given print job can be
either one or the other.
 
W

Warren Block

Peter Olcott said:
If you aren't sending postscript to the printer, then the postscript is not
used. Most MS Windows applications do not send postscript to the printer. What I
want to know is exactly how does a printer support many more fonts than can be
installed on the printer, for example how does the printer handle the entire set
of True Type Fonts?

New True Type Fonts can be created every day, so there is no way that these can
already be installed in ROM. Are they downloaded from the computer during
printing, or does MS Windows simply send pixels to the printer, or is it
something else like sending vectors to the printer?

With Windows and PCL, it's usually the computer that does the rendering,
so it uses the TrueType fonts internally and is just sending pixels to
the printer.

If you use PostScript, there's an option in the driver to either send
TrueType fonts as bitmaps or convert them and include them in the print
job as PostScript fonts.
I think that the answer to these questions vary depending upon which
version of PCL is used.

It could, particularly if you use PCL 6.
 
P

Peter Olcott

Warren Block said:
With Windows and PCL, it's usually the computer that does the rendering,
so it uses the TrueType fonts internally and is just sending pixels to
the printer.

Does this statement disagree with what you said, or am I missing something?
http://en.wikipedia.org/wiki/Printer_Control_Language
PCL 5e (PCL 5 enhanced) was released on the HP LaserJet 4 in Oct 1992 and added
bi-directional communication between the printer and the PC and Windows fonts.
 
J

jasee

Peter said:
If you aren't sending postscript to the printer, then the postscript
is not used. Most MS Windows applications do not send postscript to
the printer.

Postscript is simply a different method of sending the same information to a
printer, you can use it or not, if you look at the hp site (for instance)
you can use either types of drivers. If you look at the drivers supplied
with XP (for instance), many of them have alternative PS drivers. And they
both types print from all Windows applications (of course)
 
J

jasee

Warren said:
PCL and PostScript don't really interact. A given print job can be
either one or the other.

Yes, you can see that from the printer drivers used, they're either
postscript or not.
 
W

Warren Block

Peter Olcott said:
Does this statement disagree with what you said, or am I missing something?
http://en.wikipedia.org/wiki/Printer_Control_Language
PCL 5e (PCL 5 enhanced) was released on the HP LaserJet 4 in Oct 1992 and added
bi-directional communication between the printer and the PC and Windows fonts.

I don't think it disagrees except that they're probably right that it
was PCL5e that added font scaling, and not PCL6.
 
P

Peter Olcott

Warren Block said:
I don't think it disagrees except that they're probably right that it
was PCL5e that added font scaling, and not PCL6.

If the printer can always download the fonts from the computer, then there is
never a case where the computer needs to do the rendering, and it would not do
so because this requires at least 100-fold more data.
 
W

Warren Block

Peter Olcott said:
If the printer can always download the fonts from the computer, then there is
never a case where the computer needs to do the rendering, and it would not do
so because this requires at least 100-fold more data.

Lack of fonts is not the only reason to render a page on the computer.
The computer usually has more disk space, more memory, and a faster
processor than the printer. Depending on the image, it can be faster to
render it on the computer and transfer the whole bitmap rather than just
rendering it on the printer.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top