pub struct ProfileHeader {
pub size: u32,
pub preferred_cmm: u32,
pub version: ProfileVersion,
pub device_class: DeviceClass,
pub data_color_space: ColorSpace,
pub pcs: ColorSpace,
pub rendering_intent: RenderingIntent,
pub creator: u32,
pub profile_id: [u8; 16],
}Expand description
The fixed 128-byte header that opens every ICC profile (ICC.1:2022 §7.2).
The header records the profile’s size, the device/connection color spaces it relates, the profile version, the default rendering intent, and an MD5 identifier. Only the most load-bearing fields are modelled here; the reserved and date/platform fields are added in the implementation phase.
Fields§
§size: u32Total profile size in bytes (size field).
preferred_cmm: u32Preferred CMM signature (e.g. 'appl', 'lcms'), or zero.
version: ProfileVersionProfile format version (the major.minor.bugfix of the spec it conforms to).
device_class: DeviceClassWhat kind of device or transform the profile describes.
data_color_space: ColorSpaceThe device color space the profile’s data side uses (the A side).
pcs: ColorSpaceThe profile connection space (the B side) — always XYZ or Lab.
rendering_intent: RenderingIntentThe default rendering intent.
creator: u32Profile creator signature, or zero.
profile_id: [u8; 16]The 16-byte profile ID (an MD5 of the profile with certain fields zeroed), or all-zero if unset.