Legacy Documentclose button

Important: The information in this document is obsolete and should not be used for new development.

Previous Book Contents Book Index Next

Inside Macintosh: Advanced Color Imaging on the Mac OS /
Chapter 6 - Developing ColorSync-Supportive Device Drivers / About ColorSync-Supportive Device Driver Development


Devices and Their Profiles

To assess the way each device interprets color, color scientists and profile developers perform device characterizations. This process, which entails measuring the gamut of a device, yields a color profile for that device. Device profiles are of paramount importance to any color management system (CMS) because they characterize the unique color behavior of each device and allow color matching to occur. Device profiles are used by CMMs that perform the low-level calculations required to match colors from a source device to a destination device.

To support the ICC specification, the ColorSync Manager supports the following three classes of devices for which you can provide device drivers:

For each class of device, the ICC defines a device profile type, each with its own signature. Here are the profile type signatures:
'scnr'Designates an input device such as a scanner or a digital camera.
'mntr'Designates a display device such as a monitor or a liquid crystal display (LCD).
'prtr'Designates an output device such as a printer.

A profile creator specifies the signature denoting the profile type in the profile header's profileClass field.

Whether you create a profile for your device or obtain one from a profile vendor, your device driver must provide at least one profile for its device. However, you can provide more than one profile for the same device to characterize it differently. Although a printer that your device driver supports may have a number of profiles for different conditions, such as the use of foils or different grades of paper, all of its profiles will use the same 'prtr' profile signature.

The Profile Format and Its Cross-Platform Use

Device profiles follow the ICC profile format, an industry standard. You can provide a single profile or a set of profiles that can be used across different operating systems for the device your driver supports. The common profile format specified by the ICC allows end users to transparently move profiles and images with embedded profiles between different operating systems.

The profile structure is defined as a header followed by a tag table which, in turn, is followed by a series of tagged elements that your device driver can access randomly and individually. Using the ColorSync Manager functions, you can obtain the profile header to read and modify its contents and you can get and set individual tags and their element data.

This profile structure defined by the ICC is referred to as version 2.x. Version 2.x profiles require more information and are larger than ColorSync 1.0 profiles, which were originally memory based. Because version 2.x profiles are larger, they are disk based. The ICC profile format specification defines how version 2.x profiles can be stored as disk files and how profiles can be embedded in common graphics file formats such as PICT and TIFF. The ColorSync Manager provides a data structure that you can use to identify the location of a profile. It also provides functions you can use to embed a profile in or extract if from a PICT file.

Storing and Handling Device Profiles

Device profiles reside in files in the ColorSync\x89 Profiles folder (within the Preferences folder of the System Folder), in pictures, or with device drivers. Files that contain profiles keep them in the data fork and are of type 'prof'.

By convention, profiles not embedded in documents containing the images they are associated with are stored in the ColorSync\x89 Profiles folder. Although you can decide where to store your profiles, to make them available to other applications you should store them in the ColorSync\x89 Profiles folder. Applications that perform soft proofing or gamut checking can search the folder for specific types of profiles to provide a selection menu or list to the user. If your profiles are not available, applications will not be able to offer use of them to their users for color matching or gamut checking. These applications will not be able to color match to your device unless they provide a profile to be used for it.

The ColorSync\x89 Profiles folder may contain profiles for your device provided by applications for special purposes. For this reason, when your device driver itself displays a selection menu or list to the user, you should search not only your private profile location storage, if you use one, but also the ColorSync\x89 Profiles folder to make sure that you offer your users a complete list of available profiles for your device.

The ColorSync\x89 Profiles folder can contain both ColorSync 1.0 profiles and version 2.x profiles. However, your device driver will be able to search for only version 2.x profiles. This is because the ColorSync Manager 2.x search functions that you use to look for profiles in the folder do not acknowledge ColorSync 1.0 profiles.

How You Use Profiles

For most of the ColorSync Manager functions that your device driver calls, you will need to supply references to profiles for both the source device on which the image was created and the destination device for which it is to be color matched and where it will be rendered.

The driver for an input device such as a scanner typically embeds the scanner profile used to create the image in the document containing the image. The driver for a device that displays an existing image on the system's display or a printer device that prints a color-matched image typically extracts the embedded profile that accompanies the image from the document containing the image.

Images created using input devices are commonly color matched using the profile for the input device as the source profile and the system profile for the display as the destination profile. Images that are created, depicted, or modified on a display device and that are destined for an output device such as a printer are color matched using the profile for the display as the source profile and the printer's profile as the destination one.

To use a profile, you must first obtain a reference to the profile. For information on how to obtain a profile reference, see "Obtaining Profile References" (page 4-16).


Previous Book Contents Book Index Next

© Apple Computer, Inc.
13 NOV 1996