Skip to main content

MathFlow's MathML implementation

Applicability

The information on this page applies to:

MathFlow 1.7 and later

MathFlow SDK

MathFlow components

Issue

There are a few elements and attributes in MathML 2.0 that were not implemented in MathFlow 1.7-1.9. MathFlow 2.0 and later has better MathML 2 coverage and some MathML 3 coverage. Other elements behave slightly differently in MathFlow than the specification requires. Below, we've listed the known differences between standard MathML and the MathFlow implementations. If you find something not on this list, please contact us at support@wiris.com.

MathFlow 1.x

  • MathML 3 not supported.

  • Plane 1 Unicode Characters Not supported in MathFlow 1.x. However, the alternative method of selecting these characters using the mathvariant attribute (or setting the font style) is implemented to the extent that the MathFlow fonts permit.

  • mo: The attributes separator and fence have no effect.The default value for minsize is 0 in MathFlow rather than 1 as described in the specification.

  • mglyph: Not implemented.

  • mstyle: The attributes scriptsizemultiplier and scriptminsize are ignored. Setting the value of background to transparent has no effect.

  • mmultiscripts: The attributes subscriptshift and superscriptshift have no effect in MathFlow

  • mtable: The displaystyle attribute has no effect; use the displaystyle attribute in an mstyle surrounding the table. The alignmentscope attribute is not used in MathFlow

  • maction: MathFlow supports the following action types suggested by the MathML 2.0 specification: toggle, statusline, and highlight. MathFlow also provides support for two additional action types: link and mouseover.  The namespaced attributes dsi:color, dsi:background, dsi:cue1, dsi:cue2, and dsi:href are used to pass action parameters not specified in MathML 2.0.

  • declare: Has no effect on rendering.

MathFlow 2.x

  • Linebreaking and indentation: MathFlow 2's support for MathML 3 linebreaking and indentation includes:

    • Enhanced linebreaking in tables.

    • Automatic linebreaking and alignment by operator.

    • A Linebreak Attributes dialog which can be accessed from the Preferences menu.

  • Elementary math elements: MathFlow does not yet support mstack, mscarry, mscarries, msgroup, msrow, msline, and mlongdiv.

  • Right-to-left: MathFlow does not yet support right-to-left editing & rendering.

  • mo: The attributes separator and fence have no effect. The default value for minsize is 0 in MathFlow rather than 1 as described in the specification.

  • mglyph: Not implemented.

  • mstyle: The attributes scriptsizemultiplier and scriptminsize are ignored. Setting the value of background to transparent has no effect.

  • mmultiscripts: The attributes subscriptshift and superscriptshift have no effect in MathFlow

  • mtable: The displaystyle attribute has no effect; use the displaystyle attribute in an mstyle surrounding the table. The alignmentscope and groupalign attributes are not used in MathFlow

  • maction: MathFlow does not support the menu or tooltip actions from MathML specification. MathFlow uses the namespaced attributes dsi:color, dsi:background, dsi:cue1, dsi:cue2, and dsi:href to pass additional action parameters not specified in MathML 2.0/3.0.

  • declare: Has no effect on rendering.

We hope this has been helpful. As always, please let us know if you have questions about this, or if you have additional techniques that work. We'd love to hear from you.