From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Drew Adams" Newsgroups: gmane.emacs.devel Subject: RE: facemenu-unlisted-faces Date: Sun, 9 Jul 2006 11:19:13 -0700 Message-ID: References: <873bdbf3er.fsf@catnip.gol.com> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Trace: sea.gmane.org 1152469231 4062 80.91.229.2 (9 Jul 2006 18:20:31 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Sun, 9 Jul 2006 18:20:31 +0000 (UTC) Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Jul 09 20:20:31 2006 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1FzdtF-0005SV-87 for ged-emacs-devel@m.gmane.org; Sun, 09 Jul 2006 20:20:21 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1FzdtE-0008UW-Hc for ged-emacs-devel@m.gmane.org; Sun, 09 Jul 2006 14:20:20 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1FzdsS-00084i-Gr for emacs-devel@gnu.org; Sun, 09 Jul 2006 14:19:32 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1FzdsS-000843-22 for emacs-devel@gnu.org; Sun, 09 Jul 2006 14:19:32 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1FzdsR-00083i-Ec for emacs-devel@gnu.org; Sun, 09 Jul 2006 14:19:31 -0400 Original-Received: from [148.87.113.118] (helo=rgminet01.oracle.com) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_3DES_EDE_CBC_SHA:24) (Exim 4.52) id 1FzdtM-0002FI-6S for emacs-devel@gnu.org; Sun, 09 Jul 2006 14:20:28 -0400 Original-Received: from rgmsgw301.us.oracle.com (rgmsgw301.us.oracle.com [138.1.186.50]) by rgminet01.oracle.com (Switch-3.1.6/Switch-3.1.6) with ESMTP id k69IJT3h031426 for ; Sun, 9 Jul 2006 12:19:29 -0600 Original-Received: from dradamslap (dhcp-amer-csvpn-gw2-141-144-72-159.vpn.oracle.com [141.144.72.159]) by rgmsgw301.us.oracle.com (Switch-3.1.7/Switch-3.1.7) with SMTP id k69IJSk5012370 (version=TLSv1/SSLv3 cipher=RC4-MD5 bits=128 verify=NO) for ; Sun, 9 Jul 2006 12:19:28 -0600 Original-To: X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook IMO, Build 9.0.6604 (9.0.2911.0) In-reply-to: <873bdbf3er.fsf@catnip.gol.com> X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1807 Importance: Normal X-Brightmail-Tracker: AAAAAQAAAAI= X-Brightmail-Tracker: AAAAAQAAAAI= X-Whitelist: TRUE X-Whitelist: TRUE X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:56853 Archived-At: > Fixed pitch _can_ be treated like any of the other constant > "properties", _if we want_. It's not just an arbitrary choice -- "fixed pitchedness" is not typically a composable property of fonts like boldness/size/family/etc. Family? I'm not sure that family is composable (face `fixed-pitch' is, after all, just a face with only :font-family defined). But I agree with the general idea. It would be _nice_ if it were -- it would be very convenient to be able to say `give me a fixed pitch font that otherwise "matches" the underlying font', for instance; but as far as I can see, that would probably be hard to implement, because it's not supported by the underlying font mechanisms and designs. [However, I also see no evidence that users think of it that way.] I do agree 100%, and I think I stated that. I proposed, for precisely that reason, that we remove fixed pitchness from the Text Properties menu altogether, and treat it like the font property it is. My point was this: - `fixed-pitch' would be available as a face in the Text Properties menu anyway, via the Faces... item. That item would display the list of all faces, including `fixed-pitch', and let you click to apply any of them to selected text. - _If_ someone (e.g. RMS) insisted that fixed pitchness also be available in the Text Properties menu at the same level as the various face attributes (Bold etc.), then that _could_ be done. We could make it so that the user thought s?he were simply applying an attribute/property of fixed pitchness - as opposed to applying face `fixed-pitch'. In the latter case, yes, I agree that fixed pitchness, even if we passed it off as a (pseudo) text property, so users could think of it that way, would be different from the others, in that it is not composable (good way to put it; thanks). Applying fixed pitchness might wipe out (in appearance) other attributes a user had previously applied. Because of this difference and source of possible confusion, I proposed that we not put fixed pitchness on the Text Properties menu (except as a face like any other), and, instead, treat it like the font property it is. IIUC, fixed pitchness is properly understood as picking a fixed-pitch font. Face `fixed-pitch' is simply a face whose only defined attribute is :font-family (Courier). Currently, users can only apply that particular fixed-pitch face, so they can only get the particular fixed-pitch font Courier this way. So, there would be no loss of generality if we treated fixed pitchness as :font-family "Courier". (Replace "Courier" with another fixed-pitch font if the :font-family value is determined dynamically, based on available fonts. It is constant for any given installation.) In sum, wrt how we treat fixed pitchness, these are my preferences, in descending order: 1. Remove it from the Text Properties menu altogether (except as a face in Faces...). Let/make users change font to get a fixed-pitch font. Changing font is not in the Text Properties menu, in general, and that's TRT. 2. Treat it as a (pseudo) text property, letting users "apply" it as they apply Bold. This would apply attribute :font-family with a value of "Courier" (or whatever). This might also require removal of some other text attributes (e.g. :bold), if the installed Courier fonts did not support them. Users would be told in the doc that this represents a change of font family. A message could warn users that other text properties have been removed (or will be removed) when this is applied. 3. Do what Richard suggested: Keep `fixed-pitch' as the only face in the top level of the Text Properties menu. I assume he meant that it would appear along with Bold etc., but the user would be applying the _face_ when s?he chooses Fixed Pitch. I prefer #1 because it is simpler and more correct. The user's conceptual model is of applying styles and colors, and in #1 these map perfectly to (composable) font attributes. The conceptual model fits the implementation, which is especially important for Emacs users, because they can and do drill, dig, and tweak below the surface. I prefer #2 over #3 because it is simpler for the user. The user's model is of applying styles and colors, and it is not that aberrant to treat font family as a kind of "style". IOW, the user could think in this way - the user's mental model would be simple and coherent, even if it conflicted (in the case of fixed pitch) with what the implementation is. I can live with #3. I really don't care much about this, in spite of all the spilt ink.