From 22f703cab05b7cd368f4de9e03991b7664dc5022 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Mon, 1 Sep 2014 13:56:46 +0200 Subject: Initial import of argyll version 1.5.1-8 --- icc/Readme.txt | 150 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 150 insertions(+) create mode 100644 icc/Readme.txt (limited to 'icc/Readme.txt') diff --git a/icc/Readme.txt b/icc/Readme.txt new file mode 100644 index 0000000..0ec425e --- /dev/null +++ b/icc/Readme.txt @@ -0,0 +1,150 @@ +ICC profile I/O library (icclib), README file +--------------------------------------------- + +This version is part of Argyll V 1.50 + +------------------------------------------- + +Date 22 September 2012, Version 2.14 + +This distribution contains source code which implements the reading and +writing of color profile files that conform to the International Color +Consortium (ICC) Profile Format Specification, Version 3.4. + +For more information about the ICC, and for copies of the specification, +please refer to + +(Note that this software is written from the ICC V3.4 standard, but the +software and its author are not affiliated with, or otherwise connected +with the ICC.) + +The ICC profile I/O library archive is kept at + +Motivation + +Color is still very much a black art to many programmers dealing with +computer graphics. The ICC Profile Format is an industry attempt to provide +an interchange format to help solve the problems of specifying color, and +in transferring color graphics from, and between systems and devices. +Although the ICC format has been around a number of years, and has long +been adopted by companies in the business of providing systems for +publishing and printing, and is now widely used as part of commercial +operating system support for device independent color, its uptake in the +general world of computer graphics has been slow. + +The writing of this library was prompted by my private and professional +enthusiasm for computer graphics, and color. Inspired by other examples of +freely usable software (notably the Independent JPEG Group's free JPEG +software, and Sam Leffler's TIFF library), I have decided to make this +library available under similar terms. I hope that this library will +provide a starting point for including ICC profile support more widely that +is currently the case, particularly in open source code projects. + +Overview + +This package contains a C software implementation of the ICC Profile +Format, Version 3.4. The ICC Profile Format attempts to provide a +cross-platform device profile format, that can be used to translate color +data created on one device into another device's native color space. For a +fuller explanation of what the ICC Profile Format is all about, please +refer to http://www.color.org, and the profile specification. + +In summary this library provides: + + * Full source code, free for commercial and non-commercial use. + * Support for all version 3.4 header elements, Tags and Tag Types. + * Conversion to/from machine native representation of all data + types. + * Support for user defined Tags. + * Support for adding/deleting Tags. + * Support for Tag type sharing within a file (often used for + sharing LUTs amongst intents). + * Support for reading/writing embedded profiles, including from/to + a memory buffer, rather than a file. + * Provides a single function for transforming color values through + a profile, including support for intents, forward and reverse + transforms, gamut lookup or preview lookup. + * Provides support and code examples for creating all profile + types, monochrome, matrix and Lut. + * Attempts to be platform neutral, and flexibility in its use of + system file and memory sub-systems. + * Loads Tag Types on demand to conserve memory space. + +Changes from V2.11 + +Many changes have been made to support ArgyllCMS. +A double memory free bug when iccdump'ing a profile +that has duplicate tags has been fixed. + +Package contents: + + icclib.zip ZIP archive of the following files + README.txt This file. + License.txt Important! - Permissions for use of this package. + icc.c Library source file. + iccstd.c Library source that uses stdio and malloc system calls. + + icc.h Library include file. Note machine dependent defines. + Includes iccV42.h. + iccV42.h Standard ICC header file modified up to Version 4.2 spec. + iccdump.c Program that dumps ASCII description of a profile. + + icclu.c Program that allows interactive or batch translation of + color values though a profile. + + icctest.c Basic library tag Read/Write example and regression test + code. + + lutest.c Color lookup regression test code, and example for creating + color profiles. + + iccrw.c Source code skeleton for reading and then re-writing a + profile. + + Jamfile JAM style "makefile" see + http://www.perforce.com/jam/jam.html + + Makefile Generic style makefile. Edit this to select the appropriate + system makefile rules. + Makefile.IBMNTMakefile ruleset for Windows NT using the IBM compiler. + Makefile.OSX Makefile ruleset for Mac OSX environment. + Makefile.UNIX Makefile ruleset for Linux style environment. + + Makefile.WNT Makefile ruleset for Windows NT using the Microsoft Visual + C++ compiler. + +Style + +For handling convenience, I have included all the library source code in +two files. The down side is that they are both hard to read and navigate +through. The code could do with some cleaning up and rearrangement, to make +clear the distinction between public and private elements. (C++ would help +here, but is less portable.) The code attempts to be ANSI C compliant, +written in an object oriented style. A tutorial on how to use the library +would also be a good thing ! + +The best way to learn how to use the library, is to take a look at +icctest.c, lutest.c and iccrw.c. The first is used to test writing and +reading to every type of element, with every possible variation of usage. +You will need a copy of the ICC spec. handy to understand what it all +means. The second source file specifically creates and then tests various +types of profiles, including monochrome, matrix and Lut style profiles. The +last is a source code skeleton, that reads a profile completely into +memory, and then writes it out again to a different file. + +With the release of version 2.00 of icclib, the library is now as useful as +it is likely to be, allowing convenient color conversion between PCS +(profile connection spaces, either XYZ or Lab) and device specific color +spaces. The library does not attempt to be a complete color management +system however, lacking profile creation and linking functionality. Icclib +is part of the Argyll CMS, which does attempt to be a complete color +management system. Argyll can be used as a more realistic example of the +use of icclib. I plan at some stage to upgrade icclib to be compatible with +the recently released ICC V4 spec., but will probably get around to this +sometime after the next major release of Argyll. + +I welcome feedback, positive or negative, so please mail me at + + Graeme at argyllcms dot com + +Graeme Gill -- cgit v1.2.3