- From: Xidorn Quan <quanxunzhen@gmail.com>
- Date: Fri, 16 Jan 2015 11:38:01 +1100
- To: www-style list <www-style@w3.org>, 董福興 <bobbytung@wanderer.tw>
- Message-ID: <CAMdq698Qfetb3ybqAqWd72JhFgEQszeVkA7fshMi46A7bqKnPA@mail.gmail.com>
Hi, The current CSS Ruby spec requires UAs to position the tone marks in ruby annotation properly in the note below "ruby-position: inter-character;" [1] and I was trying to implement this during the last few days. But it then makes me wonder whether it is worth to implement this in layout engine. The first reason made me think about this was the fact told by Bobby that the tone marks are always positioned in a separate column for vertical bopomofo in all contexts, not only when they are inside ruby annotation. Which means, the tone mark positioning is not limited to inter-character ruby; it also covers ruby and non-ruby text in vertical text. It is definitely what fonts should handle. The other potential problem for this is that, it will never be interoperable until all UAs implement this in the same way. There are a lot of details need to be considered, for example, what tone marks should be repositioned? Only trailing ones, or every one? What exactly position the tone mark should be placed when font or font size vary? It would be hard for author to detect whether a UA support the tone mark positioning, and how it is implemented. In conclusion, I don't think it is a good idea to implement tone mark positioning in layout engine. It would affect interoperability and complicate the impls. The positioning should be handled by fonts. However, we know that no fonts seem to support this currently. They even display a rotated tone mark in vertical text. For this, I suggest we use polyfiller to do the positioning. It would be easier to implement this in JavaScript and DOM, a polyfiller also provides more flexiblilty for authors to control over the behavior. Once the fonts start supporting this, authors can simply remove the polyfiller. The attachment is a simple polyfill demo for tone mark positioning. It seems to work almost fine with Trident and WebKit (with a little problem with Gecko, though, because of the incomplete ruby impl) - Xidorn [1]: http://dev.w3.org/csswg/css-ruby/#valdef-ruby-position-inter-character
Attachments
- text/html attachment: tone-mark-positioning.html
Received on Friday, 16 January 2015 00:39:09 UTC