-
Notifications
You must be signed in to change notification settings - Fork 14
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Include mo@accent attribute into MathML Core? #52
Comments
Adding it to the record: This was discussed in w3c/mathml#151 comment and in a 30 March meeting leading to two comments in w3c/mathml#164 about this (comment1, comment2 , the later I mistakenly referred to cramped style when I meant the close in spacing of accents) The main points are:
As for whether this affects usages of accents, even Patrick Ion, who seemingly has seen every weird math notation someone has used in an esoteric field of math couldn't recall an accent being embellished, so this restriction would not affect real math. The case of having (say) a double hat would be done by nesting the mover, not nesting the mo as in
|
This need to be redesigned in a way compatible with browsers/CSS before being adding back https://github.com/mathml-refresh/mathml/issues/210
I removed mo@accent from the current text. In general MathML3 has a lot of issues with accents (not only font-size, but also combining VS non-combining, TopAccentAttachment, spacing parameters etc), we really need to rely more on CSS and OpenType to improve it this is definitely not something for a first version / implementation, if we want to keep the spec clean. If we redefine mo@accent in a future version we should ensure that it is compatible with web platform design and so can get browser implementers' interest. In the meantime, it should be easy for users to use CSS to tweak the rendering. Some of the issues we discussed:
I guess a first step would be to work on addressing these issues in MathML Full and to work on polyfills to demonstrate the desired behavior, and convince potential implementers. |
I've written a polyfill for this: https://github.com/mathml-refresh/mathml-polyfills/tree/master/accent |
At the MathML Core meeting today, I was tasked with showing examples of accents and how various renderers are handling them. I created a codepen with some examples and the renderings of this are shown below (minus the JS for Firefox & Safari): MathJaxFirefoxSafariNotes on accents and limits
Notes on the renderings
I will file a bug with MathJax about its messed up stretchy arrow. It only happens when I scale the font. ConclusionAll the renders implement the accent property on |
Here's a rendering from Igalia's chrome branch (thanks to @bkardell) : This shows that it also implements the accent property on |
Just for clarity, the screenshot is from our downstream fork from last year with our initial take. Upstreaming requires a lot of additional scrutiny and changes* |
There is no plan to implement mo@accent in Chromium's initial implementation. Instead, we implemented the accent/accentunder attributes on underover scripts described in the spec. I think discussion should be postpone for level 2. |
Here's Chrome Canary's rendering (19/2/22; V 99.9.4840.0) of the above (same codepen as above but with the scripting for MathJax removed): Clearly the Chrome implementation doesn't (yet) implement the accent property's positioning regardless of where it is set or inherits from. Also missing from the implementation is horizontal stretching, but that's a separate feature. As already discussed, removing this feature from Core is a breaking change to common/everyday MathML. As such, it violates one the charter's tenets. |
For
Some of the modern converters just delegate to the polyfills (asciimath, lwarp), and some of the old ones still generate images (latex2html). I have no idea about the Windows-only toolchains. Just dropping a comment, since I found the claim that "almost all TeX converters today don't use the accent property on mover" a bit odd, when three of them do. Clearly this is a decision with some complex trade-offs. I wonder if it's worth reaching out to the pandoc and tex4ht teams and asking them if they can transition smoothly? |
Discussed on the call today, resolved to contact the MathJax team and see if they are able to generate accent=true on mover for some day in the future when there is a MathML-Core output support. (Neil will take the action). If they are willing to do that (as they are ~95% of the output), then we will remove accent on the mo in the spec as suggested in the issue. A secondary issue can be opened in full. |
FYI: I checked MathType and it uses |
I heard from David Cervone (MathJax) that they are able to generate accent=true on mover for some day in the future. Closing because this was the condition that was the remaining issue to accepting it. |
This is a follow-up of w3c/mathml#151 and w3c/mathml#76 and w3c/mathml#164
mo@accent duplicates what is provided by munderover's accent attribute and violates the CSS logic of having properties depending on parents not on arbitrary descendants. As I said elsewhere I think it should just be removed and not implemented in Chromium.
I'm just opening this to put the ISSUE label on the spec.
The text was updated successfully, but these errors were encountered: