[comp.periphs.printers] Graphics on HP Deskjet 500

maurice@sol8.cs.monash.edu.au (Maurice David Castro) (06/05/91)

Having recently purchased an HP DeskJet 500, and having recovered from the
shock of having a quiet printer that turns out lovely output, I have now 
started on software development. 

Unfortunatelty, I have discovered a slight problem in the user manual:
although it describes the printer control language itself, it leaves
out certain critical elements to do with the format of the graphics
command. 

In summary:

	* What is the format for plain (ie non-compressed) data transfer?
	* If the various compression schemes are known what are they?
	* Is the technical reference manual (which HP does not supply
	  with the system) really useful?

Thanks in advance for your assistance.

	Maurice Castro
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
maurice@bruce.cs.monash.edu.au
Monash University Clayton Victoria Australia.

oovvoo@mixcom.COM (Mike Shawaluk) (06/06/91)

In <maurice.676102676@sol8> maurice@sol8.cs.monash.edu.au (Maurice David Castro) writes:

>In summary:

>	* What is the format for plain (ie non-compressed) data transfer?
>	* If the various compression schemes are known what are they?
>	* Is the technical reference manual (which HP does not supply
>	  with the system) really useful?

Hmmmm, I seem to remember posting something to the same effect as this
message a few months ago, and promising to post a followup when I had more
information; thank you Maurice for jogging my memory...

I did in fact order the tech. reference manual for the DJ 500, and when it
arrived, I eagerly read through it, and found it to be quite informative
(BTW, it cost $15.00 plus s/h and my home state's sales tax (WI)), at least
in regard to the information on the various graphics dump commands.
However, one key area which was NOT covered was the soft font format, as
well as the widths of the CG Times characters, which I needed for a word
processor printer driver I was modifying.  I quote the following paragraph
from page 7-8 of said tech. reference manual, in the section titled "Soft
Fonts" (without permission, of course):

"CREATING SOFT FONTS

 The escape sequences for creating soft fonts are not detailed in this
 manual due to the length and depth of information required.  The following
 escape sequences are not described.

		 Create font          Ec )s # W (font descriptor)
		 Download Character   Ec (s # W (descriptor and data)

 If you are a software developer wishing to create soft fonts for the HP
 DeskJet 500 printer, Hewlett Packard encourages you to join the HP
 Peripherals Developer Program.  Detailed information for developing soft
 fonts is available through the HP Peripherals Developer Program.  To
 receive more information about the program and to obtain an application
 packet, contact the HP Peripherals Developer Program Coordinator at
 (619) 592-8308."

Well, I called this number right away, and explained that I was extremely
upset after purchasing their fine printer, and discovering that the supplied
manual didn't tell me everything I wanted to know, so I then purchased their
fine tech. reference manual, which STILL didn't tell me everything I wanted
to know!  The person I spoke to asked me for my name and address, and told
me that my developer's packet would be in the mail shortly, and that there
was no charge for it!  It arrived a few days later, and included an extra
copy of the owner's manuals AND a large (8.5x11) spiral bound manual,
complete with 3 5.25" HD diskettes with character width tables for ALL of
the internal and soft fonts and cartridge fonts that they offer.  The manual
has sections for graphics, fonts, and lots of other stuff, like how to do
merged text & graphics.  It is also a cross reference of features and
techniques for all 3 DeskJet printers (the original, Plus, and 500 models).
In summary, if I would have known that all of this information was just a
phone call away, I probably wouldn't have ordered the tech. reference
manual, since the information on graphics dumps is also in the developer's
manual, although in more terse technical terms (which I have no problem
understanding, since I'm a software engineer).

I should also mention that there is a questionairre which was included which
HP requests be filled out and returned to them, to let them know what kind
of product(s) you are developing, if you want to take advantage of the full
range of services of their developer program, which includes -- oh well,
time to quote another part of the tech. reference manual:

"This manual is not the preferred text for software developers.  If you are
 a software developer wishing to create a printer driver for the HP DeskJet
 500 printer, Hewlett-Packard encourages you to join and take advantage of
 the HP Peripheral Developer Program.  The program offers the following:

	 - Detailed development information for all HP peripheral products.

	 - Online technical support for program developers.

	 - Loaner printer units for test and development of your program, and for
		 use at tradeshows.

	 - A quarterly newsletter to keep you informed of the latest peripheral
		 product news."

(They then repeat the phone # for obtaining a application packet)

Now, I don't know whether they automatically sent me more than the standard
application form, because I was unhappy when I called, but I guess it's
worth a phone call to find out.

Sorry for the somewhat long post, but just another happy HP customer here.
Hope this was helpful.

	- Mike
-- 
  - Mike Shawaluk (oovvoo@mixcom.com)       "It is a good day to live."

tony@sdd.hp.com (Tony Parkhurst) (06/08/91)

 
|> Unfortunatelty, I have discovered a slight problem in the user manual:
|> although it describes the printer control language itself, it leaves
|> out certain critical elements to do with the format of the graphics
|> command. 

The user manual is definately inappropriate for this.  Most users will never
actually do PCL programming.

 
|> In summary:
 
|> 	* What is the format for plain (ie non-compressed) data transfer?

<esc>*rA         Initiates graphics.

<esc>*b#W<data>  Where # is the number of bytes of binary data following
		 the 'W' which describes one row of graphics.
		 (this command repeats for the entire graphic).

<esc>*rB	End raster graphics.
<esc>E		Finish printing page, eject page and reset printer.

Note:  Don't put newlines or carridge returns between these commands.


|> 	* If the various compression schemes are known what are they?

For the DeskJet and DeskJet+:  Modes 0, 1 and 2
For the DeskJet 500:  Modes 0, 1, 2 and 3

Mode 0 is uncompressed.
Mode 1 is run length encoded.
Mode 2 is a combo of modes 0 and 1 (called TIFF tag bits ?)
Mode 3 is delta row encoding.

I have posted a program to comp.sources.misc which reads in PCL graphics
files and compresses (or decompresses) the graphics.

|> 	* Is the technical reference manual (which HP does not supply
|> 	  with the system) really useful?

Yes, indeed it has all the info you need.


--
		Tony Parkhurst	( tony@sdd.HP.COM )

"free people need no drug laws" -- James A. Parker