Thank you for your feedback, Alan.
> I really not to sure this is wise. Looking at the image that you have linked, it seems you
> are redefining the line box or inline formatting.
> To break ruby out of an line box and even out of a containing block can possibly impact on
> how inline formatting and block formatting currently work together. It's behavior is
> somewhat like text-shadow or box-shadow with a shadow directly above (or before), both
> of which don't effect the layout.
Well, yes, you're right, but it's not me who tries to do this first. The line-stacking-ruby:exclude-ruby[1] already does what you said as the picture in the spec shows. What I'm trying to do with this proposal is to merge two values, "include-ruby" and "exclude-ruby", and make the switch automatic. The two values come from two different use cases, but it turned out that making an explicit switch doesn't make anyone happy. Rather, a smart and automatic switch is requested by several folks and this is the response to the requests.
> Testing in IE8 mode (IE9 beta), IE9 beta and Safari, I see that ruby annotations already
> have a default formatting. Is this not suiting what is required?
> <http://css-class.com/test/css/text/ruby.htm>
> <http://css-class.com/test/css/text/ruby-vertical.htm>
It's hard to tell from this test, because what "exclude-ruby" tries to solve is an issue when lines have leadings[2], and some lines have ruby while some do not, but none of your tests have leadings.
>From what I tested IE9 and Safari, I think both suffice the "include-ruby" use cases in a pretty good level, but not "exclude-ruby" use cases. To do that, browsers must support the 'line-stacking-ruby' property. What I'd like to propose is to change the default behavior to suffice both use cases, and make the 'line-stacking-ruby' property not necessary.
I guess I agree that it's not an easy to implement, but browser developers have to go through the difficulty you mentioned to implement "exclude-ruby" anyway, so the proposal is here before browser developers start implementing "exclude-ruby".
> 1. What vertical-align position are you talking about that is not baseline?
All cases where ruby affects line-height, so top is the one. Middle in the table-cell is another case, but table-cell has other issues as well. I'm attaching two test cases.
First you see two table cells. The vertical position of the two lines in the cells must match, but they do not, because ruby affects line height.
Next you see two paragraphs, both vertical-align:top, one without ruby and one with ruby. You see the one with ruby aligns to the top of ruby, which is not expected.
We could fix all these cases as separate issues, but all these occur because current implementations include ruby into line height, and I believe fixing the root problem is the right way to go.
> 2. What does AD mean?
I'm sorry for missing the definition. I meant "AD" as defined in CSS 2.1, 10.8.1 Leading and half-leading[2].
[1] http://dev.w3.org/csswg/css3-ruby/#ruby-line-height
[2] http://www.w3.org/TR/CSS2/visudet.html#leading
Regards,
Koji