Description
Is your feature request related to a problem? Please describe.
MathML Core has changed dictionary slightly as well as the form detection algorithm. I believe MathJax currently implements the old MathML rules (for instance: the infix/postfix/prefix detection should check all 'grouping elements' and mpadded, msqrt, but MathJax checks mrow only, and it should only look at 'in-flow' children).
This makes MathJax with MathML spacing slightly inconsistent with browser implementations, although I do not know how often that happens in practice.
I suspect the dictionary is also from an old version of the MathML (non-core) spec and might need updating too.
Describe the solution you'd like
Follow new MathML Core spec more closely.
Describe alternatives you've considered
I can override getMathMLSpacing
in configuration. I'll post the code here when I can make it presentable.
Additional context
Dictionary-based attributes (including how to determine the default forms): https://w3c.github.io/mathml-core/#dictionary-based-attributes
New operator dictionary: https://w3c.github.io/mathml-core/#operator-tables