[Openicc] Proposed "ucmm" display profile configuration convention used by ArgyllCMS.
Stefan Döhla
color at doehla.de
Mon Jun 2 04:43:58 PDT 2008
Hi Graeme,
good to hear that there's some momentum for a Linux CMM. But I'm
curious: What's the reason for another format (JSON) instead of XML or a
simple INI file? XML is much more readable and there's a gazillion
libraries for creating/parsing/modifying XML documents. And as a side
note - by defining an XML schema there are even further possibilities
(like e.g. automatic validity checking, full element documentation
inside the schema, strict element types, ...). A schema is sufficient as
documentation/specification for the file format (certainly, only if it
includes the semantics of the fields).
Cheers
- Stefan
Graeme Gill wrote:
> [snip]
>
> I've written a small library to facilitate access to
> the .jcnf files, that will be licensed under an "MIT" license,
> that makes use of Lloyd Hilaiel's YAJL JSON parser, and takes
> care of the necessary conversion to/from key/value form,
> and file locking. The intention is to add this as a back
> end to Elektra, to permit a common color configuration format,
> while not tying color configuration to Elektra.
>
> [snip]
>
> The configuration format of the color.jcnf files uses the
> JSON JavaScript Object Notation <http://www.json.org/>,
> a lightweight data-interchange format.
>
> A hierarchy of members is used to represent a hierarchical key/value pair format.
>
> The monitor to ICC profile association is organized as independent records, having the form:
>
> key value
>
> devices/display/N/EDID Monitor EDID in upper case Hexadecimal
> devices/display/N/ICC_PROFILE Full path to the associated ICC profile
>
> or
>
> devices/display/N/NAME X11 display name
> devices/display/N/ICC_PROFILE Full path to the associated ICC profile
>
> where N is a number starting from 1, that distinguishes each record, but otherwise
> has no special meaning.
>
> The first form is the preferred form, since it associates the profile with
> the actual physical display, and therefore it is possible to have the profile track
> the display, no matter which X11 screen it is plugged into. The second
> form is a fallback, for situations in which a monitor does not have an
> EDID, or where the X11 server is configured in a way that does not
> permit access to the EDID (i.e.., on a second screen when Xinerama is running).
>
> For example, the following is an example of a per user color.jcnf:
>
> {
> "devices": {
> "display": {
> "1": {
> "EDID": "0x00FFFFFFFFFFFF0034A1731751720000150901010C1F17CDE8A11E9E554A982712474FA4CE0045598180315961590101010101010101000000FE004D6F6E69746F720A2020202020000000FE004D6F6E69746F720A2020202020000000FE004D6F6E69746F720A2020202020000000FE004D6F6E69746F720A2020202020003D",
> "ICC_PROFILE": "/home/graeme/.local/share/color/devices/display/mon1.icc"
> },
> "2": {
> "NAME": ":0.1",
> "ICC_PROFILE": "/home/graeme/.local/share/color/devices/display/mon2.icc"
> }
> }
> }
> }
>
More information about the openicc
mailing list