Re: [csswg-drafts] [css-fonts-4][css-nesting] Nesting of @supports inside @font-face and font technology feature queries (#6520)

The way I mean it, taking [Jonathan's example](https://github.com/w3c/csswg-drafts/issues/6520#issuecomment-906384393) and adding a hypothetical `fallback: no-cascade; `

```
@font-face { font-family: my-icons; src: url(my-icons-bw-fallback.woff2); fallback: no-cascade; }

@supports font-technology(color-COLRv0) {
  @font-face { font-family: my-icons; src: url(my-icons-flat-colors.woff2); fallback: no-cascade; }
}

@supports font-technology(color-COLRv1) {
  @font-face { font-family: my-icons; src: url(my-icons-gradient-colors.woff2); fallback: no-cascade; }
}
```

Without `fallback: no-cascade;` the _my-icons_ family would consist of three fonts that have accumulated into the _my-icons_ font at identical attributes for weight, stretch, style. So when checking for a character that's not contained in the icon font, first _my-icons_ COLRv1, then COLRv0, then bw have to be loaded, in that order. If there is a hyptohtetical `fallback: no-cascade;` descriptor, we can spec that to mean: after checking the first one (in reverse order of CSS declarations), do not look further in this cascade and do not load any others.

The way I understand it: Omitting `unicode-range` would usually lead to all of them being loaded and checked, until system fallback is used. Using `unicode-range` with tight codepoint ranges means a behavior similar to the hypothetical `fallback: no-cascade;`, meaning: if `unicode-range` indicates there's not going to be coverage, do not load this font.


-- 
GitHub Notification of comment by drott
Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/6520#issuecomment-916754469 using your GitHub account


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

Received on Friday, 10 September 2021 09:09:21 UTC