From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: "Wedler, Christoph" Newsgroups: gmane.emacs.devel Subject: [Feature request] face property `raise' Date: Mon, 7 Apr 2003 19:33:20 +0200 Sender: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Message-ID: <67B8CED503F3D511BB9F0008C75DAD660548556B@dewdfx17> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" X-Trace: main.gmane.org 1049738071 31268 80.91.224.249 (7 Apr 2003 17:54:31 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Mon, 7 Apr 2003 17:54:31 +0000 (UTC) Original-X-From: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Mon Apr 07 19:54:29 2003 Return-path: Original-Received: from quimby.gnus.org ([80.91.224.244]) by main.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 192ap5-00087y-00 for ; Mon, 07 Apr 2003 19:54:23 +0200 Original-Received: from monty-python.gnu.org ([199.232.76.173]) by quimby.gnus.org with esmtp (Exim 3.12 #1 (Debian)) id 192ash-0002wl-00 for ; Mon, 07 Apr 2003 19:58:08 +0200 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.10.13) id 192akZ-0001Js-03 for emacs-devel@quimby.gnus.org; Mon, 07 Apr 2003 13:49:43 -0400 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.10.13) id 192afR-0007jM-00 for emacs-devel@gnu.org; Mon, 07 Apr 2003 13:44:25 -0400 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.10.13) id 192aZj-0005pD-00 for emacs-devel@gnu.org; Mon, 07 Apr 2003 13:38:32 -0400 Original-Received: from smtpde02.sap-ag.de ([155.56.68.170]) by monty-python.gnu.org with esmtp (Exim 4.10.13) id 192aUs-0003Ma-00 for emacs-devel@gnu.org; Mon, 07 Apr 2003 13:33:30 -0400 Original-Received: from sap-ag.de (smtpde02) by smtpde02.sap-ag.de (out) with ESMTP id TAA11677 for ; Mon, 7 Apr 2003 19:33:39 +0200 (MESZ) Original-To: "'emacs-devel@gnu.org'" X-Mailer: Internet Mail Service (5.5.2656.59) X-SAP: out X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1b5 Precedence: list List-Id: Emacs development discussions. List-Help: List-Post: List-Subscribe: , List-Archive: List-Unsubscribe: , Errors-To: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Xref: main.gmane.org gmane.emacs.devel:12981 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:12981 I would like to see a face property `raise' with the same semantics as the display property `raise'. At least, I would like to see that such a property is considered a good idea. A face in Emacs is a named collection of graphical attributes (see ). There are a couple of advantages of faces versus display properties (`image' and STRING don't really relate well to the other display properties), I'll demonstrate them with an example `subscript-face': 1. With faces, you have a nice mechanism which abstracts the logical property "being a subscript" from some physical properties (e.g., "baseline raised by 0.3ex", "font-size 80%", ...) 2. Users can use the usual way to customize things. 3. There is a standard mechanism to "merge" faces. Packagages which use text properties have to define their own merging code. 4. Since faces are named, packages can easily remove the faces from a text region. If a package A uses text properties, it's much more difficult just to remove the properties where A is the owner. 5. There is a package which can set faces according to the syntactical structure of the code/text: font-lock. We could easily define font-lock keywords for super- and subscripts. (I know that the font-lock.el in the Emacs development version has the variable `font-lock-extra-managed-props' which you might think might be used to set display properties, but it doesn't help too much due to 3 and 4 above.) - Christoph