Kirill 'Big K' Katsnelson writes:
Some time ago, Ben Wing wrote...
>The hope was the opposite -- eliminate the "font" property and
>separate out each individual property of it to a separate face
>property. The problem was, there was disagreement over how to
>design this. Kyle wants to have a "font" property containing a
>list of all the actual font properties. I think it's arbitrary
>to distinguish between font and other properties, and that all
>properties should be equal at the face level.
Why the opposite? Perhaps I misworded the question somehow. Second
try. :) Should underline and strike out properties go away from
fonts and remain only on the face level?
I agree with Ben. I wrote not the best code in my life just
to separate underline property of the font to be a property
of the face, despite that in Windows it is a property of the
former. Not only the division line between font and face
properties is random, it is different in Windows and in
X. Faces should be -- eh -- homogenized?
It isn't random, it is just not the same under X and under
Windows and under ttys. The differences are due to difference
in these environments. That's exactly why we should not add a
bunch of face properties for fonts. Let the differences be
encoded in the instantiators for the face's font specifier.
This way when the next operating system comes along, with yet
another font model, we won't have to change the low level API
once again to try to make everything look the same.
Is it possible to kick fonts away form the lisp level at all? Fonts
are not abstract enough, faces are.
I really don't want to do this. I don't want so much abstraction
that it is hard to specify a single font, simply and exactly. I
don't want to have to set fifteen face properties just to specify a
font. I don't want code that uses the existing API to be broken.