Re: New CSS1 draft available

Bert Bos wrote:
[re drop caps]
> Eventually they'll need something extra. Aligning them to the
> cap-height and the baselines should be possible, but it should also
> possible to have large initials that are half above and half below
> first line. Only the lower half will have text wrapping around it.

This is why I suggested 'first-letter-raise:' and 'first-letter-drop:'.
> Intelligent contours (a `V' is not a rectangle), and letters that are
> `visually' aligned, rather than mechanically, should also be

This is not something that even DTP programs do without manual
intervention by the designer. And before applying resources to figure
how to do it for initial caps, why not generalize the mechanism so it
could be applied to any floated element? What's needed is some kind of
'bound' attribute that has precedence over 'margin' in affecting how
other elements flow around a float. 'bound' would take a list of
coordinate pairs (relative to the upper left corner of the bounding box
around the element) to construct a bounding polygon around the element.
Then you could build your first-letter bound and give the parameters to
a renderer that already understands them. This is the kind of thing I
was suggesting for 'first-letter-raise' and 'first-letter-drop'.
Compute the margins to get the effect you need in terms of properties
that already exist. By focusing on a specific instance of a problem, a
more general solution is missed. This is the mentality that produces

> We're open for suggestions. There is still a lot to do after CSS1. On
> our list of things to investigate are
>    1. `li' (lines) as a special, context-dependent length unit
>    2. a property drop-cap-lines
>    3. a new type display:drop-cap

Why 'drop-cap-lines' and 'drop-cap'? Why not a more general
'first-letter-drop' and 'first-letter-raise', able to take any length
unit, but with % and li dependent on the parent's line-height?

>    4. access to font information (ascender, descender, cap-height,
>    5. vertical alignments for floats

When MSIE first implemented CSS1, the biggest topic of conversation was
the power of negative margins. What happened? We've already got
vertical alignment of floats if margins are interpreted intelligently.
A negative margin-top should raise the element, shouldn't it? If my
comments regarding the use of margin-top to vertically position a
floating element are incorrect, please tell me.

> (2) and (3) together would be a simple way of specifying traditional
> drop-caps, but more and more you see designs where the top of the
> large initial is above the first line. Maybe `drop-cap-lines' should
> have two parameters: how much to lower the baseline and how much to
> raise the top. For example: `3' (= `3 0') = lower 3 lines, `3 2' is
> lower 3 lines and raise 2. But what would `3.5' mean?

How is this unrelated to my suggestion for 'first-letter-raise' and
'first-letter-drop'? To me, in this context, 3.5 means
3.5*(parent.line-height). But if you forget 'drop-cap-lines' and expand
the possibilities, you would need to specify li, as in '3.5li', unless
you choose to declare 'li' the default unit of measurement.