PATHDocumentation > Mac OS 8 and 9 > Mutlimedia and Graphics > ColorSync Manager >

Managing Color With ColorSync


ColorSync 1.0 Profile Support

The ColorSync Manager continues to support the use of ColorSync 1.0 profiles. For example, you should always use ColorSync 1.0 functions with ColorSync 1.0 profiles, if possible. For example, always use ColorSync 1.0 functions to match colors between the color gamuts of two devices if both devices have ColorSync 1.0 profiles. The four ColorSync 1.0 functions and their new counterparts are listed in Table 8-4 .

However, there are times when you may need to use a ColorSync 1.0 profile with a ColorSync 2.x function. The ColorSync Manager's backward compatibility allows you to do this. For example, a document containing an image to be color matched may include an embedded ColorSync 1.0 source profile for the image. To match the colors of the source image to a device that has a version 2.x profile, you must use 2.x functions because ColorSync 1.0 functions cannot gain access to a version 2.x profile.

IMPORTANT

Although ColorSync version 2.5 fully supports 1.0 format profiles, this support is not guaranteed to continue in future versions. Apple strongly recommends that developers using the 1.0 format move to the 2.x format.

One of the main differences between ColorSync 1.0 and 2.x functions is the profile format used. The 2.x functions accommodate ColorSync 1.0 profiles so that you can use those profiles if you must. Before describing how to use a ColorSync 1.0 profile with the 2.x functions, this section explains the differences between the ColorSync 1.0 profile format and the version 2.x profile format defined by the International Color Consortium (ICC) and used by the ColorSync Manager.

ColorSync 1.0 Profiles and Version 2.x Profiles

The ColorSync 1.0 profile format was designed by Apple Computer. This profile is memory resident and follows an internal structure based on tables. Although it is an open format, it is not an industry standard.

The ICC profile format implemented in the ColorSync Manager is significantly different from the profile format implemented for ColorSync 1.0. The version 2.x profile format is specified by the ICC and provides an industry standard that allows for interoperability across platforms and devices. A version 2.x profile created for a particular device can be used on systems running different operating systems.

Because the ColorSync 1.0 and version 2.x profile formats differ, the ColorSync Manager must resolve any compatibility issues involving accessing profiles and color matching between profiles. The next section describes how these profile formats differ.

How ColorSync 1.0 Profiles and Version 2.x Profiles Differ

A ColorSync 1.0 profile is smaller than a version 2.x profile and can therefore reside in memory. It is handle-based. A version 2.x profile as implemented by the ColorSync Manager is commonly file-based, but it can also be memory-based. You use an abstract internal data structure, called a profile reference, to access a version 2.x profile.

A ColorSync 1.0 profile contains a header, a copy of the Apple CMProfileChromaticities record, profile response data for the associated device, and a profile name string for use in dialog boxes. Custom profiles may also have additional, private data. ColorSync 1.0 defines the following profile data structure:

struct CMProfile {
    CMHeader                    header;
    CMProfileChromaticities     profile;
    CMProfileResponse           response;
    CMIString                   profileName;    /* variable length */
    char                        customData[anyNumber];
                                        /* optional custom CMM data */
};

The response data fields contain nine tables. The first table is for grayscale values. The next three are red, green, and blue values, followed by three for cyan, magenta, and yellow values. The eighth and ninth tables are for CMYK printers requiring undercolor removal and black generation data.

The ColorSync 1.0 profile header, defined by the data structure CMHeader , and the version 2.x profile header, defined by the structure CM2Header , contain many fields in common. However, some fields in the ColorSync 1.0 profile header reflect its table-based nature, while a version 2.x profile has a tagged-element structure. A version 2.x profile also supports use of lookup table transforms that allow for faster processing.

CMMs and Mixed Profiles

Although version 2.x of the ColorSync Manager supports using a mix of ColorSync 1.0 and version 2.x profiles, the success of a matching session involving a ColorSync 1.0 profile depends on the CMM component performing the process. Third-party CMMs may choose not to support ColorSync 1.0 profiles. The default CMM is able to establish a matching session involving one or more ColorSync 1.0 profiles.

For device link profiles, you must include only version 2.x profiles. You cannot mix ColorSync 1.0 and version 2.x profiles in a device link profile.

Converting a 2.x Profile to the 1.0 Format

The ColorSync Manager provides the CMConvertProfile2to1 function to convert 2.x format profiles to the 1.0 profile format. Because 1.0 and 2.x scanner and monitor profiles generally carry the same required color information, no accuracy is lost in converting from one to the other. With printer profiles , however, some accuracy will be lost by conversion, leading to significantly different results. Because of the possible loss of accuracy in some cases, 2.x to 1.0 profile conversion is not encouraged.


© 1988-1999 Apple Computer, Inc. — (Last Updated 20 Jan 99)