lcms2-sys 2.4.0

Bindings for liblcms2 (Little CMS) with support for Linux, macOS, and Windows. See lcms2 crate for a safe Rust wrapper.
Documentation

Little CMS bindings for Rust

Makes LCMS C API available in Rust. There's also a higher-level wrapper.

It's up to date with version 2.8. Linux, macOS and Windows are supported. Other platforms may work, too.

Differences from the C API

  • Type names don't have the cms prefix, e.g. cmsColorSpace is ColorSpace.
    • All C function names remained the same (with the prefix, e.g. fn cmsReadTag()).
  • Enum values don't have the cmsSig prefix, e.g. cmsSigLabData is LabData.
  • Some arguments use more specific type, e.g. Intent::Perceptual enum instead of INTENT_PERCEPTUAL integer.

Dynamic vs static

The package supports "static" and "dynamic" Cargo features. If "dynamic" is selected (the default) then it will link to system-wide LCMS2 shared library if pkg-config is installed and working correctly.

If pkg-config doesn't work (i.e. on Windows), or the "static" feature is enabled, it will build LCMS 2.8 from source instead.