all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Steve Purcell <steve@sanityinc.com>
To: "Jan Djärv" <jan.h.d@swipnet.se>
Cc: Eli Zaretskii <eliz@gnu.org>,
	Bozhidar Batsov <bozhidar@batsov.com>,
	emacs-devel <emacs-devel@gnu.org>
Subject: Re: sRGB color support in NS port [PATCH]
Date: Sat, 21 Dec 2013 19:59:03 +0000	[thread overview]
Message-ID: <80379BE9-B3DA-4FDD-B14A-84B9B2FE1F9C@sanityinc.com> (raw)
In-Reply-To: <58DC893C-519B-4C97-925D-C86B49D93ADD@swipnet.se>

Hi Jan,

On 21 Dec 2013, at 18:10, Jan Djärv <jan.h.d@swipnet.se> wrote:

> Hello.
> 
> 21 dec 2013 kl. 18:37 skrev Steve Purcell <steve@sanityinc.com>:
> 
>> On 21 Dec 2013, at 16:16, Jan Djärv <jan.h.d@swipnet.se> wrote:
>> 
>> 
>>> Also, this is not what the documentation says is the right way to display colors on OSX.
>> 
>> 
>> That’s actually not at all clear to me from the docs: I haven’t found anything which says that programs may only accept from users hex colour literals in the calibrated RGB space.  The docs appear to simply say that that is the space to use within NS programs for shuffling R, G and B values around.  What we’re talking about here is how to interpret user colour input, and how to display colours back to the user as RGB triplets.
>> 
> 
> They don't say "may only", but suggests calibrated color space to overcome differences between monitors.
> Two different monitor should in theory display the same sRGB color the same.  In practice this is seldom so.  So you calibrate each monitor individually to get the same color.


Yes, I understand calibration well, and that is certainly necessary in order to get reliable results. But it is orthogonal to this issue.

If I enter a hex colour value into, say, Photoshop or a web page, I know what colour space it is in, because it is defined.  What colour space are hex colours in Emacs in?  The current answer is, “whatever the host OS likes to work with”.

My view is that we can do better: this is an opportunity to settle on a consistent answer, by defining the reference colour space for Emacs’ RGB literals. And sRGB is the obvious choice, because it is already the standard for Windows and the Web, with the only (widely-accepted) limitation being that certain narrow ranges of colours displayable by extra-wide-gamut monitors are outside the sRGB space.

> 
>> To be useful, the user-oriented RGB notation should presumably denote colours which will be displayed consistently on all machines. For that to be even be possible, those colours must be in an absolute and standard colour space.
> 
> This only applies if all display devices output sRGB the same.  They don't.  Also, sRGB has a limited color range, some wants to go beyond this range (gaumut I think it is called).  Adobe has some RGB color spaces that contains more colors than sRGB for example.


If you have colours specified in sRGB, then they *will* display identically on any calibrated monitor with a colour profile, to the maximum extent possible on that hardware.


>> 
>> On Windows, the RGB colour literals will be assumed to be coordinates within its default sRGB space. On OS X, emacs will claim that they are in the vague “calibrated” space, which is not sRGB, so they will automatically look different between the two platforms. This seems like a shortcoming to me, and it’s not clear to me that making the color space a user preference is the correct fix, at least if the default is the calibrated space.
> 
> Well, OSX doesn't use \ in paths like Windows either, not does it use 16 bit chars in API:s and a bunch of other differences.  Saying X does something, therefore we must do like X is a nonsense argument.


That summary of my argument does not accurately reflect the point I was making.

This seems like an opportunity to do something that helps colours *actually look the same* across platforms, because the current situation only guarantees that they will look different.

-Steve


  reply	other threads:[~2013-12-21 19:59 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-12-20 17:41 sRGB color support in NS port Bozhidar Batsov
2013-12-20 18:04 ` Steve Purcell
2013-12-20 18:13   ` Eli Zaretskii
2013-12-20 18:55     ` Jan Djärv
2013-12-20 20:19       ` Bozhidar Batsov
2013-12-21 14:10         ` sRGB color support in NS port [PATCH] Steve Purcell
2013-12-21 14:59           ` Bozhidar Batsov
2013-12-21 16:16           ` Jan Djärv
2013-12-21 17:37             ` Steve Purcell
2013-12-21 18:10               ` Jan Djärv
2013-12-21 19:59                 ` Steve Purcell [this message]
2013-12-21 20:26               ` David De La Harpe Golden
2013-12-21 21:11                 ` Steve Purcell
2013-12-22  0:31                 ` Stephen J. Turnbull
2013-12-22 13:55                   ` Steve Purcell
2013-12-22 21:20                   ` David De La Harpe Golden
2013-12-22 21:32                     ` Jan Djärv
2013-12-22 22:41                       ` David De La Harpe Golden
2013-12-22 23:52                         ` Jan Djärv
2013-12-23 12:42                     ` Stephen J. Turnbull
2013-12-24 10:56                       ` Steve Purcell
2013-12-26  9:45                         ` Julien Danjou
2013-12-26 12:12                           ` Steve Purcell
2013-12-26 18:07                             ` Steve Purcell
2013-12-20 20:21       ` sRGB color support in NS port Steve Purcell
2013-12-20 18:12 ` Jan Djärv

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=80379BE9-B3DA-4FDD-B14A-84B9B2FE1F9C@sanityinc.com \
    --to=steve@sanityinc.com \
    --cc=bozhidar@batsov.com \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=jan.h.d@swipnet.se \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.