csstools / csstools/postcss-plugins
Incorrect font-feature-settings on multiple values for font-variant-numeric
- Dominant language
- CSS
- Stars
- 1.1k
- Forks
- 83
- Avg merge
- 10h 16m
- Merged PRs (30d)
- 16
Description
### Bug description
When I specify multiple values for `font-variant-numeric`, PostCSS just copies them in `font-feature-settings` which makes feature declarations invalid.
### Source CSS
```css
.lining-nums {
font-variant-numeric: lining-nums;
}
.tabular-nums {
font-variant-numeric: tabular-nums;
}
.tabular-and-lining-nums {
font-variant-numeric: tabular-nums lining-nums;
}
```
### Expected CSS
```css
.lining-nums {
font-feature-settings: "lnum";
font-variant-numeric: lining-nums;
}
.tabular-nums {
font-feature-settings: "tnum";
font-variant-numeric: tabular-nums;
}
.tabular-and-lining-nums {
font-feature-settings: "tnum", "lnum";
font-variant-numeric: tabular-nums lining-nums;
}
```
### Actual CSS
```css
.lining-nums {
font-feature-settings: "lnum";
font-variant-numeric: lining-nums;
}
.tabular-nums {
font-feature-settings: "tnum";
font-variant-numeric: tabular-nums;
}
.tabular-and-lining-nums {
font-feature-settings: tabular-nums lining-nums;
font-variant-numeric: tabular-nums lining-nums;
}
```
### Playgound example
https://preset-env.cssdb.org/playground/#JTdCJTIyc291cmNlJTIyJTNBJTIyLmxpbmluZy1udW1zJTIwJTdCJTVDbiUyMCUyMGZvbnQtdmFyaWFudC1udW1lcmljJTNBJTIwbGluaW5nLW51bXMlM0IlNUNuJTdEJTVDbiU1Q24udGFidWxhci1udW1zJTIwJTdCJTVDbiUyMCUyMGZvbnQtdmFyaWFudC1udW1lcmljJTNBJTIwdGFidWxhci1udW1zJTNCJTVDbiU3RCU1Q24lNUNuLnRhYnVsYXItYW5kLWxpbmluZy1udW1zJTIwJTdCJTVDbiUyMCUyMGZvbnQtdmFyaWFudC1udW1lcmljJTNBJTIwdGFidWxhci1udW1zJTIwbGluaW5nLW51bXMlM0IlNUNuJTdEJTVDbiUyMiUyQyUyMmNvbmZpZyUyMiUzQSU3QiUyMmJyb3dzZXJzJTIyJTNBJTVCJTIyZGVmYXVsdHMlMjIlNUQlMkMlMjJtaW5pbXVtVmVuZG9ySW1wbGVtZW50YXRpb25zJTIyJTNBMCUyQyUyMnN0YWdlJTIyJTNBMiUyQyUyMmxvZ2ljYWwlMjIlM0ElN0IlMjJpbmxpbmVEaXJlY3Rpb24lMjIlM0ElMjJsZWZ0LXRvLXJpZ2h0JTIyJTJDJTIyYmxvY2tEaXJlY3Rpb24lMjIlM0ElMjJ0b3AtdG8tYm90dG9tJTIyJTdEJTJDJTIycHJlc2VydmUlMjIlM0F0cnVlJTdEJTdE
### Does it happen with `npx @csstools/csstools-cli minimal-example.css`?
N/A
### Debug output
_No response_
### Extra config
_No response_
### What plugin are you experiencing this issue on?
PostCSS Preset Env
### Plugin version
10.1.3
### What OS are you experiencing this on?
macOS
### Node Version
23.5.0
### Validations
- [X] Follow our [Code of Conduct](https://github.com/csstools/postcss-plugins/blob/master/CODE_OF_CONDUCT.md)
- [X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.
### Would you like to open a PR for this bug?
- [ ] I'm willing to open a PR
Contributor guide
Assessment
This issue has not been assessed yet.