MathML: Difference between revisions

Content deleted Content added
EricAMeyer (talk | contribs)
Updated and added information in History section
EricAMeyer (talk | contribs)
Cleaned up references to avoid duplication
Line 91:
==History==
 
Following some experiments in the [[Arena browser]] based on [https://www.w3.org/MarkUp/HTMLPlus/htmlplus_45.html proposals for mathematical markup in HTML], MathML 1 was released as a W3C recommendation in April 1998 as the first [[XML]] language to be recommended by the [[W3C]]. Version 1.01 of the format was released in July 1999 and version 2.0 appeared in February 2001. Implementations of the specification appeared in Mozilla 1.0 and Opera 9.5<ref>{{cite web|title=Mozilla 1.0 Released!|url=http://www.mozillazine.org/articles/article2278.html|date=5 June 2002|access-date=3 March 2023}}</ref><ref name="opera-kestrel">{{citecitation web|url=http://dev.opera.com/articles/view/can-kestrels-do-math-mathml-support-in/|title=Can Kestrels Dodo Math? MathML Supportsupport in Opera Kestrel |urlfirst=https://dev.opera.com/blog/mathml-support-in-opera-kestrel/Charles |last=McCathieNevile |date=27 September 2007 |access-datepublisher=3 March 2023Opera}}</ref>. In October 2003, the second edition of MathML Version 2.0 was published as the final release by the [[W3C Math Working Group]].
 
MathML was originally designed before the finalization of [[XML namespace]]s. However, it was assigned a namespace immediately after the Namespace Recommendation was completed, and for XML use, the elements should be in the namespace with namespace URL <nowiki>http://www.w3.org/1998/Math/MathML</nowiki>. When MathML is used in HTML (as opposed to XML) this namespace is automatically inferred by the HTML parser and need not be specified in the document.
Line 103:
 
===MathML Core===
In August 2021, a new specification called MathML Core was published, described as the “core subset of Mathematical Markup Language, or MathML, that is suitable for browser implementation.”<ref>{{cite web|title=MathML Core|url=https://www.w3.org/TR/2022/WD-mathml-core-20220504/#abstract|date=4 May 2022|access-date=3 March 2023}}</ref> MathML Core set itself apart from MathML 3.0 by including detailed rendering rules and integration with CSS, automated browser support testing resources, and focusing on a fundamental subset of MathML. An implementation was added to Chromium at the beginning of 2023.<ref name="igalia-chrome-109">{{cite web|title=Igalia Brings MathML Back to Chromium|url=https://www.igalia.com/2023/01/10/Igalia-Brings-MathML-Back-to-Chromium.html|title=Igalia Brings MathML Back to Chromium|date=10 January 2023 |access-date=32023-01-10 March|publisher=Igalia 2023News}}</ref>
 
 
Line 348:
Of the major [[web browser]]s, [[Gecko (software)|Gecko]]-based browsers (e.g., [[Firefox]]) have the most complete native support for MathML.<ref>{{citation |url=https://developer.mozilla.org/en-US/docs/Mozilla_MathML_Project/Status |title=Mozilla MathML Status |first=Frédéric |last=Wang |publisher=Mozilla}}</ref><ref>{{citation |url=https://www.mozilla.org/projects/mathml/authoring.html |title=Authoring MathML for Mozilla |first=Roger B. |last=Sidje |publisher=Mozilla}}</ref>
 
While the [[WebKit]] layout engine has a development version of MathML,<ref>{{citation |url=https://bugs.webkit.org/show_bug.cgi?id=3251 |title=Bug 3251 – Implement MathML (master bug) |publisher=WebKit}} . . . (However, "see also") https://trac.webkit.org/wiki/MathML%20Status</ref> this feature is only available in version 5.1 and higher of [[Safari (web browser)|Safari]]. It was available in Chrome up through <ref>{{citation|url=http://www.leancrew.com/all-this/2011/07/safari-5-1-and-math/|title=Safari 5.1 and math}}</ref> [[Google Chrome|Chrome]] 24<ref>{{Citation|title=MathML Support Coming To Chrome|url=http://browserfame.com/900/mathml-in-chrome|publisher=BrowserFame|access-date=16 October 2012|archive-url=https://web.archive.org/web/20121014191355/http://browserfame.com/900/mathml-in-chrome|archive-date=14 October 2012|url-status=dead}}</ref><ref>{{Citation|title=Stable Chrome 24 supports MathML and closes security holes |url=http://www.h-online.com/open/news/item/Stable-Chrome-24-supports-MathML-and-closes-security-holes-1781648.html|publisher=The H Online|access-date=11 January 2013}}</ref> at which point it was removed.<ref>{{Citation|title=Stable Channel Update |url=http://googlechromereleases.blogspot.ca/2013/02/stable-channel-update_21.html|access-date=7 April 2013}}</ref> At the time, Google removed support of MathML claiming architectural security issues and low usage did not justify their engineering time.<ref name="CNET">{{cite web|url=https://www.cnet.com/news/google-subtracts-mathml-from-chrome-and-anger-multiplies/|title=Google subtracts MathML from Chrome, and anger multiplies|work=CNET|access-date=22 November 2014}}</ref> In January 2023, support for MathML was reintroduced to Chrome in version 109 due to work by Igalia.<ref name="chrome-109-new">{{cite web|url=https://developer.chrome.com/blog/new-in-chrome-109/|title=New in Chrome 109 |date=10 January 2023 |access-date=2023-01-10 |publisher=Chrome Developers}}</ref><ref>{{cite web|urlname=https://www."igalia.com/2023/01/10/Igalia-Bringschrome-MathML-Back-to-Chromium.html|title=Igalia109" Brings MathML Back to Chromium|date=10 January 2023 |access-date=2023-01-10 |publisher=Igalia News}}</ref> {{As of|October 2013}}, the WebKit/Safari implementation has numerous bugs.<ref>{{cite web|url=http://www.maths-informatique-jeux.com/blog/frederic/?post/2013/10/12/Funding-MathML-Developments-in-Gecko-and-WebKit|title=Funding MathML Developments in Gecko and WebKit - Blog de Frédéric|author=Frédéric Wang|work=maths-informatique-jeux.com|access-date=22 November 2014|archive-url=https://web.archive.org/web/20141214030114/http://www.maths-informatique-jeux.com/blog/frederic/?post%2F2013%2F10%2F12%2FFunding-MathML-Developments-in-Gecko-and-WebKit|archive-date=14 December 2014|url-status=dead}}</ref>
 
[[JavaFX|JavaFX/WebView]]. Also based on WebKit, the JavaFX embedded web browser supports MathML starting with JavaFX 8 Update 192 and JavaFX 11 versions. Support is broken, in JavaFX 8 previous versions, JavaFX 9 and JavaFX 10.
 
[[Opera (web browser)|Opera]], between version 9.5 and 12, supports MathML for CSS profile,<ref>{{citation |urlname=http://dev."opera.com/articles/view/can-kestrels-do-math-mathml-support-in/kestrel" |title=Can Kestrels do Math? MathML support in Opera Kestrel |first=Charles |last=McCathieNevile |date=27 September 2007 |publisher=Opera}}</ref><ref>{{citation |url=http://my.opera.com/desktopteam/blog/2007/11/16/even-more-work |title=Even more work |first=Tommy A. |last=Olsen |date=16 November 2007 |publisher=Opera|archive-url=https://web.archive.org/web/20071118141611/http://my.opera.com/desktopteam/blog/2007/11/16/even-more-work |archive-date=18 November 2007}}</ref> but is unable to position diacritical marks properly.<ref>[https://web.archive.org/web/20081211143506/http://my.opera.com/mathml/blog/show.dml/1460837#comments MathML – The Opera MathML blog]. My.opera.com (1 November 2007). Retrieved on 9 May 2012.</ref> Prior to version 9.5 it required User JavaScript or custom stylesheets to emulate MathML support.<ref>[https://web.archive.org/web/20080928225043/http://my.opera.com/community/forums/topic.dml?id=124033 UserJS for MathML 2.0]. My.opera.com. Retrieved on 9 May 2012.</ref> Starting with [[Opera (web browser)|Opera]] 14, Opera drops support for MathML by switching to the Chromium 25 engine.<ref>{{citation|url=http://my.opera.com/ODIN/blog/2013/03/05/opera-14-beta-for-android-is-out|title=Opera 14 beta for Android is out|archive-url=https://web.archive.org/web/20130308155256/http://my.opera.com/ODIN/blog/2013/03/05/opera-14-beta-for-android-is-out |archive-date=2013-03-08}}</ref>
 
[[Microsoft Edge]] does not support MathML, nor are there plans to add support.<ref>{{citation |url=https://developer.microsoft.com/en-us/microsoft-edge/status/mathml/?q=MathML |title=Microsoft Edge Platform Status |access-date=7 April 2021}}</ref>
Line 388:
|-
! {{rh}} | [[Chromium (web browser)|Chromium]], [[Google Chrome|Chrome]]
| {{Yes}}<ref name="chrome-109-new" />
| {{Yes}}<ref>{{cite web|url=https://developer.chrome.com/blog/new-in-chrome-109/|title=New in Chrome 109 |date=10 January 2023 |access-date=2023-01-10 |publisher=Chrome Developers}}</ref>
|-
! {{rh2}} | [[Dillo]]