Required ICC Tag Values

Two tags in an ICC color profile are required for installation. (While these are the only tags used for profile installation, other profile tags are required to perform color matching after the installation is done.) The two tags required for installation are used to indicate the printer manufacturer and the specific model of printer from the manufacturer that the color profile is designed for. Windows 95 needs this information to associate Windows device drivers with profiles. Windows assigns no intrinsic meaning to the tags themselves; they are used in Windows to map between profiles and device drivers.

Using the icHeader.manufacturer Tag

The icHeader.manufacturer tag is of type icSignature (a 4-byte identifier value according to the ICC specification). The 4 bytes contain ASCII values; they are typically the first 4 characters of name of the printer manufacturer and, most importantly, are unique from other company names and correspond to the name that is used/reported by the printer driver. (For a more detailed discussion of how profiles and drivers are paired at run time, see Mapping Color Profiles to Printer Drivers. Examples values for this tag are "EPSO" for Epson, "CANO" for Canon, "HP " for Hewlett-Packard, and so on.

The deviceMfgDescTag value is also read and placed in the registry under the ManufacturerTag key for clarity even though it serves no functional purpose there.

Using the icHeader.model Tag

The icHeader.model tag is of type icUInt32Number (an unsigned 32-bit identifier value according to the ICC specification). The 4 bytes are the identifier used to distinguish various printer models. The identifier must be unique for each model of printer that has identical icHeader.manufacturer tags and correspond to the name that is used/reported by the printer driver. (For a more detailed discussion of how profiles and drivers are paired at run time, see Mapping Color Profiles to Printer Drivers. The deviceModelDescTag value is also read and placed in the registry under the ModelTag key for clarity even though it serves no functional purpose there.