From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: Drew Adams Newsgroups: gmane.emacs.devel Subject: RE: master 68ae6fa: Improved light/dark colour predicate (bug#41544) Date: Fri, 12 Jun 2020 12:02:36 -0700 (PDT) Message-ID: <68429610-f9e0-4566-8ed4-0b1a42fe030f@default> References: <20200610181238.9796.44750@vcs0.savannah.gnu.org> <20200610181239.947C4204DF@vcs0.savannah.gnu.org> <93F81C41-E774-4C02-9E9D-5B2CD1F66445@acm.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="__1591988558131185241abhmp0009.oracle.com" Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="80731"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Stefan Monnier , Emacs developers To: =?iso-8859-1?B?TWF0dGlhcyBFbmdkZWflcmQ=?= , Yuri Khan Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Fri Jun 12 21:06:38 2020 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jjp0e-000Ky9-TD for ged-emacs-devel@m.gmane-mx.org; Fri, 12 Jun 2020 21:06:37 +0200 Original-Received: from localhost ([::1]:54080 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jjp0d-0006Ih-Te for ged-emacs-devel@m.gmane-mx.org; Fri, 12 Jun 2020 15:06:35 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:55326) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jjoyt-0003WD-LH for emacs-devel@gnu.org; Fri, 12 Jun 2020 15:04:50 -0400 Original-Received: from aserp2120.oracle.com ([141.146.126.78]:44686) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jjoyr-00072e-Jr for emacs-devel@gnu.org; Fri, 12 Jun 2020 15:04:47 -0400 Original-Received: from pps.filterd (aserp2120.oracle.com [127.0.0.1]) by aserp2120.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 05CJ310k196484; Fri, 12 Jun 2020 19:04:42 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=mime-version : message-id : date : from : sender : to : cc : subject : references : in-reply-to : content-type; s=corp-2020-01-29; bh=XqHyGJW1jRyGvHA1/naVoycKYTbGKbj3oV69Jw2EBiI=; b=te3HRbJnPk4kHgljv/aoYpflqnFGyepQiMDJkRo9x/7veq2YkRvMX98pqu4MznnsXZMt SBKRz98TbXFEshOkYDIPAUM69XGu1Jae0NR6guuq3CdBxdUb9SAwb6JLqgq1ua2fhCTk U+4gmCYv5qFKChR71yDbJAtuAeD1E5IKoY9DTWHzTj4NufTPOQHkbVWzimm+dfFxZDIC E+GB5ZA4o0I9EGlkQc8MGzIV2R6JzAbfEHWG+tK/xeN/NvPsMmRIWq8taRB4ikJxRm/y rIP1uzd9fwG+u0RlGm+QeWNLbjI6zFVnwlipJNr9D3za+YgJCqHrM4H9JAdGstOWhgVO OQ== Original-Received: from userp3030.oracle.com (userp3030.oracle.com [156.151.31.80]) by aserp2120.oracle.com with ESMTP id 31jepp8brc-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Fri, 12 Jun 2020 19:04:42 +0000 Original-Received: from pps.filterd (userp3030.oracle.com [127.0.0.1]) by userp3030.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 05CJ2SiF125836; Fri, 12 Jun 2020 19:02:40 GMT Original-Received: from aserv0121.oracle.com (aserv0121.oracle.com [141.146.126.235]) by userp3030.oracle.com with ESMTP id 31mfgyr0a0-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 12 Jun 2020 19:02:40 +0000 Original-Received: from abhmp0009.oracle.com (abhmp0009.oracle.com [141.146.116.15]) by aserv0121.oracle.com (8.14.4/8.13.8) with ESMTP id 05CJ2cVd015503; Fri, 12 Jun 2020 19:02:38 GMT In-Reply-To: <93F81C41-E774-4C02-9E9D-5B2CD1F66445@acm.org> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9.1 (1003210) [OL 16.0.5005.0 (x86)] X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9650 signatures=668680 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 phishscore=0 malwarescore=0 mlxlogscore=999 mlxscore=0 bulkscore=0 suspectscore=0 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2004280000 definitions=main-2006120137 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9650 signatures=668680 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 lowpriorityscore=0 suspectscore=0 priorityscore=1501 bulkscore=0 clxscore=1015 phishscore=0 impostorscore=0 malwarescore=0 mlxscore=0 cotscore=-2147483648 adultscore=0 spamscore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2004280000 definitions=main-2006120138 Received-SPF: pass client-ip=141.146.126.78; envelope-from=drew.adams@oracle.com; helo=aserp2120.oracle.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/06/12 15:04:44 X-ACL-Warn: Detected OS = Linux 3.1-3.10 [fuzzy] X-Spam_score_int: -63 X-Spam_score: -6.4 X-Spam_bar: ------ X-Spam_report: (-6.4 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-1, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H2=-1, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:252145 Archived-At: --__1591988558131185241abhmp0009.oracle.com Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable > Please load the attached code (any Emacs version), and run M-x contrast- > compare with various cutoff values on your favourite system, to find what > value is best for readability of the colour names (first column). >=20 > Colours with luminance (last column) below the cutoff will be use white t= ext, > others black. It is mainly Emacs in graphical (non-TTY) mode that is of > interest. >=20 > Please reply (to emacs-devel or to me) the following pieces of informatio= n: >=20 > * the cutoff value you found optimal > * system information: window system, screen, anything you think is releva= nt > * whether you use a light or dark background in your Emacs Emacs 26.3, MS Windows 10, fairly old Dell monitor. With emacs -Q, so light background:=20 Cutoff 0.325 (default) is OK. .2, .4, .5, and .6 are all OK.=20 To me, showing the same color in both black & white, next to each other, was the most helpful for deciding. I looked mostly at the grays, and looked at their hex codes, which are shown in both black & white. Based on that, I'd say that that gray60 is about the crossover point: black or white foreground are equally readable for gray60 and immediate neighbors. And that corresponds to your default cutoff of about 0.325. See attached screenshot. Around that area, white text was generally more visible/noticeable, but it was less _readable_. But it makes no difference, with that comparison, whether the frame background is light or dark. Why? because the areas to be compared provide their own background - the frame background is seen only with the rightmost (decimal-number) field. --__1591988558131185241abhmp0009.oracle.com Content-Type: image/png; name="throw-color-contrast-grays.png" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="throw-color-contrast-grays.png" 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 --__1591988558131185241abhmp0009.oracle.com--