[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

fonts in CLtL

I believe that all of us at CMU (I'm sure I'll be corrected if I'm
wrong) feel that the fonts attribute in a character is worthless.  For
editor-like applications, it's too much work and too much wasted storage
to deal with this on a per-character basis.  It might be useful for
extended character sets (e.g. Greek or Japanese), but not for the usual
use of switching between various sizes and shapes of Roman characters.
It's much better to use an additional data structure for that.

I've felt for some time that the bits attribute is also a bit misguided.
It seems to me that there are two distinct concepts that have become
muddled together: input keystroke objects, which are probably keyborad
or system dependent and which want to represent things like the various
flavors of shift and whether a keystroke came from the alphanumeric area
or the numeric keypad, and internal characters in some implementation
independent encoding suitable for stuffing into strings or shoving into
an output stream.  The former has "bits" attached, but all you really do
with such things is pass them around, translate them to true characters,
dispatch on them, and maybe store them into a script of some sort.

This is not something to be changed lightly, but I agree with Masinter
that it is probably worth seeing whether anyone is really using these
thing sin the way that they were originally intended to be used.  If
nobody is, or if the people using them also feel that they are not the
right thing, then we should think hard about making a change.

-- Scott