gamut-icc 0.1.1

ICC color profile (ICC.1:2022) parser and serializer — header, tag table, and tag element types — for gamut image metadata.
Documentation
  • Coverage
  • 100%
    83 out of 83 items documented0 out of 12 items with examples
  • Size
  • Source code size: 17.93 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 762.68 kB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 8s Average build duration of successful builds.
  • all releases: 8s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • Homepage
  • justin13888/gamut
    2 0 32
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • justin13888

gamut-icc

gamut-icc is a pure-Rust ICC color profile (ICC.1:2022) parser and serializer.

Goals

Part of the gamut workspace, this crate models the ICC profile blob embedded in images — the WebP ICCP chunk, the AVIF/HEIF colr box of type prof, a JPEG APP2 segment — so the format crates can read, preserve, and embed accurate color characterization. It is:

  • Memory-safe on hostile input. #![forbid(unsafe_code)] — profiles are offset-indexed blobs from untrusted files.
  • Clean-slate from the spec. Implemented from ICC.1:2022 (profile v4.4, equivalent to ISO 15076-1; ../../references/icc), with v2 read support since most embedded profiles are still v2.
  • Dependency-light. An ICC profile needs neither IFD nor XML machinery, so this crate builds only on gamut-core — distinct from CICP color signaling, which lives in gamut-color.

Usage

No public API yet — implementation pending (issue #34). The type declarations sketch the data model (ProfileHeader, DeviceClass, ColorSpace, RenderingIntent, TagSignature/TagEntry, TagType, IccProfile) plus the IccReader / IccWriter entry points.

Status

Scaffolding — under active implementation (issue #34). See STATUS.md.

License

Licensed under either of MIT or Apache-2.0 at your option.