[csswg-drafts] [css2] errata? (#5589)

frivoal has just created a new issue for https://github.com/w3c/csswg-drafts:

== [css2] errata? ==
[CSS2.1 §13.6.3](https://www.w3.org/TR/CSS21/text.html#ctrlchars) (and [2.2 §13.6.3](https://www.w3.org/TR/CSS22/text.html#ctrlchars)) say in :
> Combining characters should be treated as part of the character with which they are supposed to combine.

However, css-text-3 has relaxed this requirement a little bit, in [§1.4](https://drafts.csswg.org/css-text-3/#characters):
> The rendering characteristics of a typographic character unit divided by an element boundary is undefined. Ideally each component should be rendered according to the formatting requirements of its respective element’s properties while maintaining correct shaping and positioning of the typographic character unit as a whole. However, depending on the nature of the formatting differences between its parts and the capabilities of the font technology in use, this is not always possible. Therefore such a typographic character unit may be rendered as belonging to either side of the boundary, or as some approximation of belonging to both. Authors are forewarned that dividing grapheme clusters or ligatures by element boundaries may give inconsistent or undesired results. 

While it would be nice if we could define the precise behavior, L3 is specified this way because it is impossible/impractical in the general case to define how that would work.

However, this means that implementations that are conforming to css-text-3 aren't necessarily conforming to CSS21, so we should probably errata CSS21 accordingly, by keeping the current text as is, but adding "However", followed by the Level 3 text quoted above, or at least its first sentence.

The next sentence in the spec is an example:

> For example, :first-letter styles the entire glyph if you have content like "o<span>&#x308;</span>"; it does not just match the base character.

This example would actually still work, but not for the state reason, but rather [because the ::first-letter pseudo elects the whole first typographic letter unit](https://drafts.csswg.org/css-pseudo-4/#first-text-line), not just the first code point. Since this example would now be missing the point, I suggest we just drop it.

Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/5589 using your GitHub account


-- 
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config

Received on Wednesday, 7 October 2020 07:23:34 UTC