Read.me for release 1.08 ======================== THIS SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MARTI MARIA BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. The lcms library is now distributed under GNU LESSER GENERAL PUBLIC LICENSE See file COPYING. for details This is the 7th. public release the engine. It has been tested across several versions before, but it is possible some bugs still arises. If so, sorry for the inconvenience, and please feel free to submit any suggestion/solution (if you can found it) at: marti@littlecms.com Note that the aesthetics of resulting colors are due only to profiles, and not as consequence of the lcms package. The main site for the package is located at http://www.littlecms.com or http://www.lcms.coloraid.de Looking forward the lcms project would grow in future, I will welcome any contribution/optimization/enhancement. Enjoy! Profiling ========= There is a new, separate library for building monitor and scanner profiles in littlecms site. NOTE THAT THE PROFILERS LIBRARY IS RELEASED UNDER GPL. You can reach the profiler construction set on http://www.littlecms.com New in ver 1.08 =============== Full hexachrome & 5 inks support. lcms can now restore RGB from HiFi images. Improved portability. Now lcms runs on Alphas. Multiprofile transforms: Joins more than two profiles in one transform, for sophisticated color flow schemes. A set of conversion routines to pack/unpack Lab/XYZ encoded values. Even more scanline formats, now supporting negatives and swap-first layouts Polar form or Lab (LCh) conversion, and gamut clipping routines CIECAM97s appearance model. More precission on precalculated transforms, and a new mode of super-high resolution (48 grid points) New low-level functions to create and save profiles Support for new tags defined in icc spec addendums. Gamut check does work even if adequate tag is not present. Built-In Lab/XYZ/sRGB profiles. VisualC++ can now build the lcms DLL More compilers supported Configuration ============= All configuration is done by commenting/uncommenting a set of toggles placed on the beginning of lcms.h Normally, there is no need to touch anything. Only make sure to set properly the NON_WINDOWS toggle if you are using the engine in non MS-Windows environtments, and USE_BIG_ENDIAN if your machine does use this convention. Remaining toggles does control optimization degree. ANSI C / C99 ============ I have recived some complains about the claim lcms is written in ANSI-C. The code is NOT ANSI C in the way you cannot drop it directly to any ANSI C compiler and expect it will work on first try. But if you would like to port anyway, first take a look on lcms.h You should use the NON_WINDOWS toggle for activate alternate defines. Syntax of code is very close to ANSI-C. Check also USE_BIG_ENDIAN toggle if your target machine works in such way. Delphi ====== Delphi should also have the ability of compile the engine, since it includes BC C 5.4 as a command-line version. So, in theory, despite I have not been able to check it directly, it should work. Delphi access to the engine can be easely accomplished by using the DLL and the supplied unit LCMSDLL.PAS See the Delphi directory for more details. Kylix ===== No interface for Kylix is done (yet!) but seems to be quite easy to do. If you have interest on it, please drop me a note. marti@littlecms.com GCC === Thanks to Karl Heinz Kremer, since ver 1.06, lcms does compile under gcc in linux environments. For compatibility sake, the fixed point math primitives are implemented using floating point. Obviously this can slow down the transforms. If your machine does support the new __int64 or "long long" type, you can gain speed by defining the USE_INT64 toggle. There is a separate tarball holding the linux redistributable. Other languages (windows) ========================= Using the DLL, you could access the engine from almost any language in Win32 environments. If your compiler has IMPLIB.EXE import librarian, you can generate your own lib by extracting entry points directly from LCMS.DLL If this fails, and your linker does accept .DEF files you can try to include the definition file on linking step LCMSDEF.DEF About profiles ============== The demo of this package includes some profiles for colorspace conversions. I figure all of them are in public domain, but since some contains copyright notice, I will enumerate here the sources: Sun Microsystems Java SDK (widely available) Kodak public FTP site: ftp.kodak.com ICM Stress demo from microsoft. www.microsoft.com sRGB from sRGB site www.srgb.com If you found some profile of these not to be in public domain, please notify me. I will remove the offending profile as soon as posible. Additional files ================ ICC34.h is the header file the International Color Consortium has posted for version spec 3.4 You can reach it at http://www.color.org