Make the WWS.inherits consistent with variants inheritance configuration (#2251)

* Make the WWS.inherits consistent with variants inheritance configuration

* doc refine
This commit is contained in:
Belleve 2024-03-22 00:35:50 -10:00 committed by GitHub
parent a7b4790cd5
commit 96456df68a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 55 additions and 26 deletions

View file

@ -100,22 +100,6 @@ Subsection `ligations` is used to customize the ligation set assigned to `calt`
* `inherits`: Optional, String, defines the inherited ligation set. When absent, the ligation set will not inherit any other sets. Valid values are:
- `--default-center-ops--`: Default ligation set would be assigned to undefined.
- `--c-center-ops--`: Default ligation set would be assigned to undefined.
- `--default-equality-inequality--`: Default ligation set would be assigned to undefined.
- `--c-equality-inequality--`: Default ligation set would be assigned to undefined.
- `--raku-equality-inequality--`: Default ligation set would be assigned to undefined.
- `--ml-equality-inequality--`: Default ligation set would be assigned to undefined.
- `--fstar-equality-inequality--`: Default ligation set would be assigned to undefined.
- `--haskell-equality-inequality--`: Default ligation set would be assigned to undefined.
- `--matlab-equality-inequality--`: Default ligation set would be assigned to undefined.
- `--verilog-equality-inequality--`: Default ligation set would be assigned to undefined.
- `--wolfram-equality-inequality--`: Default ligation set would be assigned to undefined.
- `--erlang-equality-inequality--`: Default ligation set would be assigned to undefined.
- `--default-kern--`: Default ligation set would be assigned to undefined.
- `--default-chaining--`: Default ligation set would be assigned to undefined.
- `--fast-chaining--`: Default ligation set would be assigned to undefined.
- `--c-like-chaining--`: Default ligation set would be assigned to undefined.
- `default-calt`: Inherit default ligation set.
- `dlig`: Default ligation set would be assigned to Discretionary ligatures.
- `clike`: Default ligation set would be assigned to C-Like.
@ -3213,6 +3197,17 @@ Subsection `slopes` is used to change the slope angles and grades that the custo
* `menu`: String from `upright`, `italic` or `oblique`. Configures the slope grade used when naming fonts.
* `css`: String from `normal`, `italic` or `oblique`. Configures the [CSS font-style](https://developer.mozilla.org/zh-CN/docs/Web/CSS/font-style) value.
In addition to list all the weights/widths/slopes directly, the user could also configure the weights/widths/slopes list using “inherits” to inherit the list from another build plan:
```toml
[buildPlans.IosevkaCustom2]
family = "Iosevka Custom 2"
weights.inherits = "buildPlans.IosevkaCustom1" # Inherit weights list from "IosevkaCustom1"
widths.inherits = "buildPlans.IosevkaCustom1" # Inherit widths list from "IosevkaCustom1"
slopes.inherits = "default" # Inherit slopes list from default
```
#### Compatibility Ligatures
Certain software, notably Emacs, relies on pre-encoded ligatures instead of OpenType to provide ligations. Iosevka could be configured with additional subsection `compatibilityLigatures`, being an array of records with following fields: