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 Reference /
Chapter 3 - ColorSync Manager Reference for Applications and Device Drivers / Constants and Data Types
Apple Profile Header


Profile Header Structure for ColorSync 2.x

The ColorSync Manager defines the following CM2header profile structure, which supports the header format specified by the ICC format specification for version 2.x profiles. For a description of CMHeader, the ColorSync 1.0 profile header, see "Profile Header Structure for ColorSync 1.0" (page 3-46). To obtain a copy of the International Color Consortium Profile Format Specification, or to get other information about the ICC, visit the ICC's Web site at

http://www.color.org/
Your application cannot obtain a discrete profile header value using the element tag scheme available for use with elements outside the header. Instead, to set or modify values of a profile header, your application must obtain the entire profile header using the CMGetProfileHeader function (page 3-88) and replace the header using the CMSetProfileHeader function (page 3-97).

struct CM2Header {
   unsigned long  size;             /* total size of profile */
   OSType         CMMType;          /* CMM signature, registered with
                                       CS2 consortium */
   unsigned long  profileVersion;   /* version of the profile format */
   OSType         profileClass;     /* input, display, output, devicelink,
                                       abstract, color conversion, or
                                       named color profile type */
   OSType         dataColorSpace;   /* color space of data */
   OSType         profileConnectionSpace;/* profile connection color space */
   CMDateTime     dateTime;         /* date & time of profile creation */
   OSType         CS2profileSignature;/* 'acsp' constant, required by ICC */
   OSType         platform;         /* primary profile platform, registered
                                       with CS2 consortium */
   unsigned long  flags;            /* gives hints for certain options */
   OSType         deviceManufacturer;/* registered with ICC consortium */
   unsigned long  deviceModel;      /* registered with ICC consortium */
   unsigned long  deviceAttributes[2];/* attributes such as paper type */
   unsigned long  renderingIntent;  /* preferred rendering intent of object
                                       tagged with this profile */
   CMFixedXYZColorwhite;            /* profile illuminant */
   OSType         creator;          /* profile creator */
   char           reserved[44];     /* reserved for future use */
};
Field Description
size
The total size in bytes of the profile.
CMMType
The signature of the preferred CMM for color-matching and color-checking sessions for this profile. To avoid conflicts with other CMMs, this signature must be registered with the ICC. For the signature of the Apple CMM, see "Signature of the Default Apple Color Management Module" (page 3-14).
profileVersion
The version of the profile format. The first 8 bits indicate the major version number, followed by 8 bits indicating the minor version number. The following 2 bytes are reserved.
The profile version number is not tied to the version of the ColorSync Manager. Profile formats and their versions are defined by the ICC. For example, a major version change may indicate the addition of new required tags to the profile format; a minor version change may indicate the addition of new optional tags.
profileClass
One of the seven types of profile classes supported by the ICC: input, display, output, named color space, device link, color space conversion, or abstract. For the signatures representing profile classes, see "Profile Classes" (page 3-13).
dataColorSpace
The color space of the profile. Color values used to express colors of images using this profile are specified in this color space. For a list of the color space signatures, see "Color Space Signatures" (page 3-20).
profileConnectionSpace
The profile connection space, or PCS. The profile connection spaces are cmXYZData (signature 'XYZ ') or cmLabData (signature 'Lab ').
dateTime
The date and time when the profile was created. You can use this value to keep track of your own versions of this profile. For information on the date and time format, see "Date and Time Structure" (page 3-9).
CS2profileSignature
The 'acsp' constant as required by the ICC format.
platform
The signature of the primary platform on which this profile runs. For Apple Computer, this is 'APPL'. For other platforms, refer to the International Color Consortium Profile Format Specification.
flags
Flags that provide hints, such as preferred quality and speed options, to the preferred CMM. The flags field consists of an unsigned long data type. The 16 bits in the low word, 0-15, are reserved for use by the ICC. The 16 bits in the high word, 16-31, are available for use by color management systems. For information on how these bits are defined and how your application can set and test them, see "Flag Mask Definitions for Version 2.x Profiles" (page 3-29).
deviceManufacturer
The signature of the manufacturer of the device to which this profile applies. This value is registered with the ICC.
deviceModel
The model of this device, as registered with the ICC.
deviceAttributes
Attributes that are unique to this particular device setup, such as media, paper, and ink types. The data type for this field is an array of two unsigned longs. The low word of deviceAttributes[1] is reserved by the ICC. The high word of deviceAttributes[1] and the entire word of deviceAttributes[0] are available for vendor use. For information on how the bits in deviceAttributes are defined and how your application can set and test them, see "Device Attribute Values for Version 2.x Profiles" (page 3-34).
renderingIntent
The preferred rendering intent for the object or file tagged with this profile. Four types of rendering intent are defined: perceptual, relative colorimetric, saturation, and absolute colorimetric. The renderingIntent field consists of an unsigned long data type. The low word is reserved by the ICC and is used to set the rendering intent. The high word is available for use. For information on how the bits in renderingIntent are defined and how your application can set and test them, see "Rendering Intent Values for Version 2.x Profiles" (page 3-35).
white
The profile illuminant white reference point, expressed in the XYZ color space.
creator
Signature identifying the profile creator.
reserved
This field is reserved for future use.

Previous Book Contents Book Index Next

© Apple Computer, Inc.
11 NOV 1996