Address various limitations of LCMS soft proofing
@ellestone
Submitted by Elle Stone Link to original bug (#772266)
Description
The current (2.7/2.8) LCMS approach to soft proofing is very printer-oriented. The gamut checks only work if the source profile has a perceptually uniform TRC, and don't work at all if the destination profile can support unbounded ICC profile conversions, even if the image itself is at integer precision. This page has test files that can be used to demonstrate the various issues: http://ninedegreesbelow.com/files/soft-proof/soft-proofing.htm
It's not clear whether the current LCMS soft proofing code will change in the near future: https://sourceforge.net/p/lcms/mailman/message/35178784/ https://sourceforge.net/p/lcms/mailman/message/35271294/ https://sourceforge.net/p/lcms/mailman/message/35271284/ https://sourceforge.net/p/lcms/mailman/message/35273448/ https://github.com/Beep6581/RawTherapee/issues/3406#issuecomment-246199885.
Given that there is no timetable or definite plan for changes to the LCMS soft proofing code, perhaps code can be added to GIMP to address the LCMS limitations. PhotoFlow linear_gamma branch (https://github.com/aferrero2707/PhotoFlow/tree/linear_gamma) has code that seems to work pretty well, that perhaps can be ported to GIMP. The PhotoFlow code:
-
works around the current LCMS gamut check limitations
-
includes different gamut checks when using or not using black point compensation for relative colorimetric conversions (which PhotoShop has but LCMS doesn't have)
-
deals with unbounded ICC profile conversions
-
includes very nicely working code for emulating paper white and ink black
Version: git master