- From: r12a via GitHub <noreply@w3.org>
- Date: Sun, 22 Feb 2026 10:03:01 +0000
- To: public-css-archive@w3.org
We have been over this time and again, so it seems we do need to work on the spec text... It's already pretty clear that the inter-character value is not just some general positioning mechanism, but is **specifically intended** for bopomofo right-side layout, which doesn't introduce non-bopomofo text, and which has very specific placement requirements, especially for the tone marks. > This value is provided for the special case of traditional Chinese as used especially in Taiwan: ruby (made of [bopomofo](https://drafts.csswg.org/css-ruby-1/#g-bopomofo) glyphs) in that context appears vertically along the right side of the base glyph, even when the layout of the base characters is horizontal However, I think this initial sentence needs to be dropped or rewritten: > If the [writing mode](https://drafts.csswg.org/css-writing-modes-4/#writing-mode) of the enclosing [ruby container](https://drafts.csswg.org/css-ruby-1/#ruby-container) is [vertical](https://drafts.csswg.org/css-writing-modes-4/#vertical-writing-mode), this value has the same effect as [over](https://drafts.csswg.org/css-ruby-1/#valdef-ruby-position-over). Sure, it puts stuff on the right side of a character in verticallly set text, but It's not the same effect as 'over' because 1. the same special positioning needs to be applied for bopomofo characters and tone marks, the latter being in a separate column to the right of the bopomofo 2. it is always only one annotation per character 3. it only involves bopomofo and its tone marks (no latin or other text allowed) 4. the side of the line doesn't change depending on the script 5. bopomofo can (though it's unusual) be displayed like furigana (see https://r12a.github.io/scripts/bopomofo/ontheweb). For that, just use the normal ruby position values. The inter-character value is meant to indicate that an annotation is displayed differently (ie. only to the right side of an individual character and using the appropriate relative placement of elements vertically and horizontally). 6. These annotations always appear to the right side of a character whether in vertical or horizontal writing-mode. No distinction needs to be made as to how it behaves in either direction. > There seems to be some kind of unstated assumption that if the ruby annotation is made of bopomofo characters, and if the ruby annotation is ruby-position is inter-character, and/or maybe if the ruby container is vertical, it will somehow happen, but there's nothing explicit. I did push for some clarity about the expected internal positioning here in the early stages, but it was resisted. As for how to do it: Bobby has been experimenting with font-based rendering of the inter-character bopomofo elements. Lot's of people have tried to think of it as embedded writing-mode direction changes — which has been pointed out numerous times to be a non-starter, given the precise relative positioning required for the internal elements. And in the early days Dave ... proposed that Webkit could just get the browser to use script to position the internal elements — which i think would probably be the simplest solution — but nothing happened. > what exactly triggers this behavior. is it always on given some circumstances? Opt it? Opt out? Use of the inter-character value, only. And the expectation should be that only bopomofo characters and associated tone marks occur as the annotation. > what the behavior actually is. CLREQ gives a good starting point for the happy path where everything is set up properly, but what if there's more than the max 3 characters + 1 tone mark that it expects? What if some aren't the same font-size? what if there's some non-bopommofo in there as well? What about… This is specifically for the bopoofo right-side rendering. So there won't be more than 3 character + 1 tone mark. They will all be of the appropriate size. There will not be non-bopomofo content. There won't be any internal markup or CSS value changes — the layout is clearly specified by the document Bobby points to. **Bottom line: this is not intended to be for positioning general content to the right of a character; it is expressly and specifically aimed at rendering standard bopomofo annotations in their normal right-of-base-character position.** -- GitHub Notification of comment by r12a Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/13533#issuecomment-3940624660 using your GitHub account -- Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config
Received on Sunday, 22 February 2026 10:03:03 UTC