Kyle, if you propose separating out "font" characteristics, please
specify exactly what "font" means.  IMO it's not a well-defined concept
and you obviously feel differently, so I'd like to see what you think.
Make sure your spec is window-system-independent and that you address
Hrvoje's points w.r.t. bold, underline, inverse, etc.
ben
Kyle Jones wrote:
 Ben Wing writes:
  > Kyle, take a look at what other systems do, e.g. style sheets.
  > They don't make arbitrary distinctions like you're proposing.
  > All text-display properties are on the same level.  There is
  > no "font" property.
 Yes, but style sheets are used under a different system with a
 different philosophy.  Web documents are by necessity loosely
 specified with the client filling in the details.  We are
 implementing a low level interface and need to specify exactly
 what we want, and also need to be able to easily access what
 someone has specified.  For what we're doing, segregating device
 specific things like font information in a specifier looks
 exactly right to me.  I see font specifiers being much like color
 specifiers.  It is so much better to be able to
 (set-face-background 'foo "rgb:30/30/30" 'x)
 instead of having separate face properties for RGB values, HVC
 values and all the other color specification methods in
 existence.  With a font specifier a programmer can specify things
 for X Windows and not worry about how Windows or some new OS we
 support is going to react to the generic font-family property.
 And when we need to find out what font is being used, the font
 specifier is quite handy.  If we ignore XEmacs-Mule, it is easy
 to find out what font is being used in a window, and to find out
 if the font is window/buffer/frame/device-type specific.  This
 looks a whole lot harder without a font specifier, and without
 constraints on the face properties that relate to the font
 specification.
 I appreciate that a style-sheet like interface is useful; giving
 the system a vague specificationa and letting it fill in the
 details is quite handy.  But I don't think hacking together
 fonts and faces is the best way to achieve that flexibility.  I
 think that it would be better to create a higher level construct
 for this purpose if we need one.
  > Compatibility arguments make little sense to me because we've
  > changed the way face attributes are handled many times in the
  > past, and not felt compelled to turn XEmacs into a "mode
  > monster" ala Intel chips.
 Yes, but it is time for this kind of wholesale rejiggering to
 stop.  New ideas are good, but the world keeps running thanks to
 day-to-day compatibility.  We are past the point where we can
 claim that the product is so new that we won't hurt many people
 by radically changing the APIs.  We passed that point years ago. 
--
In order to save my hands, I am cutting back on my responses, especially
to XEmacs-related mail.  You _will_ get a response, but please be
patient.
If you need an immediate response and it is not apparent in your
message,
please say so.  Thanks for your understanding.