Important for all Apple Printing and Graphics Developers:
The information in this Technical Q & A is still relevant up to and including
Mac OS 7.6
with QuickDraw GX 1.1.5. Beginning with the release of Mac OS 8.0,
however, Apple plans to deliver a system which incorporates QuickDraw GX
graphics and typography only. QuickDraw GX printer drivers and GX printing
extensions will not be supported in Mac OS 8.0 or in future Mac OS releases. Apple's
goal is to simplify the user experience of printing by unifying the Macintosh
graphic and printing architectures and standardizing on the classic Printing
Manager.
For details on Apple's official announcement, refer to
</dev/technotes/gxchange.html>
|
Q: My FetchTaggedData override doesn't get called as often as I expected, and it
doesn't get called for 'ptyp' resources. Does GX get the paper types (e.g., for
the Page Setup popup) directly from the driver? What other resources are
fetched this way?
If FetchTaggedData isn't used that often, how do I modify such things on the
fly? For instance, if the user specifies a PPD when the DTP is created, how do
I notify GX of the new list of paper types? Do I have to change/add resources
in the driver or DTP?
A: It's true that FetchTaggedData is not called as often as you would expect. The
LaserWriter GX driver does get the paper types and other resources directly
from the driver. The job collection is setup when the DTP is created.
There are three things that prevent you from telling GX which fonts the user
downloads to the printer's disk file in the current version of GX:
- The font name is stored in the resource name of the
'pfnt' resource, so FetchTaggedData can't access the name.
- The core GX printing code never looks in desktop printer files for
'pfnt' s.
- The core GX printing code doesn't use
FetchTaggedData to load the other 'pfnt' s, so there is no way to override the current behavior.
What you are trying to do is perfectly reasonable, and there's no reason why GX
should have this limitation. A fix for these problems ought to be incorporated
into a future version of GX.
|