[csswg-drafts] [css-fonts-4] `font-variant-emoji` lacks fallback algorithm or outcome definition (#9291)

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

== [css-fonts-4] `font-variant-emoji` lacks fallback algorithm or outcome definition ==
https://www.w3.org/TR/css-fonts-4/#font-variant-emoji-prop

> This property is expected to affect font fallback; however, the exact nature of the interaction of font fallback with [font-variant-emoji](https://www.w3.org/TR/css-fonts-4/#propdef-font-variant-emoji) is explicitly unspecified. However, a variation selector must be included in a previous cluster as defined by the [cluster matching](https://www.w3.org/TR/css-fonts-4/#cluster-matching) section above.

Then further below:

> **`text`** Code points are rendered as if U+FE0E VARIATION SELECTOR-15 was appended to every Presentation Participating Code Point.
> **`emoji`** Code points are rendered as if U+FE0F VARIATION SELECTOR-16 was appended to every Presentation Participating Code Point.

I might be missing something, but I don't think Unicode defines the fallback algorithm for VS-15 and VS-16. To my understanding it's only well-defined for what glyphs should be selected within a font according to cmap format 14 in combination with the use of variation selectors.

### Unclear sentence

> "However, a variation selector must be included in a previous cluster as defined by the [cluster matching](https://www.w3.org/TR/css-fonts-4/#cluster-matching) section above"

I fail to understand what that means - any pointers?

### Lack of algorithmic description or precise outcomes

So, if the `font-variant-emoji` property itself does not specify the fallback but relies on 
> "as if U+FE0F VARIATION SELECTOR-(15|16) was appended to every Presentation Participating Code Point"

we don't have any well-defined behavior here.

Can we find algorithmic proposals for fallback in combination with variation selectors? I think that would be a valuable addition to the spec. 

If we can't succeed or agree on that, can we define a set of clear testable outcomes (preconditions and postconditions) or further details on how fallback should change with respect to this property? 


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


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

Received on Friday, 1 September 2023 09:18:41 UTC