New in ver 1.15 =============== New features Black preservation on CMYK-> CMYK transforms Ability to set adaptation state of observer on absolute colorimetric transforms. A rather advanced feature. Actually it only allows No adaptation (d=0) and observer fully adapted (d=1) lcms can now "fix" some broken 8-bit profiles that have gray axes misplaced. icctrans can now read CGATS/IT8 files. improved tifficc with tiff Lab8 support New functions LCMSAPI double LCMSEXPORT cmsSetAdaptationState(cmsHTRANSFORM hTransform, double d); LCMSAPI void LCMSEXPORT cmsSetHeaderAttributes(cmsHPROFILE hProfile, DWORD Flags); LCMSAPI DWORD LCMSEXPORT cmsTakeHeaderAttributes(cmsHPROFILE hProfile); LCMSAPI icInt32Number LCMSEXPORT cmsGetTagCount(cmsHPROFILE hProfile); LCMSAPI icTagSignature LCMSEXPORT cmsGetTagSignature(cmsHPROFILE hProfile, icInt32Number n); LCMSAPI BOOL LCMSEXPORT cmsIT8SaveToMem(LCMSHANDLE hIT8, void *MemPtr, size_t* BytesNeeded); BOOL _cmsIsMatrixShaper(cmsHPROFILE hProfile); BOOL _cmsAddDateTimeTag(cmsHPROFILE hProfile, icTagSignature sig, struct tm *DateTime); BOOL _cmsAddColorantTableTag(cmsHPROFILE hProfile, icTagSignature sig, LPcmsNAMEDCOLORLIST nc); double cmsEvalLUTreverse(LPLUT Lut, WORD Target[], WORD Result[], LPWORD Hint); LPcmsNAMEDCOLORLIST LCMSEXPORT cmsReadColorantTable(cmsHPROFILE hProfile, icTagSignature sig) LPcmsGAMUTEX cmsReadExtendedGamut(cmsHPROFILE hProfile, int index); void cmsFreeExtendedGamut(LPcmsGAMUTEX gex); New tags supported icSigColorantTableTag LPcmsNAMEDCOLORLIST icSigColorantTableOutTag LPcmsNAMEDCOLORLIST icSigCalibrationDateTimeTag const struct tm* New flags: cmsFLAGS_PRESERVEBLACK cmsFLAGS_GRIDPOINTS(n) And of course some bug fixing.