Some attributes in the profile structure are required by the ICC. These attributes provide a common base level of functionality for all CMMs to translate color information. If, for example, a requested CMM is not present, the default CMM information is used, knowing these attributes are present.
The names of the required attributes discussed in this section are defined in the icc.h header file. The associated data structures are defined in "Attribute Types " and are in the icc.h header file. See the ICC profile format specification for more detailed definitions of device profiles, attribute names, and attribute types (data structures). ICC-specification section titles are referenced in each profile class section discussed next. (The ICC profile format specification is located on-line in the SUNWsdk/kcms/doc directory. For the latest version of the specification, see the web site at http://icc.color.org.)
Table 5-1 shows attributes that are required depending on the profile type and interpretation. The attributes in the first five table rows can be set using KcsGetAttribute(), KcsSetAttribute(), or KcsUpdateProfile(). The icSigGrayTRCTag attribute is required for input profiles only.
Table 5-1 Attributes Required Depending on Interpretation
Profile |
Attribute Name |
Interpretation |
---|---|---|
Input Profile |
icSigAToB0Tag |
None |
Display Profile |
icSigAToB0Tag |
None |
Output Profile |
icSigBToA0Tag |
Perceptual rendering |
Output Profile |
icSigBToA1Tag |
Colorimetric rendering |
Output Profile |
icSigBToA2Tag |
Saturation rendering |
Input Profile |
icSigGrayTRCTag |
Depends on intent |
Display Profile |
icSigGrayTRCTag |
Additive |
Output Profile |
icSigGrayTRCTag |
Subtractive |
Note that these tags, once set with KcsSetAttribute(), cannot be accessed and used unless the KcsSaveProfile() function has been called first. The save initiates certain CMM operations to be performed on the LUTs for future use.
This section uses the ICC equivalent names for KCMS profile format classifications (that is, input profile, output profile, and so forth) because the section presents some of the material as you will find it in the ICC profile format specification and in icc.h. See Table 2-1 in Chapter 2, Profiles, for the corresponding KCMS names.
The following attributes are required for input devices such as scanners. See "Input Profile" in the ICC specification for more information.
Attribute Name |
Attribute Type |
---|---|
icSigHeaderTag |
icHeader |
icSigCopyrightTag |
icText |
icSigGrayTRCTag |
icCurve |
icSigMediaWhitePointTag |
icXYZArray |
icSigProfileDescriptionTag |
icTextDescription |
Attribute Name |
Attribute Type |
---|---|
icSigHeaderTag |
icHeader |
icSigBlueColorantTag |
icXYZArray |
icSigBlueTRCTag |
icCurve |
icSigCopyrightTag |
icText |
icSigGreeColorantTag |
icXYZArray |
icSigGreenTRCTag |
icCurve |
icSigMediaWhitePointTag |
icXYZArray |
icSigProfileDescriptionTag |
icTextDescription |
icSigRedColorantTag |
icXYZArray |
icSigRedTRCTag |
icCurve |
Attribute Name |
Attribute Type |
---|---|
icSigHeaderTag |
icHeader |
icSigAtoB0Tag |
icLut8 or icLut16 |
icSigCopyrightTag |
icText |
icSigMediaWhitePointTag |
icXYZArray |
icSigProfileDescriptionTag |
icTextDescription |
The following attributes are required for display devices such as monitors. See "Display Profile" in the ICC specification for more information.
Attribute Name |
Attribute Type |
---|---|
icSigHeaderTag |
icHeader |
icSigCopyrightTag |
icText |
icSigGrayTRCTag |
icCurve |
icSigMediaWhitePointTag |
icXYZArray |
icSigProfileDescriptionTag |
icTextDescription |
Attribute Name |
Attribute Type |
---|---|
icSigHeaderTag |
icHeader |
icSigBlueColorantTag |
icCurve |
icSigBlueTRCTag |
icCurve |
icSigCopyrightTag |
icText |
icSigGreenColorantTag |
icCurve |
icSigGreenColorantTag |
icCurve |
icSigGreenTRCTag |
icCurve |
icSigMediaWhitePointTag |
icXYZArray |
icSigProfileDescriptionTag |
icTextDescription |
icSigRedColorantTag |
icCurve |
icSigRedTRCTag |
icCurve |
The following attributes are required for output devices such as printers. See "Output Profile" in the ICC specification for more information.
Attribute Name |
Attribute Type |
---|---|
icSigHeaderTag |
icHeader |
icSigCopyrightTag |
icText |
icSigGrayTRCTag |
icCurve |
icSigMediaWhitePointTag |
icXYZArray |
icSigProfileDescriptionTag |
icTextDescription |
Attribute Name |
Attribute Type |
---|---|
icSigHeaderTag |
icHeader |
icSigAtoB0Tag |
icLut8 or icLut16 |
icSigAtoB1Tag |
icLut8 or icLut16 |
icSigAtoB2Tag |
icLut8 or icLut16 |
icSigBtoA0Tag |
icLut8 or icLut16 |
icSigBtoA1Tag |
icLut8 or icLut16 |
icSigBtoA2Tag |
icLut8 or icLut16 |
icSigCopyrightTag |
icText |
icSigCrdInfoTag |
icCrdInfo |
icSigGamutTag |
icLut8 or icLut16 |
icSigMediaWhitePointTag |
icXYZArray |
icSigProfileDescriptionTag |
icTextDescription |
In addition to the three basic classifications of device profiles (that is, input, display, and output), the ICC specification defines four other color processing profiles, namely
Device link
Color space conversion
Abstract
These profiles provide a standard implementation for use by the CMM in general color processing. They are for the convenience of CMMs, which may use these types to store calculated transformations.
The device link profile is for a link or connection between devices. The following attributes are for device link profiles.
See "DeviceLink Profile" in the ICC specification for more information.
Attribute Name |
Attribute Type |
---|---|
icSigHeaderTag |
icHeader |
icSigAToB0Tag |
icLut8 or icLut16 |
icSigCopyrightTag |
icText |
icSigProfileDescriptionTag |
icTextDescription |
icSigProfileSequenceDescTag |
icProfileSequenceDesc |
The color space conversion profile is for color space transformation between non-device color spaces and the profile connection space (PCS). The following attributes are for color space conversion profiles. See "ColorSpaceConversion Profile" in the ICC specification for more information.
Attribute Name |
Attribute Type |
---|---|
icSigHeaderTag |
icHeader |
icSigAToB0Tag |
icLut8 or icLut16 |
icSigBToA0Tag |
icLut8 or icLut16 |
icSigCopyrightTag |
icText |
icSigMediaWhitePointTag |
icXYZArray |
icSigProfileDescriptionTag |
icTextDescription |
The abstract profile is for color transformations between PCS and PCS. The following attributes are for abstract profiles. See "Abstract Profile" in the ICC specification for more information.
Attribute Name |
Attribute Type |
---|---|
icSigHeaderTag |
icHeader |
icSigAToB0Tag |
icLut8 or icLut16 |
icSigCopyrightTag |
icText |
icSigMediaWhitePointTag |
icXYZArray |
icSigProfileDescriptionTag |
icTextDescription |
This is an alphabetical list of all attributes by name that KCMS allows your application to specify in calls to KcsGetAttribute() and KcsSetAttribute(). The list includes attributes from the ICC profile specification as well as the attributes KCMS registered with the ICC for public use.
Attribute Name |
Attribute Type |
---|---|
icSigHeaderTag |
icHeader |
icSigAToB0Tag |
icLut8 or icLut16 |
icSigAToB1Tag |
icLut8 or icLut16 |
icSigAToB2Tag |
icLut8 or icLut16 |
icSigBlueColorantTag |
icXYZArray |
icSigBlueTRCTag |
icCurve |
icSigBToA0Tag |
icLut8 or icLut16 |
icSigBToA1Tag |
icLut8 or icLut16 |
icSigBToA2Tag |
icLut8 or icLut16 |
icSigCalibrationDateTimeTag |
icSigDateTimeType |
icSigCharTargetTag |
icText |
icSigCopyrightTag |
icText |
icSigCrdInfoTag |
icCrdInfo |
icSigDeviceMfgDescTag |
icTextDescription |
icSigDeviceModelDescTag |
icTextDescription |
icSigGamutTag |
icLut8 or icLut16 |
icSigGrayTRCTag |
icCurve |
icSigGreenColorantTag |
icXYZArray |
icSigGreenTRCTag |
icCurve |
icSigLuminanceTag |
icXYZArray |
icSigMeasurementTag |
icMeasurement |
icSigMediaBlackPointTag |
icXYZArray |
icSigMediaWhitePointTag |
icXYZArray |
icSigNamedColorTag |
icNamedColor |
icSigNamedColor2Tag |
icNamedColor2 |
icSigPreview0Tag |
icLut8 or icLut16 |
icSigPreview1Tag |
icLut8 or icLut16 |
icSigPreview2Tag |
icLut8 or icLut16 |
icSigProfileDescriptionTag |
icTextDescription |
icSigProfileSequenceDescTag |
icProfileSequenceDesc |
icSigPs2CRD0Tag |
icData |
icSigPs2CRD1Tag |
icData |
icSigPs2CRD2Tag |
icData |
icSigPs2CRD3Tag |
icData |
icSigPs2CSATag |
icData |
icSigPs2RenderingIntentTag |
icData |
icSigRedColorantTag |
icXYZArray |
icSigRedTRCTag |
icSigCurve |
icSigScreeningDescTag |
icTextDescription |
icSigScreeningTag |
icScreening |
icSigTechnologyTag |
icSignature |
icSigUcrBgTag |
icUcrBg |
icSigViewingCondDescTag |
icTextDescription |
icSigViewingConditionsTag |
icViewingConditions |
The icSigProfileSequence attribute is read only and therefore can't be modified by KcsSetAttribute(); it can be read with KcsGetAttribute(). The attribute is valid for device link (complete color) profiles only.