Re: [csswg-drafts] [css-fonts-4] Some font features should not be disable-able (#7634)

The CSS Working Group just discussed `some features should not be disableable`, and agreed to the following:

* `RESOLVED: If OT spec says a feature is required, UAs can ignore attempts to turn it off.`

<details><summary>The full IRC log of that discussion</summary>
&lt;TabAtkins> Topic: some features should not be disableable<br>
&lt;TabAtkins> github: https://github.com/w3c/csswg-drafts/issues/7634<br>
&lt;TabAtkins> myles: The OT spec describes that some features are "always applied"<br>
&lt;chris> q+<br>
&lt;TabAtkins> myles: one that is the provoking feature fo rthis issue is rlig, for arabic text<br>
&lt;TabAtkins> myles: if you disable it, arabic text is totally broken<br>
&lt;TabAtkins> myles: But this isn't the onlyf eature described like this<br>
&lt;chris> https://docs.microsoft.com/en-us/typography/script-development/arabic#features<br>
&lt;TabAtkins> myles: our platform text engine, CoreText, makes it impossible to turn off rlig. It's doing you a favor, nobody wants illegible text.<br>
&lt;TabAtkins> myles: But this makes us fail some WPT<br>
&lt;TabAtkins> myles: So I at least want to allow our behavior, but ideally forbid these from being disabled.<br>
&lt;astearns> ack chris<br>
&lt;TabAtkins> chris: Agree. Earlier I was trying to see both sides, but as I did that there's lots of ways to produce examples of how you don't render text<br>
&lt;TabAtkins> chris: It's not that it looks a bit wrong, it completely falls apart. So I do think we should forbid disabling these.<br>
&lt;TabAtkins> chris: So question is, do we just defer to OT, or do we have a list? Then we'd have to keep it up to date as OT changes, which gives me pause.<br>
&lt;TabAtkins> chris: But I want it testable.<br>
&lt;TabAtkins> myles: Is this thought an editorial concern?<br>
&lt;TabAtkins> chris: In the issue you gave a link to OT about ARabic, I agree it's motivating but there are other examples.<br>
&lt;drott> q+<br>
&lt;TabAtkins> chris: So do we just point to them? And if so, how do you test?<br>
&lt;TabAtkins> myles: We do already normatively ref OT spec<br>
&lt;TabAtkins> myles: If we do normatively add a statement forbidding disabling based on OT, this would be testable for a specific version of OT.<br>
&lt;TabAtkins> myles: Dont' want to force a link to a specifci OT version.<br>
&lt;TabAtkins> chris: Right, just don't want a change in 3 years being impossible for them to do bc we currently allow it.<br>
&lt;TabAtkins> myles: I think there's neough overlap we're okay<br>
&lt;astearns> ack fantasai<br>
&lt;TabAtkins> fantasai: You mentioned there's plenty of situations where authors can hurt themselves disabling rlig accidentally<br>
&lt;TabAtkins> fantasai: How accideentally?<br>
&lt;TabAtkins> chris: copy-paste from an example not realizing it works like every other property, not realizing that everything *not mentioned* is turned off.<br>
&lt;TabAtkins> fantasai: So it turns off all features not turned on explicitly?<br>
&lt;TabAtkins> chris: Yes<br>
&lt;TabAtkins> fantasai: My impression is it would leave things as they are and only set explicit ones.<br>
&lt;chris> "The entire property value is set at once. Unlike the font-variant properties, there is no way to modify the inherited value by adding or removing individual features. "<br>
&lt;chris> from the spec<br>
&lt;TabAtkins> drott: me and myles both thought that font-feature-settings doesn't disable things unspecified, it just changes the things given literally<br>
&lt;TabAtkins> fantasai: Right, so to turn off rlig, they ahve to explicitly turn it off.<br>
&lt;TabAtkins> fantasai: If they're being that explicit, i don't see why to make it not work<br>
&lt;TabAtkins> myles: Because they've just broken their text.<br>
&lt;TabAtkins> fantasai: This is intentionally low level, I feel we should just let it be.<br>
&lt;TabAtkins> fantasai: But I udnerstand that some platforms don't let it be turned off.<br>
&lt;drott> q?<br>
&lt;TabAtkins> fantasai: So I think we should say that if OT says it's required, impls should be allowed to not turn it off.<br>
&lt;TabAtkins> fantasai: But I don't think tracking a list of things you can't turn off is what we should be doing here.<br>
&lt;TabAtkins> myles: I think there's a bit of disagreement about what it means to be low level.<br>
&lt;TabAtkins> myles: This is certainly lower than font-variant<br>
&lt;TabAtkins> myles: But I don't think this should be low enough that authors can make their text illegible<br>
&lt;TabAtkins> myles: Almost all features that f-f-s is designed for are swashes or old-style numerals, etc<br>
&lt;TabAtkins> fantasai: Those are already in font-variant, fwiw<br>
&lt;TabAtkins> [discussion about specific examples]<br>
&lt;TabAtkins> chris: Scientific inferiors for formulas, there's no font-variant for that, you need font-feature-settings for it<br>
&lt;TabAtkins> fantasai: So you have to really work hard to keep an rlig off<br>
&lt;TabAtkins> fantasai: Are people actually doing this?<br>
&lt;TabAtkins> TabAtkins: Problem is there's a test for that, and wk is thus failling the test<br>
&lt;TabAtkins> fantasai: So let's make it optional and remove that test<br>
&lt;TabAtkins> drott: Also we have Google Fonts people who want to bea ble to test switching it off and on, agree it's hard to do it by accident<br>
&lt;iank_> (we don't have to remove the test - but we can mark it as .optional)<br>
&lt;TabAtkins> drott: Also sometimes ligatures aren't put in the right spot, put in rlig even tho they shoudl be clig or something, so turning off rlig for non-arabic text can be reasoanble.<br>
&lt;TabAtkins> drott: So I agree we should make it optional to ignore these features.<br>
&lt;TabAtkins> drott: Same position as fantasai<br>
&lt;fantasai> Proposal is to say that if OpenType mandates a feature, the UA is not required to turn it off.<br>
&lt;astearns> q?<br>
&lt;TabAtkins> myles: I think this is the wrong decision, but it's okay<br>
&lt;TabAtkins> iank_: clarification we don't ahve to remove the test, we can mark it as optional<br>
&lt;astearns> ack drott<br>
&lt;TabAtkins> RESOLVED: If OT spec says a feature is required, UAs can ignore attempts to turn it off.<br>
&lt;heycam> Scribe: Cameron<br>
&lt;heycam> ScribeNick: heycam<br>
</details>


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


-- 
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config

Received on Friday, 16 September 2022 23:08:19 UTC