Maybe I'm Missing The Point but Charles' approach seems wrongheaded to
me. If I understand correctly Charles' approach is to work out at
redisplay time which characters in a buffer need to be aligned with
which other characters so that tabular data is displayed correctly. This
is tricky and likely to be expensive.
But isn't this exactly the problem that tabs are meant to solve? The
package list example looks so bad with a proportional font because
spaces are used instead of tabs. There's no reason that tabs couldn't be
used instead. And frankly I don't think that the "int i; double d"
problem is worth solving.
Stephen J. Turnbull wrote:
[snip]
Eg, it absolutely must involve
arbitrary[1] amounts of backtracking since `mmmm' for most fonts will
be much wider than `iiii', yet there is no guarantee that the former
will occur before the latter in a columnated list, or how far apart
they will be, a non-backtracking implementation is hosed.
No-one else tries to solve the `mmmm' problem (actually I think that
'W's are usually considered the widest letter?). In word processors the
user sets tab stops in inches and it's up to the user to make sure that
the tab stops are wide enough to accommodate the data. I don't see why
we should try to do more. We don't have the concept of inches but
setting tabs in multiples of average character widths would work just as
well.
Jonathan.
--
Jonathan Harris | jhar(a)tardis.ed.ac.uk
London, England | Jonathan.Harris(a)symbian.com