System information

A new API, PMPrinterGetState, that allows callers to check the state of a printer queue has been added. (r.
2866758).
New API, PMSessionEnablePrinterPresets, has been added that allows callers to enable printing presets in the
Print dialog. (r. 2849635).
Problems where PICTs containing fractionally rotated text or graphics did not print as expected have been
corrected. (r. 2843826).
PMPrinterGetResolution now returns min/max range independent of the current printer module settings. (r.
2843176).
All printing routines that return data will now return NULL if there is an error. (r. 2843168).
Problems with printing some PICTs with embeded ColorSync source profiles have been corrected. (r. 2839776).
A new API was added, PMPrinterGetMakeAndModelName, that allows callers to retrieve information about the
make, model and name of a printer. (r. 2811370).
A new attribute has been added, kUSBIOMSetAltInterface, that allows Printer Modules to select an alternate USB
interface. (r. 2811344).
In the past, Termiate routines in PDEs were not being called if the Initialize routine failed. Now, Terminate
routines will be called even if the Initialize routine fails. (r. 2797592).
PMRelease now correctly handles code that incorrectly tries to release objects obtained via "get" calls like
PMContextGetCurrentPrinter. (r. 2793493).
New APIs to get a ticket and template from a session have been added. These APIs are
PMSessionGetTicketFromSession and PMSessionGetTemplateFromSession. (r. 2788795).
A new API has been added, PMPrinterIsPostScriptCapable, that callers can use to determine if a given printer is a
PostScript printer. (r. 2776545).
Improved handling of NSPrintInfo attributes. A number of new NSPrintInfo attributes are now supported including
NSPrintPagesPerSheet, NSPrintReversePageOrder, NSPrintJobDisposition, NSPrintSavePath, and others (r.
2574589). (r. 2773511).
New APIs have been added to NSPrinter.h and NSPrintInfo.h that allow callers to determine the imageable area of
printed pages. (r. 2766258).
Normally, when a PDE returns kPMDontSwitchPDEError from its Sync function, switching panels, Preview, and
Print should be disabled, but, under in some cases the kPMDontSwitchPDEError result code was being ignored.
These problems have been corrected. (r. 2764767).
A problem where PMSessionSetDestination was returning kPMGeneralError rather than using the default format
when the destFormat parameter was set to NULL has been corrected. (r. 2741954).
New Carbon APIs have been added that allow callers to have greater control the page Collation and the ability to set
the Collated state for print jobs. (r. 2715677).
PDEs can now send a Carbon Event to their window to change size after their Prologue has completed. (r.
2679919).
Embedded PMPageFormat and PMPrintSettings objects are now properly encoded into NSPrintInfo objects. (r.
2555068).
-[NSPrinter printerNames] now returns the list of available printers (added via Print Center) instead of the list
of possible NetInfo printers as in 10.1. (r. 2960293).
A number of new PMPrinter APIs that allow for some printing administrative functionality have been added to
PMPrinter.h. (r. 2932965).
The Print dialog no longer changes printers if a PDE returns an error due to invalid page ranges, etc. (r.
2894025).
Fixed a memory leak in NSPrintPanel's setAccessoryView. (r. 2893943).
Print Center now sends correctly formed SendData requests while auto configuring printers via PAP. (r.
2889207).
A new API, PMPrinterGetDeviceURI, has been added that allows callers to find out a printer's network address. (r.
2874521).
Improved handling of PostScript query responses that contain DOS line endings. (r. 2786812).
Added support for user-specified custom paper sizes. (r. 2713854).
Mac OS X 10.2 ships with a USB Printer Class driver. (r. 2431394).
A problem where PostScript printing of PDFs using Separation or DeviceN color spaces could fail over a seven bit
communications channel has been corrected. (r. 2825012).