Re: [css3-linebox] Proposal to add "auto" value for the line-stacking-ruby property

On Nov 29, 2010, at 11:57 PM, Koji Ishii wrote:

> Hi All,
> 
> I would like to propose to add "auto" value to the line-stacking-ruby property:
> http://dev.w3.org/csswg/css3-linebox/#line-stacking-ruby
> 
> This value behaves exactly same as "exclude-ruby", except when the ruby text overwraps with the previous line, the UA should increase line spacing to avoid overwraps.
> 
> The idea is that, usually "exclude-ruby" is the correct behavior for the ruby text in most of cases, I believe no one objects on this, but when the ruby text overwraps previous/next line, it splits; some wants to increase the line spacing, while some wants to leave it overwrapped.
> 
> If you listen to people who wants to leave it overwrapped, it is because it makes them easier to find issues, and it is considered to be editor's responsibility to take necessary actions depending on the situation; sometimes increase line spacing for the line, sometimes increase all line spacing of the body text, sometimes change the size of ruby text, and so forth. I believe no one wants to leave overwraps left as is.
> 
> I think "exclude-ruby" is very good for professional publishers, but I also think the default value should be a little more friendly to the browser users. The "auto" value must help users to use their user style sheets and prevents overwraps of ruby text over the previous lines, while keeping a good typography when the line height has enough space for ruby text.
> 
> Any opinions are greatly appreciated.

I believe you mean "overlap" instead of overwrap?

It's an odd coincidence, but I just changed this behavior in WebKit about a week ago.

WebKit now implements this behavior by default for Ruby.  WebKit will not include the Ruby at first when laying out a line, and if after it's done, some Ruby overlaps the previous line (or the next line in vertical-lr), then the spacing is increased to accommodate the Ruby.

The one use case I can think of for line-stacking-ruby:exclude-ruby is in paginated content, you might like the Ruby on the first line to be in the margin area of the page. Maybe that could just be part of the default behavior at page breaks though.  If the property does have to exist, then that's fine I guess, but the default should not be "always exclude" or "always include."

dave
(hyatt@apple.com)

Received on Tuesday, 30 November 2010 17:49:50 UTC