But this syntax they’ve come up with is an absolute horrifying mess. Ugh. Please say it ain’t so!
I’m guessing that these are probably mapping through to the underlying OpenType features directly somehow to support arbitrary aspects of a particular type, but it still needs to be less of a mess for the “normal” stuff.
Why can’t it be something readable and self-documenting?
font-features: small-caps, contextual-swash;
font-variant: contextual small-caps
font-feature-settings: "kern" 1;
-ms-font-feature-settings: "kern" 1;
I don't see why a boolean value wasn't an option; the values is either defined or it's not. Otherwise "kern(1)" would have been more consistant with other properties.
font-caps: small; /* or none */
font-swash: contextual; /* or none */
As thristian points out, font-feature-settings should be a last resort for rarely-used features without a separate syntax. It is not meant to set all features down.