Re: [csswg-drafts] [css-fonts-4] We can't add new values to the font-synthesis property

The CSS Working Group just discussed `font-synthesis, again (though a bunch of it was in the previous topic)`, and agreed to the following resolutions:

* `RESOLVED: make default values: weight (off), style (off), small-caps (on), make the initial value 'weight style', and add keywords no-weight, no-style, and no-small-caps.`

<details><summary>The full IRC log of that discussion</summary>
&lt;dbaron> Topic: font-synthesis, again (though a bunch of it was in the previous topic)<br>
&lt;fremy> fantasai: but if we accept to break stuff, we can do default=initial, which makes more sense<br>
&lt;dbaron> github: https://github.com/w3c/csswg-drafts/issues/1641<br>
&lt;fremy> alan: seems like we want a new issue, and try to come up with a new design for this, and discuss this in a smaller group<br>
&lt;fremy> alan: then come back to this when the key people for this issue agree all together<br>
&lt;fremy> fantasai: it is a breaking change, so we want to do it sooner rather than later<br>
&lt;fremy> alan: what is the proposal then?<br>
&lt;fremy> dbaron: intial = default<br>
&lt;fremy> TabAtkins: "font-synthesis: weight" also turns on "italic"<br>
&lt;fremy> TabAtkins: that is confusing<br>
&lt;fremy> myles_: we could three set of keywords<br>
&lt;TabAtkins> none | [ weight || style ] | [ [weight-on | weight-off] || [style-on | style-off] || [smallcaps-on | smallcaps-off] ... ]<br>
&lt;fremy> Florian: or we can also use the inheritance behavior<br>
&lt;fremy> Florian: the only case that would be broken would be font-synthesis:initial<br>
&lt;fremy> myles_: probably not common<br>
&lt;fremy> dbaron: with this in mind, maybe i am fine with the previous resolution<br>
&lt;fremy> dbaron: if we need to do something weird anyway, we might as well do what we proposed before<br>
&lt;fremy> dbaron: but keep this as exceptions only for weight and style, and going forward we do default=initial<br>
&lt;fremy> alan: so we have three proposals<br>
&lt;fremy> 1. previous resolution<br>
&lt;fremy> 2. extended keyword set<br>
&lt;fremy> 3. inheritance for omitted values<br>
&lt;fremy> fantasai: 3 would break the meaning for font-synthesis:weight<br>
&lt;fremy> TabAtkins: no, it would not<br>
&lt;fremy> Florian: we change the initial to no<br>
&lt;fremy> Florian: but the ua stylesheet sets to true on root<br>
&lt;fremy> alan: what about small-caps?<br>
&lt;fremy> myles_: small caps is on by default<br>
&lt;Bert> (Idea: Disallow mixing positive and negative keywords. E.g., assume initial value is 'a b d' and you set 'a c', then only a and c are on. If you set 'no-a no-c' then b and are on, i.e., the initial value minus the ones that were turned off.)<br>
&lt;fremy> myles_: so font-synthesis:weight allows small-caps<br>
&lt;fremy> alan: do you have a preference, myles?<br>
&lt;fremy> myles_: not really<br>
&lt;fremy> myles_: the ua stylesheet case is the most simple and elegant solution, probably<br>
&lt;fremy> TabAtkins: I like florian proposal<br>
&lt;fremy> dino: the only issue is we break all:initial, which people do in shadow dom<br>
&lt;fremy> TabAtkins: yes, true<br>
&lt;fremy> fantasai: if we were doing this from scratch, we would have dbaron's behavior<br>
&lt;TabAtkins> Florian's proposal: initial value is `font-synthesis: no-weight no-style smallcaps`, UA style is `:root { font-syntheses: weight style smallcaps;}`. Omitting a keyword defaults it to the initial value for that keyword.<br>
&lt;fremy> fantasai: how about we break existing content?<br>
&lt;TabAtkins> So author saying `f-s: weight;` would get weight &amp; smallcaps syntheses, but not style.<br>
&lt;fremy> myles_: places that use it today would then never synthetize small caps<br>
&lt;fremy> myles_: i prefer the alternative<br>
&lt;fantasai> fremy: Why would you do 'all: initial' and not 'all: unset'?<br>
&lt;fremy> alan: we reached the time limit<br>
&lt;fremy> alan: i would want to come to a conclusion<br>
&lt;fremy> dbaron: two proposals: fixing previous resolution, or breaking existing content<br>
&lt;Bert> (idea2: use Chris's +/-. If you use a + or -, then the rule becomes "additive" :-) (relative to the initial value. 'font-synth: +weight' does not turn style off.)<br>
&lt;dbaron> Proposed resolution: make default values: weight (off), style (off), small-caps (on), make the initial value 'weight style', and add keywords no-weight, no-style, and no-small-caps.<br>
&lt;dbaron> More breaking option: make default values: weight (on), style (on), and small-caps (on), make the initial value 'new keyword to be determined', and add keywords no-weight, no-style, and no-small-caps<br>
&lt;dbaron> (although there's actually the alternative option to not have the non-default no-* variants)<br>
&lt;dbaron> (that alternative applies to both options)<br>
&lt;fremy> alan: we try to resolve on the the first one dbaron proposed<br>
&lt;fremy> (no objection)<br>
&lt;fremy> RESOLVED: make default values: weight (off), style (off), small-caps (on), make the initial value 'weight style', and add keywords no-weight, no-style, and no-small-caps.<br>
&lt;dbaron> (at least for now, may discuss further)<br>
</details>


-- 
GitHub Notification of comment by css-meeting-bot
Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/1641#issuecomment-319956404 using your GitHub account

Received on Thursday, 3 August 2017 12:36:09 UTC