Interop and MathML Core(conflor.es)
conflor.es
Interop and MathML Core
https://conflor.es/blog/2025-11-27-interop-and-mathml/
3 comments
I get the feeling that MathML will win out, simply because Firefox supported from early on [1], there is first move advantage. I use an old JS library for backwards compatibility [2] that adds just enough support for any math I'm math'in [3]. I would still prefer SVG, but it ended up being a pain to implement reliably.
One thing I noticed about this site though is that it is laggy - and I have a pretty good system.
[1] https://caniuse.com/mathml
[2] https://coffeespace.org.uk/projects/mathml-render.html
[3] https://github.com/pshihn/math-ml
One thing I noticed about this site though is that it is laggy - and I have a pretty good system.
[1] https://caniuse.com/mathml
[2] https://coffeespace.org.uk/projects/mathml-render.html
[3] https://github.com/pshihn/math-ml
It's amazing to see MathML moving forward. As a european, I really like this usage of my taxes euros.
My preferred workflow at the moment is to programatically-generate "Content MathML", which lets me focus on the structure of things (akin to Lisp's prefix-form s-expressions), e.g. here's "applying plus to identifier x and identifier y":
Browsers can't display Content MathML, so I use XSLT (adapted from [1]) to convert it to "Presentation MathML". The "MathML Core" discussed in this article is a subset of Presentation MathML. Presentation MathML focuses on the layout of symbols, e.g. the above becomes "identifier x followed by operator + followed by identifier y":
This separation also lets me choose different notations, without having to alter the underlying data; e.g. on this page which compares two different notations http://www.chriswarbo.net/projects/units/negative_bar_notati... (if you click the "View Source" link at the bottom, you'll see the same data being piped into `math block` and `math block minus`, which just apply a different stylesheet).
[1] https://www.w3.org/Math/XSL/Overview-tech.html