Re: [csswg-drafts] [css-fonts-5] advance-override details (#5983)

Here are some topics and my proposals for the next meeting. Please add more if needed.

1. Are characters stretched/resized/etc when `advance-override` is applied?

Proposal: no. It has no effect for the purpose of reducing layout shift, but adds a lot of complexity to spec and implementation. If using `advance-override` severely affects legibility, then it's better to just use a more similar fallback font.

2. How is spacing added to each character?

Proposal: spacing is added after each character, for the reasons I gave in https://github.com/w3c/csswg-drafts/issues/5983#issuecomment-777934132 for reasons.

3. What's the default value of the second parameter, and what's the exact syntax?

Proposal: Use two descriptors `advance-width-override` and `advance-height-override` separately. This seems the cleanest among all the ideas I came up with.

Other ideas:
- `normal | [ <percentage> <percentage> ]` as [currently specified](https://drafts.csswg.org/css-fonts-5/#descdef-font-face-advance-override). In other words, second parameter is the same as the first if unspecified.
- `[normal | <percentage>] [normal | percentage]?`. In other words, it has no override to upright vertical text if the second parameter is not explicitly given.

4. Add spec text to avoid over-promising. This includes:
   - It can't fully eliminate layout shift, unless the font is monospaced
   - It may not work on certain cursive/complex scripts, [similar to `letter-spacing`](https://drafts.csswg.org/css-text-3/#cursive-tracking)
   - (Add more here...)

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


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

Received on Tuesday, 23 February 2021 23:23:48 UTC