- From: Christoph Päper <christoph.paeper@crissov.de>
- Date: Wed, 22 Feb 2012 21:28:27 +0100
- To: www-style list <www-style@w3.org>
Christopher Slye (2012-02-18 02:13): > … the font attributes should convey features in high level, technology-agnostic terms, not with the lower level wiring of OpenType feature tags. The current draft follows this spirit well enough. I still disagree. The current WD and ED has ‘common-ligatures’ ⇔ ‘liga’ := 1 ‘no-common-ligatures’ ⇔ ‘liga’ := 0 ‘discretionary-ligatures’ ⇔ ‘dlig’ := 1 ‘no-discretionary-ligatures’ ⇔ ‘dlig’ := 0 ‘historical-ligatures’ ⇔ ‘hlig’ := 1 ‘no-historical-ligatures’ ⇔ ‘hlig’ := 0 John Daggett wants to change it to ‘common-ligatures’ ⇔ ‘liga’ := 1, ‘dlig’ = 0, ‘hlig’ = 0 ‘discretionary-ligatures’ ⇔ ‘liga’ := 1, ‘dlig’ = 1, ‘hlig’ = 0 ‘all-ligatures’ ⇔ ‘liga’ := 1, ‘dlig’ = 1, ‘hlig’ = 1 and forgets, I guess, ‘none’ or ‘no-ligatures’. Other keywords for common combinations could be added (now or later). It probably merits discussion whether it should rather use default values like ‘normal’ ‘common-ligatures’ ⇔ ‘liga’ := 1 ‘discretionary-ligatures’ ⇔ ‘liga’ := 1, ‘dlig’ = 1 ‘all-ligatures’ ⇔ ‘liga’ := 1, ‘dlig’ = 1, ‘hlig’ = 1 > I think it's better to pretend that font-feature-settings doesn't exist and design the primary attributes to include and control font features as they should ideally be. I agree, but “font features” to be controlled in this context should be abstracted from Open Type, because OT features are all but perfect. They are neither designed in a coherent manner nor with authors in focus. CSS properties and values should be both. > I prefer to think of font-feature-settings as a way to have access to OpenType features that are too obscure or specialized to have a place among the regular font attributes (…). Yes, or for rare combinations of features. > You're worried about the current syntax being verbose, but your example > seems unlikely because common-ligatures will be on by default, Not necessarily: the initial value ‘normal’ relies on the default settings inside the font. > They have the benefit of being switches directly associated with distinct categories (default, discretionary, historical). These categories (or their names) are all but distinct. > Also, common-ligatures is more likely to be enabled across sections of (…) text, but discretionary ligatures might (…) be better applied situationally, i.e. with a span. That is :root {font-variant-ligatures: common-ligatures;} span {font-variant-ligatures: discretionary-ligatures;} instead of :root {font-variant-ligatures: common-ligatures no-discretionary-ligatures no-historical-ligatures;} span {font-variant-ligatures: common-ligatures /* ‘no-…’?*/ discretionary-ligatures no-historical-ligatures;} (The current draft doesn’t seem to say whether features that are not set explicitly are inherited or fall back to their font-specific default, as in ‘normal’.) > Your proposed syntax merges the two and blurs this distinction, When or where would you want ‘dlig’ to be on, but not ‘liga’? Would you like ‘additional-ligatures’ or ‘optional-ligatures’ better? ‘discretionary-ligatures’ ⇔ ‘liga’ := 1, ‘dlig’ = 1, ‘hlig’ = 1 ‘discretionary-ligatures’ ⇔ ‘liga’ := 1, ‘dlig’ = 1, ‘hlig’ = 0 ‘discretionary-ligatures’ ⇔ ‘liga’ := 1, ‘dlig’ = 1, ‘hlig’ = i ‘discretionary-ligatures’ ⇔ ‘liga’ := 1, ‘dlig’ = 1, ‘hlig’ = d ‘discretionary-ligatures’ ⇔ ‘liga’ := 0, ‘dlig’ = 1, ‘hlig’ = 1 ‘discretionary-ligatures’ ⇔ ‘liga’ := 0, ‘dlig’ = 1, ‘hlig’ = 0 ‘discretionary-ligatures’ ⇔ ‘liga’ := 0, ‘dlig’ = 1, ‘hlig’ = i ‘discretionary-ligatures’ ⇔ ‘liga’ := 0, ‘dlig’ = 1, ‘hlig’ = d ‘discretionary-ligatures’ ⇔ ‘liga’ := i, ‘dlig’ = 1, ‘hlig’ = 1 ‘discretionary-ligatures’ ⇔ ‘liga’ := i, ‘dlig’ = 1, ‘hlig’ = 0 ‘discretionary-ligatures’ ⇔ ‘liga’ := i, ‘dlig’ = 1, ‘hlig’ = i ‘discretionary-ligatures’ ⇔ ‘liga’ := i, ‘dlig’ = 1, ‘hlig’ = d ‘discretionary-ligatures’ ⇔ ‘liga’ := d, ‘dlig’ = 1, ‘hlig’ = 1 ‘discretionary-ligatures’ ⇔ ‘liga’ := d, ‘dlig’ = 1, ‘hlig’ = 0 ‘discretionary-ligatures’ ⇔ ‘liga’ := d, ‘dlig’ = 1, ‘hlig’ = i ‘discretionary-ligatures’ ⇔ ‘liga’ := d, ‘dlig’ = 1, ‘hlig’ = d Which one of the above would you prefer? (‘i’ means inherit, ‘d’ is font default.) > and I think it would be more confusing to the average developer. No, it wouldn’t, because the average (website) developer is not a font designer, too.
Received on Wednesday, 22 February 2012 20:28:50 UTC