Important: The information in this document is obsolete and should not be used for new development.
Profile Header Structure for ColorSync 2.x
The ColorSync Manager defines the followingCM2header
profile structure, which supports the header format specified by the ICC format specification for version 2.x profiles. For a description ofCMHeader
, 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 theCMGetProfileHeader
function (page 3-88) and replace the header using theCMSetProfileHeader
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 ') orcmLabData
(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 ofdeviceAttributes[1]
and the entire word ofdeviceAttributes[0]
are available for vendor use. For information on how the bits indeviceAttributes
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 inrenderingIntent
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.