TweetFollow Us on Twitter

March 93 - PRINT TIPS

PRINT TIPS

LOOKING AHEAD TO QUICKDRAW GX

PETE ("LUKE" ALEXANDER

[IMAGE 052-053_Print_Hints_rev1.GIF]

With the release of QuickDraw GX later this year, there are a few changes in store for print land. In this column, I'm going to talk about two of these changes -- the disappearance of the PDEF 10 resource from the QuickDraw GX LaserWriter driver, and the disappearance of the 'STR ' (-8192) and 'PAPA' (-8192) resources from a system running QuickDraw GX.

Like most changes, the fact that these resources are going away is both good news and bad news. The good news is that printing is going to work much better in the GX world than it does today. For one thing, the new printer driver architecture provides functionality that used to be unavailable through the Printing Manager, which is why people got involved in directly grabbing resources in the first place. The bad news is that if youare currently grabbing these resources, you're going to have some problems running under QuickDraw GX, and you need to decide now how you're going to deal with this.

Before we get into solutions, however, let's back up a bit, and answer the question, What's a PDEF, anyway? A PDEF is just a code resource for printer drivers. All printer drivers contain multiple PDEFs, each of which implements a piece of the driver's functionality, like displaying dialog boxes or alerts. PDEF 10 contains the printer access protocol (PAP) code that enables a LaserWriter driver to communicate with a network printer. (For details about the interface to PAP, see Chapter 10, "Printer Access Protocol," inInside AppleTalk.) Some applications that need the PAP code have acquired it by sucking PDEF 10 out of the LaserWriter driver. Before Apple put together its PAP software licensing package, grabbing PDEF 10 like this was a quick and easy way to get what you needed. But it's an approach that's unsupported by Apple and that has always carried the seeds of compatibility problems.

So what should you do if you're currently grabbing PDEF 10 out of the LaserWriter driver? You've got the following possible solutions:

  • Continue to grab PDEF 10, but make sure you're prepared to handle failure gracefully when you can't get it. Basically, you'll need to let the user know that your application isn't compatible with the version of system software being used -- that is, the QuickDraw GX-based system. Not a very user-friendly solution, but that might be OK for your application.
  • If all you need to do is download a PostScriptTM file to the LaserWriter, use the PostScriptHandle PicComment and a basic print loop. Most applications need to do a lot more than send a bunch of PostScript code down the pipe -- for instance, they need to set the characteristics of the PostScript printer -- but if your application's needs are really this limited, it can be happy in the GX world. If you're interested in this approach, take a look at the Technical Notes "A Printing Loop That Cares . . ." and "PicComments -- The Real Deal." You can also look at the PostScriptHandleDemo snippet in the Snippets folder on theDeveloper CD Seriesdisc.
  • Write your own PAP interface files. This is a relatively time-consuming operation, but it gives you total ownership of the code, and your application is unlikely to break with future system software releases. Quite a few developers have had success with this approach.
  • License Apple's PAP library code -- the same library that's used within the LaserWriter Font Utility. The latest version (v. 1.5) of the library improves on the last version and has more complete documentation. If you're interested in licensing this library, please contact

    Software Licensing
    Apple Computer, Inc.
    20525 Mariani Avenue, M/S 38-I
    Cupertino, CA 95014
    AppleLink: SW.LICENSE
    Phone: (408)974-4667
  • Use Apple's LaserWriter Font Utility and add your custom features to it. In System 7, the LaserWriter Font Utility can handle drop-in enhancements called UTILs. UTILs take care of all the communication issues for you, and they give you quite a bit of power and flexibility. If you're interested in this approach, take a look at "PostScript Enhancements for the LaserWriter Font Utility" in Issue 10 ofdevelop.

At this point, you're probably wondering which solution is the best for you. It all depends on your requirements. From my point of view, any solution besides the first is acceptable if it will keep your users happy and keep you compatible with future system software releases.

Now let's turn to the disappearance of the 'STR ' (-8192) and 'PAPA' (-8192) resources. On a non-QuickDraw GX system, the 'STR ' resource contains the name of the currently chosen printer driver, while the 'PAPA' resource contains the name and network address of the current PAP printer. Because QuickDraw GX will allow more than one active printer at a time, these resources will become obsolete.

Why is this a problem? Only because some applications currently grab the 'STR ' and 'PAPA' resources to automatically select a printer without going through the Chooser. Under QuickDraw GX, it will be possible to redirect a print job to another printer via the Printing Manager's public API. So new applications and applications revised to work under QuickDraw GX will be able to programmatically redirect print jobs on the fly in a clean, supported manner.

If your application isn't GX-smart, the simplest way to deal with the disappearance of the 'STR ' and 'PAPA' resources is probably just to remove your application's feature of circumventing the Chooser. If your application absolutely requires this functionality, however, make sure that when these resources aren't available, you tell the user to go use the Chooser. This way your application will print on a QuickDraw GX system without any problems.

This column has looked at a couple of compatibility problems that can emerge when non- QuickDraw GX applications run under QuickDraw GX, and also at some of the ways that you can avoid these problems. As long as you're prepared to implement one of the solutions recommended here, your application will run just fine under QuickDraw GX. And on the bright side, QuickDraw GX is going to allow your application to access and control a vast amount of information at print time. QuickDraw GX will provide the API your application requires to take care of all the user's printing needs without having to cruise through printer driver or system resources. You asked for it, and soon you'll have it!

REFERENCES

  • Inside AppleTalk (Addison-Wesley, 1990), Chapter 10, "Printer Access Protocol."
  • Macintosh Technical Notes "PicComments -- The Real Deal" (formerly #91), "A Printing Loop That Cares . . . " (formerly #161), and "Printer Access Protocol Q&As" under "Using PAP & code for finding printer driver under System 7."
  • "PostScript Enhancements for the LaserWriter Font Utility" by Bryan K. Ressler, develop Issue 10.

PETE ("LUKE") ALEXANDER In the winter, Luke likes to hit the cross-country ski tracks. There you'll find him striding across meadows and down hills on long strips of fiberglass. One day he agreed to a "small" uphill ski at a friend's urging, only to discover halfway into it a virtually vertical two-mile climb! Weighing the risks of descending uncontrollably from there versus continuing on, Luke forged ahead, arriving at the summit an hour (and a lot of side stepping) later. Since then, he's been particularly wary of e-mails beginning "Dear Luke, I have this small printing problem."*

Grabbing the PAP driver from PDEF 10 is described both in the Macintosh Technical Note "Printer Access Protocol Q&As" under "Using PAP & code for finding printer driver under System 7" and in the article by Mike Schuster called "Laser Print DA for PostScript" in MacTutor Volume 2, Number 2.*

To find out whether the QuickDraw GX Printing Manager is installed, call the Gestalt function with the 'pmgr' selector. *

Thanks to Hugo Ayala, Tom Dowdy, Dave Hersey, Jim Luther, and Scott ("Zz") Zimmerman for reviewing this column. *

 

Community Search:
MacTech Search:

Software Updates via MacUpdate

Is there cross-platform play in slither....
So you've sunken plenty of hours into crawling around in slither.io on your iPhone or iPad. You've got your stories of tragedy and triumph, the times you coiled four snakes at one time balanced out by the others when you had a length of more than... | Read more »
Rodeo Stampede guide to running a better...
In Rodeo Stampede, honing your skills so you can jump from animal to animal and outrun the herd as long as possible is only half the fun. Once you've tamed a few animals, you can bring them home with you. [Read more] | Read more »
VoxSyn (Music)
VoxSyn 1.0 Device: iOS Universal Category: Music Price: $6.99, Version: 1.0 (iTunes) Description: VoxSyn turns your voice into the most flexible vocal sound generator ever. Instantly following even subtle modulations of pitch and... | Read more »
Catch Battleplans on Google Play from Ju...
Real-time strategy title Battleplans is due for release on Google Play on June 30th, following its release for iOS systems last month. With its simple interface and pretty graphics, the crowd-pleaser brings a formerly overlooked genre out for the... | Read more »
iDoyle: The interactive Adventures of Sh...
iDoyle: The interactive Adventures of Sherlock Holmes - A Scandal in Bohemia 1.0 Device: iOS Universal Category: Books Price: $1.99, Version: 1.0 (iTunes) Description: Special Release Price $1.99 (Normally $3.99) | Read more »
Five popular free apps to help you slim...
Thanks to retail and advertising, we're used to thinking one season ahead. Here we are just a week into the summer and we're conditioned to start thinking about the fall. [Read more] | Read more »
How to ride longer and tame more animals...
It's hard to accurately describe Rodeo Stampede to people who haven't seen it yet. It's like if someone took Crossy Roadand Disco Zoo and put them in a blender, yet with a unique game mechanic that's still simple and fun for anyone. [Read more] | Read more »
Teeny Titans - A Teen Titans Go! Figure...
Teeny Titans - A Teen Titans Go! Figure Battling Game 1.0.0 Device: iOS Universal Category: Games Price: $3.99, Version: 1.0.0 (iTunes) Description: Teeny Titans, GO! Join Robin for a figure battling RPG of epic proportions! TEENY... | Read more »
NinjAwesome: Tips and tricks to be a mor...
Sorry about that headline, but I'm going to go ahead and assume that GameResort would not have named its game NinjAwesome without expecting some of that. It is, in fact, pretty awesome the way it combines an endless runner and old school arcade... | Read more »
Into Mirror (Games)
Into Mirror 1.0 Device: iOS Universal Category: Games Price: $1.99, Version: 1.0 (iTunes) Description: "Is all that we see or seem, but a dream within a dream?"- Edgar Allan Poe New game by Lemon Jam Studio, the team behind Pursuit... | Read more »

Price Scanner via MacPrices.net

Haven App Launches New Age Of Wirless 911 Eme...
Haven from RapidSOS represents a transformation in access to emergency services from a phone call solely dependent on voice to a robust data connection for voice, text, medical/demographic data.... Read more
Cu Parachute 1.1 Retirement Success PLanning...
Tucson, Arizona based Indie developer Bradley McCarthy has announce the release of Cu (Copper) Parachute 1.1 for iPhone, iPad, and iPod touch devices — a tool with which users can continuously... Read more
Research and Markets Releases iPhone 6s Plus...
A new analysis report from Dublin-based Research and Markets observes that with the iPhone 6s Plus, Apple introduced a new rear camera module. The new device has similar structure and technology than... Read more
Apple refurbished Retina MacBook Pros availab...
Apple has Certified Refurbished 2015 13″ and 15″ Retina MacBook Pros available for up to $380 off the cost of new models. An Apple one-year warranty is included with each model, and shipping is free... Read more
Apple refurbished 11-inch MacBook Airs availa...
Apple has Certified Refurbished 11″ MacBook Airs (the latest models), available for up to $170 off the cost of new models. An Apple one-year warranty is included with each MacBook, and shipping is... Read more
Apple price trackers, updated continuously
Scan our Apple Price Trackers for the latest information on sales, bundles, and availability on systems from Apple’s authorized internet/catalog resellers. We update the trackers continuously: - 15″... Read more
12-inch 32GB and 128GB WiFi iPad Pros on sale...
B&H Photo has 12″ 32GB & 128GB WiFi iPad Pros on sale for up to $80 off MSRP, each including free shipping. B&H charges sales tax in NY only: - 12″ Space Gray 32GB WiFi iPad Pro: $749 $50... Read more
6-core Mac Pro available for $3799, save $200
B&H Photo has the 6-core 3.5GHz Mac Pro on sale for $200 off MSRP. Shipping is free, and B&H charges sales tax in NY only: - 3.5GHz 6-core Mac Pro (sku MD878LL/A): $3799.99, $200 off MSRP Read more
Apple refurbished Apple TVs available for up...
Apple has Certified Refurbished 32GB and 64GB Apple TVs available for up to $30 off the cost of new models. Apple’s standard one-year warranty is included with each model, and shipping is free: -... Read more
13-inch Retina MacBook Pros on sale for up to...
B&H Photo has 13″ Retina MacBook Pros on sale for up to $150 off MSRP. Shipping is free, and B&H charges NY tax only: - 13″ 2.7GHz/128GB Retina MacBook Pro: $1179 $120 off MSRP - 13″ 2.7GHz/... Read more

Jobs Board

*Apple* iPhone 6s and New Products Tester Ne...
…we therefore look forward to put out products to quality test for durability. Apple leads the digital music revolution with its iPods and iTunes online store, Read more
*Apple* Retail - Multiple Positions, Towson...
Job Description: Sales Specialist - Retail Customer Service and Sales Transform Apple Store visitors into loyal Apple customers. When customers enter the store, Read more
*Apple* iPhone 6s and New Products Tester Ne...
…we therefore look forward to put out products to quality test for durability. Apple leads the digital music revolution with its iPods and iTunes online store, Read more
Music Marketing Lead, iTunes & *Apple*...
…Music Marketing Lead is responsible for developing robust marketing campaigns and programs for Apple Music and iTunes across the whole of Apple ecosystem. This Read more
*Apple* Valley Medical Clinic is Hiring - AP...
Apple Valley Medical Clinic is Hiring! Apple Valley Medical Clinic is an independently owned practice operating a Family Medicine Clinic, a 24/7 Urgent Care, Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.