- From: Neil Soiffer <soiffer@alum.mit.edu>
- Date: Mon, 30 Sep 2019 00:02:05 -0700
- To: public-mathml4@w3.org
- Message-ID: <CAESRWkD=cLaahNouqGTPufXAprr-uGHocFbUm3r4T_K6fsxFEA@mail.gmail.com>
Apologies for the late minutes -- I was away a few days last week... MathML Core Meeting of Sept 23, 2019 The meeting was recorded: https://benetech.zoom.us/recording/share/P1V02djAvBnOWzOAPzED8jSPEnIpB0kUCiiXn_hyfHiwIumekTziMw Attendees: - Neil Soiffer - David - Fred Wang - Rob Buis - Brian Kardell - Sam Dooley - Patrick Ion Agenda: https://github.com/mathml-refresh/mathml/issues/8#issuecomment-532230504 TPAC summary (Brian) BK: meeting went really well wrt to MathML. BK: Talked with LayoutNG primary architect (Ian Kilpatrick from Google) BK: We were on the agenda for the CSS agenda for Tuesday for 1. Text-transform -- didn’t get to it but had conversation afterward with James Craig from Apple accessibility and some 2. Got three minutes at end to ask for review of MathML interactions with CSS. E.g., new ‘display’ property value “math” or “math-auto”. Generally positive responses. 3. No disagreement about adding three properties (script-level, etc). No formal agreement though. 4. Talked with fantasai and Florian Rivoal (consultants), who tend to be critical/have comments on new additions. Promised to review within the next quarter BK: demos during the event, meeting with the publisher working group. Went very well. Prepared for 7 minutes but went on for 30 minutes. Very excited that MathML is finally going into browsers. Will support MathML in any way they can. All: Someone from group should definitely attend TPAC next year (in Vancouver). Operator Dictionary updates #6 <https://github.com/mathml-refresh/mathml/issues/6> #6 (comment) <https://github.com/mathml-refresh/mathml/issues/6#issuecomment-532673415> #87 <https://github.com/mathml-refresh/mathml/issues/87> (Neil, David) #142 <https://github.com/mathml-refresh/mathml/issues/142> #143 <https://github.com/mathml-refresh/mathml/issues/143> FW: Last week I was writing some tests for this - they are generated from unicode.xml that David wrote. After writing that I noticed some differences - 2 or 3 new operators have changed regarding accent. We noticed that webkit and chromium still lack support for multichar operators. NS: I added some comments, David added some comments. I think they broke down into 3 categories: Some multichar operators were there for compat with programming languages (++, etc) - I feel we should keep those, although I don’t know how much they are really used. DC: Originally we had sine and cos and others and we threw those out since they are mi. At NAG, use them all over - == mostly, it's a software manual. If it wasn't in the dictionary, we would cope. We should be careful to not claim they are stretchy. NS: None of the programming language ones would be. There were some that were added because they weren't in unicode at the time, those were indicated stretchy/fence type operators. I agree, just take off stretchy for all of those and just deprecate the ones that were there for unicode compat. Do we have to specify stetchy at a font level in the spec? DC: We just defer to the open type spec. NS: I agree - the spec just needs to add some statement about/link to it. DC: There was a question about 2 arabic operators. I really can't read them, I did reach out to Kahled but otherwise it is kind of pointless for us to speculate or guess - we wouldn't even notice if it was wrong. FW: Separating the multichars - currently in webkit and chromium we have tables. If we want to support multichars, we should have a separate table or make this accept strings of variable length. If Firefox supports them I think we need to keep it for compat. Currently we only rely on open type math - we check for the corresponding glyph in the font, there is an associated entry in the table - if we have an entry we can stretch it - so it is ultimately controlled by the font. We can fallback to something like a scale transform, but we have to define it and how it doesn't work. NS: This happens, it's like if you give a plus sign and say it is stretchy that just doesn't work. FW: There is still the question of checking each individual character in the string - but that creates a lot of complexity. NS: I am ok with just saying multi-character strings can't be stretched. DC: I think that is fine. *Resolved*… multi character strings can't be stretched DC: If you don't use an open type math font, we could fallback to scale transform. PI: Should content producers be using those fonts? No NS: Correct me if I am wrong but I think a lot of open type fonts have math tables. DC: Depends on your definition of 'lots' The main issue we find is that you can just write text and it will work - but there isn't a single open type math font installed on every browser. NS: Ok, maybe not a lot; an acceptable number have math table. NS: Fred, what was your thought on how we handle this? Always download or use system ones? FW: We just follow the webkit approach and use a list of fonts and it just tries them as standard CSS - we can list the last one as a webfont… Or well, people can add a webfont if they want, but all we do is use the default font family. I think this is a separate issue I opened. NS: Do we have a resolution that if it is in the table (a character) it stretches, if not it doesn't stretch, if it doesn't have an open type math table it doesn't stretch. FW: It will be annoying, it still has this scale transform if the default is not installed. DC: In TeX we find this all the time - people go through all kinds of effort and they choose some wacky font. It's not totally unreasonable if there is simple math, most fonts provide some basic characters. People stretch brackets all over. FW: There is already in mathml core a list of unicode constructions for fences even if there is no math table - and vertical bars and simple brackets. I'm not sure we need to address this today, this basic solution has been in the browsers for a long time. A lot of fonts are already obsolete. On mobile devices, maybe they don’t want to waste space on a math font. NS: How big are the math fonts these days? FW: I think there is an open issue with this with variable fonts which would allow for smaller fonts. As I say it is probably a complicated issue and we can't solve it today probably. NS: Just looked - Cambria Math Font is 1.7mb. Doesn’t seem that big to me. FW: I guess for windows this is ok, but for mobile, I'm not so sure. I guess we just keep the fallback when you don't have a math table. NS: My concern was for what David said when people choose these wacky fonts. Let's keep it simple - it's got to be a fair amount of code to deal with fonts PI: If people want to get their math to look good they should use fonts with math. FW: I think some of it is that like with k-12 math you don't want to use those, they want to use something like comic sans - they don't have complex needs for stretching. Even if it is ugly with scale transform, it's enough for them. We do that in firefox, I'm not sure we are going to remove that - people complained. NS: So we will do something like this in chrome too? FW: I think Rob already did? Maybe it was extra work... Rob: Yes. Just copied from WebKit, not hard. NS: Ok, I was just trying to help you out and make it simple. FW: I guess we just have to write all the tests now, and it's not really easy to test. I'm not sure what will happen if someone specifies a stretchy plus for example, I think it will try. There's a direction on this horizontal or vertical. I think a plus would stretch vertically. NS: 142 was make the operator dictionary normative. I think david said it shouldn't be in full, but it could be in core. FW: 142 was done, to help testing. DC: We just can't make it normative in full because things that don't use the web platform won't work. NS: I'm in favor of resolving it as not normative in full, normative in core - point full to core. DC: I think when we come back to full we will have to just use some clever wording to say try to match core as closely as you can. Resolved: do that on 142. FW: There was 87 too… NS: Fixes for the operator dictionary. I don't see any resolutions here, we have to go through again. FW: At least for browser vendors, they don't have this so it doesn't matter to core I think. On issue 6 we need some expert feedback about how things should work in arabic. NS: I thought David said we have to wait FW: Then there were new accents that were added by david some time ago, I think he said he wasn't sure if it was on purpose. DC: I think that it was wrong. I'll put a comment in the ticket, and check the accents. NS: I think the whole operator dictionary needs another pass. It's a good thing to focus on the accents. SD: David weren't some of these listed as accents because of assumptions about the position? DC: We listed a bunch of pseudo primes but I think in the process we, or me, or someone at the time added a lot of accent = true, which I think is wrong. FW: The suggestion is to use msubsup instead NS: We have a number of semi-equivalent characters - do we want to be saying anything about this? In the wild, the number of characters that get used like this is huge. In firefox, if you have an mover, what character do you use to get an overbar? Is it “-” or “_” or some other horizontal line-like character? FW: Basically you use what the user has specified, which might look wrong. NS: But a line over “x+y” needs to stretch, but neither “-” nor “_” stretch. So what should be used if we don’t remap? FW: If we look in the math table we just use this construction, we can redirect the character to a stretchy one. (somehow transitioned to combining characters and equivalents) NS: I'm not really sure how the web does this, but Unicode says they should always be canonicalized into composed or decomposed (software choice). FW: The issue with combining is basically that they are combining - it causes a bunch of issues. NS: Returning to equivalents. Should we put into the spec something about all of these characters should get mapped to these other characters somehow. In the wild, these happen a lot. My impression was that every good implementation, if they want to account for the randomness of mathml that comes out of editors, they will map these so that they will stretch or be equivalent. I guess, let's take this offline. I’ll create an issue. PI: Returning to combining chars. The MathML 3 spec speaks of these as being combined before you do much. NS: The unicode spec says they are equivalent. That's why I was thinking browsers must do this at a pretty low level. FW: I see what you mean. I guess for those that are equivalent that is true. I think Rob was mentioning there was a function that does something like this? RB: in JavaScript there is normalize, which you can use on a string, with different normalize options. NS: Does negative and minus wind up different? I believe it is less wide? Let me look this up. SD: I've seen this when in a pre-superscript NS: I must be misremembering something. DC: only spacing differs.
Received on Monday, 30 September 2019 07:02:34 UTC