Important: The information in this document is obsolete and should not be used for new development.
Providing ColorSync-Supportive Device Drivers
Your ColorSync-supportive device driver can provide your users with various features based on color matching, depending on the type of device you support. This section describes what you should do to provide minimum ColorSync Manager support. Then, using a color printer as an example, this section lists some of the features you can implement to provide more extensive support.Providing Minimum Support
The minimum level of ColorSync Manager support you should provide differs depending on the type of device your driver supports.For a scanner, you should embed the scanner profile used to create the image in the document containing the image; this is also referred to as tagging an image. If you do not tag the image with the profile, you should at least make the profile for the image available so that it can be used for color matching. If you do not provide the scanner profile, an application or driver that attempts to color match the scanned image will use the system profile as the source profile and produce results inconsistent with the colors of the original image.
For a display device driver or a printer device driver, you must preserve images tagged with a profile by not stripping out picture comments used to embed profiles or by leaving profiles in documents that use other methods to include them. For example, if your driver displays or prints PICT files but does not perform color matching, your driver should not strip out the ColorSync-related picture comments that are used to embed profiles in PICT files, begin and end use of a specific profile, and enable and disable color matching. Even though your driver may not make use of the profiles, another display or printer driver or an application may.
If you don't perform color matching but you want to allow applications that do to produce images that are color matched for your device, you should provide a device profile to be used as the destination profile. If you provide a profile for your display or printer and place it in the ColorSync
\x89 Profiles folder, applications that perform color matching can use it to create a color-matched image expressed in the colors of your device's gamut. A user can then print a color-matched image using the printer your driver supports. Providing More Extensive ColorSync Support
Instead of relying on an application to color match an image for your printer, your printer driver can color match the image itself before sending it to the printer. To perform color matching, your printer driver must obtain a reference to the source profile. Documents containing images to be printed often contain an embedded profile along with the image. To use the source profile, your printer driver must be able to extract it. If an image is not accompanied by a source profile, the system profile is used. In this case, your driver should provide an interface that allows the user to select the rendering intent to be used.You can provide an interface that offers your user additional features. Your interface can
- allow your user to turn ColorSync Manager color matching on or off before printing.
- offer your user selection menus, allowing the user to choose
- the rendering method to be used in color matching the image (perceptual, colorimetric, or saturation)
- the color-image quality (normal, draft, or best)
Some of these features are discussed below and in "Developing ColorSync-Supportive Applications" (page 4-3).
- Allowing your user to turn color matching on or off
- If an application that creates or modifies an image already performed color matching using your printer profile as the destination profile, your user could turn off color matching. To provide this capability, your driver should support the
PrGeneral
function with theenableColorMatchingOp
operation code. For information on thePrGeneral
function, see Inside Macintosh: Imaging With QuickDraw. TheenableColorMatchingOp
operation code constant is defined by the ColorSync Manager.