Skip to content
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

Remove accent property on some operators #151

Closed
fred-wang opened this issue Oct 4, 2019 · 9 comments
Closed

Remove accent property on some operators #151

fred-wang opened this issue Oct 4, 2019 · 9 comments
Assignees
Labels
MathML Core Issues affecting the MathML Core specification MathML 4 Issues affecting the MathML 4 specification

Comments

@fred-wang
Copy link

See #6 (comment)
We agreed during one meeting that we should go over the list of accent operators and removed unnecessary properties.

@fred-wang fred-wang added MathML Core Issues affecting the MathML Core specification MathML 4 Issues affecting the MathML 4 specification need tests Issues related to writing WPT tests need specification update Issues requiring specification changes labels Oct 4, 2019
@NSoiffer
Copy link
Contributor

NSoiffer commented Oct 7, 2019

In looking over the list, I saw one entry that should be an accent that isn't currently:

^ | ^ | circumflex accent

@NSoiffer
Copy link
Contributor

NSoiffer commented Oct 7, 2019

From #6, some operators listed as accents that should not have the accent property.

 ª ª feminine ordinal
 " " quotation mark
 ‛ ‛ single high-reversed-9 quotation mark

If U+00AA is in the list, so should

º   º   masculine ordinal indicator

@fred-wang
Copy link
Author

I think ordinal indicators should just be removed, I don't think they correspond to any math operator: https://en.wikipedia.org/wiki/Ordinal_indicator

@NSoiffer
Copy link
Contributor

I was wrong about
^ | ^ | circumflex accent

It has both an infix and postfix version and the postfix version has accent="true", while the infix versions does't. This is correct.

I'm not sure why I earlier said

" " quotation mark
‛ ‛ single high-reversed-9 quotation mark

should not have accent properties. People might potentially use them in an overscript position and when they do, they should be treated as accents.

I removed the ordinal indicators from xml-entities/unicode.xml

@NSoiffer NSoiffer reopened this Jan 13, 2020
@NSoiffer
Copy link
Contributor

Bizarrely (at least to me) the U+0080 block has B2, B3, and B9 as superscript 2, 3, and 1 (yes, in that order). I think these should be pulled from the Operator Dictionary because:

  1. you shouldn't use them as superscripts (use msup)
  2. they aren't a complete set, so not that useful
  3. I can't imagine why software (i.e, a MathML generator) would ever want to use them.

Is there anyway to find out whether they are used inside of MathML?

@NSoiffer
Copy link
Contributor

In looking at the arrows, we have a relatively consistent set of rules for when an arrow is an accent: any horizontal arrow is an accent and non-horizontal arrows are not. It is of course always possible to add accent="true", but if you used an arrow in an under/overscript, I think the odds are high you would want it to be small and away from the base. I think we should add at least the diagonal forms of the arrows as I could imagine them being used as a limit. Since some arrows curve, that "diagonal" gets to be a bit subjective, so maybe all the arrows should have limits...

In looking through the operator dictionary, there are the diagonal arrows I found that probably should have accent="true" by default:

  • the diagonal arrows x2196 - x2199
  • x21AF; ↯ downwards zigzag arrow
  • x21B8; ↸ north west arrow to long bar
  • x21D6 -x21DA; ⇖ diagonal double arrows
  • x21F1; ⇱ north west arrow to corner
  • x21F2; ⇲ south east arrow to corner
  • x2921 - x2932 various mostly diagonal arrows, some as crosses
  • x2934 - x2937 some curved pointing arrows

The operator dictionary missed these horizontal arrows. For consistency, they should have accent="true":

  • x2956; ⥖ leftwards harpoon with barb down to bar
  • x2957; ⥗ rightwards harpoon with barb down to bar
  • x2B45; ⭅ leftwards quadruple arrow
  • x2B46; ⭆ rightwards quadruple arrow

These have arrows below an operator and should not be accents but are listed as having accents (they are some variants of operators):

  • x2971 - x297D: these have arrows below an operator and shouldn't be accents
    (as an example x2971; ⥱ equals sign above rightwards arrow)

NSoiffer added a commit to mathml-refresh/xml-entities that referenced this issue Jan 13, 2020
@NSoiffer
Copy link
Contributor

At the 13/1/20 meeting, @fred-wang proposed removing the accent property entirely from the operator dictionary. Instead, all operators would default to having accent="true". This was sparked by my suggestion for making all arrows have accent="true". In a scan of the operator dictionary, I didn't see anything that would say that's a bad idea. If anyone knows of a reason why it would be a bad idea, please add some examples.

A more radical suggestion would be to remove accent from mo altogether and leave that up to the munder etc, element attrs (with default being all mos turning on accents). That has compatibility issues and any polyfill/transform would affect the DOM, so not ideal. People were disinclined to that suggestion.

@NSoiffer
Copy link
Contributor

NSoiffer commented Mar 7, 2020

At the 20/1/20 meeting, we resolved to take accent out of the operator dictionary and change spec to say it is default="true".

It has been removed from the operator dictionary.

@fred-wang fred-wang removed need specification update Issues requiring specification changes need tests Issues related to writing WPT tests labels May 12, 2020
@fred-wang
Copy link
Author

This still need tests, will happen when the op dict tests are regenerated.

fred-wang added a commit to web-platform-tests/wpt that referenced this issue May 13, 2020
- Update to the latest dictionary entries.
- Remove accent tests since default is true. w3c/mathml#151 (comment)
- Split into smaller files to reduce timeout risks.
fred-wang added a commit to web-platform-tests/wpt that referenced this issue May 13, 2020
- Update to the latest dictionary entries.
- Remove accent tests since default is true. w3c/mathml#151 (comment)
- Split into smaller files to reduce timeout risks.
fred-wang added a commit to web-platform-tests/wpt that referenced this issue May 13, 2020
- Update to the latest dictionary entries.
- Remove accent tests since default is true. w3c/mathml#151 (comment)
- Split into smaller files to reduce timeout risks.
moz-v2v-gh pushed a commit to mozilla/gecko-dev that referenced this issue May 26, 2020
…r dictionary, a=testonly

Automatic update from web-platform-tests
MathML: Regenerate tests for the operator dictionary (#23558)

- Update to the latest dictionary entries.
- Remove accent tests since default is true. w3c/mathml#151 (comment)
- Split into smaller files to reduce timeout risks.
--

wpt-commits: 46fe8740553c7e481dee30ab11165decc49cb100
wpt-pr: 23558
xeonchen pushed a commit to xeonchen/gecko that referenced this issue May 26, 2020
…r dictionary, a=testonly

Automatic update from web-platform-tests
MathML: Regenerate tests for the operator dictionary (#23558)

- Update to the latest dictionary entries.
- Remove accent tests since default is true. w3c/mathml#151 (comment)
- Split into smaller files to reduce timeout risks.
--

wpt-commits: 46fe8740553c7e481dee30ab11165decc49cb100
wpt-pr: 23558
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
MathML Core Issues affecting the MathML Core specification MathML 4 Issues affecting the MathML 4 specification
Projects
None yet
Development

No branches or pull requests

3 participants