RE: [CSS3 Ruby] i18n comment 4: Vertical layout not enough for bopomofo

Yes, I think I agree that the implementation needs to do the heavy lifting.

What I'm concerned about is that there should be a ruby-position value that
tells the implementation that it needs to place the ruby text box to the
side, and then do the arrangement of letters and tones as needed.  This is a
clearly different case, and it cannot be applied by detecting that the ruby
text contains just bopomofo characters, since people should have the right
to choose where they want the ruby displayed. It appears that that was the
intention of the 'right' value - though I'd be inclined to label it much
more clearly wrt what it is actually for, such as 'bopomofo'.

/me wondering whether we also need to change the section on ruby box model
to reflect this

I also wonder whether we should specify that a user agent that doesn't
support the right value should fall back to the before position or inline
position plus rp, since not all Uas will support bopomofo immediately.  If
we don't, people still won't be able to use the bopomofo ruby, because they
can't predict that it will produce anything sensible.


Richard Ishida
Internationalization Lead
W3C (World Wide Web Consortium)

> -----Original Message-----
> From: Paul Nelson (ATC) [] 
> Sent: 20 September 2007 14:18
> To: Richard Ishida; Martin Duerst;; 
> Subject: RE: [CSS3 Ruby] i18n comment 4: Vertical layout not 
> enough for bopomofo
> I believe that we should keep CSS expression simple and allow 
> for shaping engines that are aware of text layout to do the 
> heavy lifting. >From this point of view the CSS can define 
> the box model in which the ruby is to be placed and then a 
> shaping engine can do the glyph placement within the defined box.
> In many ways my suggestion is no different than the IPA tone 
> letters that ligate into sliding characters. 
> Paul
> ________________________________
> From: on behalf of Richard Ishida
> Sent: Thu 9/20/2007 6:46 PM
> To: 'Martin Duerst';;
> Subject: RE: [CSS3 Ruby] i18n comment 4: Vertical layout not 
> enough for bopomofo
> > From: Martin Duerst []
> > Sent: 20 September 2007 03:24
> ...
> > >This is not sufficient. The accents in bopomofo ruby are not
> > displayed as a
> > >unidirectional run of text. Bopomofo accents are
> > non-combining characters
> > >that in memory follow the sequence of bopomofo alphabetic 
> characters 
> > >spelling out a syllable. However, the second to fourth tones
> > are displayed
> > >in a separate vertical column to the right of the alphabetic
> > characters,
> > >and the neutral tone marker is displayed as a dot above the
> > column of
> > >alphabetic characters.
> >
> > My understanding is that the placement of accents on bopomofo, like 
> > the placement of all accents and diacritics or other combining 
> > characters, is an issue of basic text rendering, rather than a 
> > layout/styling issue. So I think a reference to some 
> material explaing 
> > how Bopomofo tone markers are placed may be appropriate 
> here, but the 
> > CSS Ruby spec should not go into detail.
> >
> > This is of course unless there are variations of placement 
> that depend 
> > on style that can otherwise not be expressed or derived from the 
> > existing/proposed CSS properties.
> First, bopomofo tone marks are *not combining characters*.  
> They are regular spacing characters that are stored *after* 
> the sequence of bopomofo letters that make up a syllable. In 
> ruby text tones 2-4 are displayed in a vertical column 
> alongside the bopomofo letters, and tone 1 is displayed above 
> the column of bopomofo letters.
> 02C7:     CARON
> 02D9:     DOT ABOVE
> The attached image shows some examples of bopomofo from a set 
> of Taiwanese flash cards for kids.
> The sequence of characters for the example at top left is ???`  ie.
> Michel had written "In order to achieve that effect, 
> vertical-ideographic layout should be set on each individual 
> ruby. That can be accomplished with the following simple CSS 
> rule: ruby.bopomofo { writing-mode: tb-rl }"
> That would not put the accent in the right place for this 
> example.  At the very least you would have to set the styling 
> to writing-mode: tb-lr, vertically centre the alphabetic 
> bopomofo characters, force a line break (something that 
> doesn't make sense for normal ruby), then correctly align the 
> tone mark vertically (see 
18/zhuyin-ruby-posn.gif , but note that the attached image shows > that the
tone mark is vertically positioned alongside the 
> last bopomofo character).
> Things are more complicated when a light tone is used (DOT 
> ABOVE).  This appears at the top of the column of bopomofo 
> letters, even though when written it appears after these in 
> memory.  See the example 2nd row from top to the right: ???
> 02D9:     DOT ABOVE
> I don't know how you would achieve these effects properly by 
> using existing or currently proposed CSS properties, and even 
> approximating them would be such a complicated setup that it 
> would probably merit a simple shortcut anyway.  If the 
> 'right' value was designed specifically to handle bopomofo, I 
> think it should not require a bunch of additional properties 
> and classes to display the text as expected.  The presence of 
> the right value should indicate to the user agent that it 
> should expect bopomofo text and arrange any tone marks 
> appropriately. (Which is why I had also suggested that this 
> value be renamed 'bopomofo', to more clearly indicate its use.)
> Hth
> RI

Received on Thursday, 20 September 2007 18:51:06 UTC