[comp.lang.postscript] Apple Pref 5.2 6.0 diffs

henry@hutto.UUCP (Henry Melton) (10/22/89)

I made a design error in a recent reporting program by including
captured postscript images from a Macintosh.  It worked quite well, with
my hand-coded postscript and the Mac images printing correctly on the
LaserWriter II NTX.  Then, we changed from the version 5.2 of
LaserWriter to 6.0.  Now, all of my captured postscript is invalid, and
nothing prints.  I am squeaking by this deadline by temporarily
reloading the 5.2 software into the printer, but very soon now I will
have to re-do all the artwork ... unless there is a quick compatibility
fix I can insert into the files that will let the 5.2 created images
still run under the 6.0 driver.

Does anyone know if this is the case?  It would save me a _lot_ of work
if it were so.

-- 
Henry Melton ...!cs.utexas.edu!ut-emx!hutto!henry
1-512-8463241 Rt.1 Box 274E Hutto,TX 78634

jonabbey@walt.cc.utexas.edu (Jonathan Abbey) (10/23/89)

In article <761@hutto.UUCP> henry@hutto.UUCP (Henry Melton) writes:
>
>
>I made a design error in a recent reporting program by including
>captured postscript images from a Macintosh.  It worked quite well, with
>my hand-coded postscript and the Mac images printing correctly on the
>LaserWriter II NTX.  Then, we changed from the version 5.2 of
>LaserWriter to 6.0.  Now, all of my captured postscript is invalid, and
>nothing prints.  I am squeaking by this deadline by temporarily
>reloading the 5.2 software into the printer, but very soon now I will
>have to re-do all the artwork ... unless there is a quick compatibility
>fix I can insert into the files that will let the 5.2 created images
>still run under the 6.0 driver.

Along these lines, could someone summarize for me the role of the AppleDict?
Specifically, I have a MacDrawII drawing dumped using Apple's QuickDraw
dictionary macros, and it will not print correctly on LaserWriters using
older drivers (the drawing is a logo with a ring of letters perpendicular
to the tangent of the circle.. on the old drivers, these letters only come
out at 90 degree increments).. is the AppleDict driver dependent?  Can I
dump the AppleDict to laserwriters with older drivers in a save/restore pair?

This drawing will be used as part of a bulletin that will be generated on
a Unix machine and dumped to 12 LaserWriters of various types throught a lab.

Any help would be appreciated.. I would also appreciate any information as
to what literature I should obtain for more information.. we have the Adobe
Red Book, but that's it.

Thanks!



  // /\   /\/\   | Jonathan Abbey - jonabbey@doc.cc.utexas.edu - (512) 926-5934
\X/ /  \ /    \  | Wanted: Programmers interested in 3d graphics/modem games.

rsilverman@eagle.wesleyan.edu (10/24/89)

In article <19946@ut-emx.UUCP>, jonabbey@walt.cc.utexas.edu (Jonathan Abbey) writes:

> Along these lines, could someone summarize for me the role of the AppleDict?
> Specifically, I have a MacDrawII drawing dumped using Apple's QuickDraw
> dictionary macros, and it will not print correctly on LaserWriters using
> older drivers (the drawing is a logo with a ring of letters perpendicular
> to the tangent of the circle.. on the old drivers, these letters only come
> out at 90 degree increments).. is the AppleDict driver dependent?  Can I
> dump the AppleDict to laserwriters with older drivers in a save/restore pair?
> 

Jonathan,
	The Apple PostScript dictionary ("md") is kept in the file Laser Prep
which comes with the LaserWriter driver.  Basically, it is a set of procedures
and definitions on which the LaserWriter driver depends as it is generating
code.  Some are just abbreviations, others implement functions that help bridge
the differences between QuickDraw and PostScript.  Since applications are
presumed to all use the Print Manager (and therefore the Apple's LW driver),
rather than send the whole dictionary with every job, it is downloaded
"permanently" (until next time the interpreter restarts) by the driver if it
detects that it is not there.
	The upshot of this is that if you capture the output from the driver,
you must also know what version of the LaserPrep it depends on.  If you do the
capture by holding down the K key instead of the F key just after starting to
print, the contents of the dictionary will be prepended for you -- this is
probably the best way to go.  It will necessary to do a save/restore if this is
the only thing in your job; each job is surrounded by an implicit save/restore.
	I don't know of any documentation available from Apple on the mechanics
of LaserPrep -- we all get what we need to know by (gulp)... reading it :-) 
There is, however, the book "Inside LaserWriter" from Apple, which documents
the structures and mechanisms used by the LW driver in mapping fonts, using
width tables, font coordination, etc.

                                                Richard Silverman

arpa:	rsilverman@eagle.wesleyan.edu           Systems Engineer
bitnet:	rsilverman@wesleyan.bitnet              AM Computer Products
CIS:	[72727,453]                             Southington, CT 06489

seymour@milton.acs.washington.edu (Richard Seymour) (10/24/89)

i was going to ask about this myself, but in a different way...

In article <761@hutto.UUCP> henry@hutto.UUCP (Henry Melton) writes:
>
>captured postscript images from a Macintosh.  It worked quite well, with
>my hand-coded postscript and the Mac images printing correctly on the
>LaserWriter II NTX.  Then, we changed from the version 5.2 of
>LaserWriter to 6.0.  Now, all of my captured postscript is invalid, and

what you are seeing is a change in Apple's Prep header (from Dict 65
to Dict 68) -- we are having the same problem.
on a VAX VMS system we usually download the old (Mac v5.x) Prep file,
and then can happily print %K-captured documents (on a LaserWriter II/ntx)
But if the source Mac is running v6.x, with the current Perp, we cannot.
We also workaround by putting the old LaserPrep on the Mac, and then everything works
(yes, we can run v6.x of system/finder, and have the LaserPrep be v5)
All attempts to get the new header to work haven't.
Among the tripups: there's a counted-byte string redefining some
 very basic PostScript verb (i think "get").  getting that into the
 LaserWriter unscathed was an amusement...
We at least got the system down to where it stop[ped sending back 
 "illegal command" error messages, etc.  Now it just happily
swallows the document (green light blionking serenely), and then
nothing.  the light stops and no paper nor error message(s) appear.
the next piece of normal PostScript gets thru just fine.
any help would be greatly appreciated...
-- dick seymour     206-543-4298
  seymour@uwaphast.bitnet     seymour@phast.phys.washington.edu