emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: sRGB color support in NS port


From: Steve Purcell
Subject: Re: sRGB color support in NS port
Date: Fri, 20 Dec 2013 20:21:55 +0000

On 20 Dec 2013, at 18:55, Jan Djärv <address@hidden> wrote:
>>> From: Steve Purcell <address@hidden>
>>> My understanding is that everyone who cares about colour accuracy on OS X 
>>> builds his Emacs with an sRGB patch of some sort.
> 
> Your understanding is not fact.


Agreed. It would be nice to do a survey sometime.



> 
>>> As for making this a build option, I don’t even think the non-sRGB colours 
>>> should be an option on OS X, though I can’t speak for the whole NS platform.
> 
> It must be an option.  The patch uses colorWithSRGBRed, which isn't 
> availiable on OSX < 10.7.
> sRGBColorSpace isn't available on OSX 10.4, which Emacs still supports.
> Are you proposing ditching earlier OSX versions than 10.7?


No, in that case an option is clearly the better choice. But it should likely 
be enabled by default when supported:

In Windows, sRGB is the default color space [1], and sRGB is also the most 
widely-used standard color space on OS X. This presumably means that when 
people on those platforms pick RGB colors which they would like Emacs to 
reproduce, the hex values they obtain and use are for sRGB. (When picking 
colors on X, results will vary due to the patchy color management.)

And in any case, Generic RGB is not an “absolute color space” [2], meaning that 
its values have no correspondence with absolute well-defined colours, so 
telling a host OS to just display a given generic RGB colour is going to result 
in OS-dependent mapping into an absolute color space, which may or may not be 
sRGB. Better then, I would think, to just handle colors as sRGB throughout 
where possible.

-Steve


[1] http://msdn.microsoft.com/en-us/library/windows/hardware/gg487409.aspx
[2] https://en.wikipedia.org/wiki/Absolute_color_space


reply via email to

[Prev in Thread] Current Thread [Next in Thread]