From ba450b6f462e278fcd3bc96c88f154fce219f5fc Mon Sep 17 00:00:00 2001 From: =?utf8?q?Mattias=20Engdeg=C3=A5rd?= Date: Thu, 18 Jun 2020 21:16:42 +0200 Subject: [PATCH] Define the dark luminance limit as a named constant To make the meaning of the color-dark-p cutoff luminance clear, define it as a named constant. (We no longer use the somewhat obscure 0.6^2.2 definition since it doesn't really make sense to define the limit in gamma-compressed space.) * lisp/faces.el (color-luminance-dark-limit): New constant. (color-dark-p): Use color-luminance-dark-limit. --- lisp/faces.el | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lisp/faces.el b/lisp/faces.el index f6b9593b9df..2480aaaf146 100644 --- a/lisp/faces.el +++ b/lisp/faces.el @@ -1794,6 +1794,11 @@ on which one provides better contrast with COLOR." (color-values color))) "#ffffff" "black")) +(defconst color-luminance-dark-limit 0.325 + "The relative luminance below which a color is considered 'dark', +in the sense that white text is more readable than black with the +color as background. This value was determined experimentally.") + (defun color-dark-p (rgb) "Whether RGB is more readable against white than black. RGB is a 3-element list (R G B), each component in the range [0,1]. @@ -1814,7 +1819,7 @@ contrast colour with RGB as background and as foreground." (g (expt sg 2.2)) (b (expt sb 2.2)) (y (+ (* r 0.2126) (* g 0.7152) (* b 0.0722)))) - (< y (eval-when-compile (expt 0.6 2.2))))) + (< y color-luminance-dark-limit))) (declare-function xw-color-defined-p "xfns.c" (color &optional frame)) -- 2.39.5