Jump To:
Leopard Technical Q&As
The Mac OS X printing system is based on CUPS (Common UNIX Printing System). Mac OS X printing supports PostScript and raster printers, and offers features such as job spooling via IPP (Internet Printing Protocol), and PDF and Quartz imaging. The printing system allows applications to present extensible user interfaces so that developers can extend Apple's interface rather than write code to override it.

A guided introduction and learning path for developers new to Mac OS X printing.   Essential information for developers using Apple's printing environment.  
Document Descriptions
On Off
Display

Sort by
Title
Sorted by
Topic
Sort by
Date
ATSUI and MLTE Printing (HTML) (日本語 HTML)
Deprecated - QD64: Describes a way to get MLTE and ATSUI text to print through the QuickDraw bottlenecks.
Carbon 2000-11-08
CGContext Bounds (HTML)
QA1048: Explains how to determine the bounds of a CGContext.
Carbon 2001-07-02
CGContextAddLineToPoint, CGContextAddCurveToPoint, et. al. (HTML)
QA1049: Explains why the CGContextAddXYZ APIs don't draw anything immediately.
Carbon 2001-07-02
CGContextClosePath (HTML)
QA1046: Explains when you should call CGContextClosePath.
Carbon 2001-10-02
Drawing a Path Multiple Times (HTML)
QA1047: Explains that path drawing operations consume the path.
Carbon 2001-07-02
Gathering all PostScript Printer Descriptions (PPDs) (HTML)
QA1529: Describes a work around for an issue in PMCopyAvailablePPDs on Mac OS X 10.4 and below
Carbon 2008-08-08
How do I use PMSessionGetGraphicsContext to get a CGContextRef? (HTML) (日本語 HTML)
Deprecated - QA1216: Describes how to use PMSessionSetDocumentFormatGeneration and PMSessionGetGraphicsContext to get a CGContextRef for printing.
Carbon 2003-02-25
How to measure CG text (HTML)
QA1051: Explains how to measure Core Graphics text.
Carbon 2007-08-02
Printer Queue vs. Printer Name (HTML)
QA1407: Explains the difference between a printer queue and a printer name.
Carbon 2007-04-26
Quartz 2D Interpolation (HTML) (日本語 HTML)
QA1186: Explains how to control Quartz 2D's image interpolation.
Carbon 2002-10-29
Quartz 2D Thread Safety (HTML) (日本語 HTML)
QA1238: Explains the thread-safety issues for the Quartz 2D API.
Carbon 2003-02-25
Saving the current Core Graphics Path (HTML)
QA1056: Explains that the Core Graphics save and restore GState APIs do not affect the path.
Carbon 2001-10-02
Turning Off Core Graphics Clipping (HTML)
QA1050: Explains how to clear the clipping path for a CGContext.
Carbon 2001-07-02
Unexpected CG state changes (HTML)
QA1045: Explains why the Core Graphics drawing state sometimes changes for no apparent reason.
Carbon 2001-07-02
CGContext Bounds (HTML)
QA1048: Explains how to determine the bounds of a CGContext.
Cocoa 2001-07-02
CGContextAddLineToPoint, CGContextAddCurveToPoint, et. al. (HTML)
QA1049: Explains why the CGContextAddXYZ APIs don't draw anything immediately.
Cocoa 2001-07-02
CGContextClosePath (HTML)
QA1046: Explains when you should call CGContextClosePath.
Cocoa 2001-10-02
Drawing a Path Multiple Times (HTML)
QA1047: Explains that path drawing operations consume the path.
Cocoa 2001-07-02
Gathering all PostScript Printer Descriptions (PPDs) (HTML)
QA1529: Describes a work around for an issue in PMCopyAvailablePPDs on Mac OS X 10.4 and below
Cocoa 2008-08-08
How to measure CG text (HTML)
QA1051: Explains how to measure Core Graphics text.
Cocoa 2007-08-02
Quartz 2D Interpolation (HTML) (日本語 HTML)
QA1186: Explains how to control Quartz 2D's image interpolation.
Cocoa 2002-10-29
Quartz 2D Thread Safety (HTML) (日本語 HTML)
QA1238: Explains the thread-safety issues for the Quartz 2D API.
Cocoa 2003-02-25
Saving the current Core Graphics Path (HTML)
QA1056: Explains that the Core Graphics save and restore GState APIs do not affect the path.
Cocoa 2001-10-02
Turning Off Core Graphics Clipping (HTML)
QA1050: Explains how to clear the clipping path for a CGContext.
Cocoa 2001-07-02
Unexpected CG state changes (HTML)
QA1045: Explains why the Core Graphics drawing state sometimes changes for no apparent reason.
Cocoa 2001-07-02
Combinations of cupsColorSpace, cupsColorOrder and cupsBitsPerColor values supported by Mac OS X (HTML)
QA1368: Table of supported combinations of cupsColorSpace, cupsColorOrder and cupsBitsPerColor values supported by Mac OS X.
CUPS 2005-08-10
Gathering all PostScript Printer Descriptions (PPDs) (HTML)
QA1529: Describes a work around for an issue in PMCopyAvailablePPDs on Mac OS X 10.4 and below
CUPS 2008-08-08
New PPD keywords available in Mac OS X version 10.3 (HTML)
QA1352: Describes the new PPD keywords available for CUPS filters in Mac OS X 10.3.
CUPS 2004-05-26
Tioga PostScript Printing Plugins in Mac OS X 10.2 (HTML) (日本語 HTML)
QA1085: Why Tioga printing plugins for PostScript printing aren't called on Mac OS X 10.2 and later.
CUPS 2003-07-14
Using PPD constraints with Paper Sizes (HTML)
QA1603: Describes the requirements for using PPD Constraints to constrain options against paper size.
CUPS 2008-08-08
Using PPD constraints with Paper Sizes (HTML)
QA1603: Describes the requirements for using PPD Constraints to constrain options against paper size.
Device Drivers 2008-08-08
Are the Name Registry device tree nodes unique? (HTML)
Deprecated - HW64: Discusses whether Name Registry nodes copied from the Open Firmware device tree are unique.
Hardware & Drivers 1999-10-11
Checking for the Printer Driver (HTML)
Deprecated - DV42: Describes a legacy Mac OS technique avoiding system hangs when using serial drivers on USB systems.
Hardware & Drivers 2000-06-19
Generating a Non-Maskable Interrupt (NMI) (HTML) (日本語 HTML)
QA1264: Explains how to generate a non-maskable interrupt (NMI) on modern Macintosh systems.
Hardware & Drivers 2008-10-13
New PPD keywords available in Mac OS X version 10.3 (HTML)
QA1352: Describes the new PPD keywords available for CUPS filters in Mac OS X 10.3.
Hardware & Drivers 2004-05-26
Retain Counts of io_object_t Objects in IOKit.framework (HTML) (日本語 HTML)
QA1195: Distinguishes between the retain counts of an I/O Kit kernel object and its io_object_t user space proxy.
Hardware & Drivers 2008-09-24
Tioga PostScript Printing Plugins in Mac OS X 10.2 (HTML) (日本語 HTML)
QA1085: Why Tioga printing plugins for PostScript printing aren't called on Mac OS X 10.2 and later.
Hardware & Drivers 2003-07-14
Why does logging keep my Printer Module from working? (HTML) (日本語 HTML)
Deprecated - QA1182: Describes some problems with standard printf logging in a Printer Module on Jaguar.
Hardware & Drivers 2002-11-06
Why don't all of my PDE localizations show up in all applications? (HTML) (日本語 HTML)
QA1185: Explains why some PDE localizations might not appear in all applications.
Hardware & Drivers 2002-10-16
Bonjour Printer Subtype for HTTP (HTML)
QA1555: Describes how printer vendors can register their bonjour service such that Safari can see them.
Networking 2008-03-25
Getting a Packet Trace (HTML) (日本語 HTML)
QA1176: Lists tools available for looking at the network packets on the wire.
Networking 2008-06-03
Mixing link-local IP addresses and routable IP addresses (HTML)
QA1357: Explains how to enable communication between devices with link-local addresses and devices with routable addresses.
Networking 2005-07-06