NativeMML tweaks on WebKit
For when we get a chance to revisit the NativeMML tweaks for WebKit. Some tweaks now have the adverse effect.
Some examples:
- Stretchy parentheses
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mo>(</mo>
<mtable>
<mtr>
<mtd columnalign="center">
<mrow>
<mo>(</mo>
<mtable>
<mtr>
<mtd columnalign="center">
<mi>a</mi>
</mtd>
<mtd columnalign="center">
<mi>b</mi>
</mtd>
</mtr>
<mtr>
<mtd columnalign="center">
<mi>c</mi>
</mtd>
<mtd columnalign="center">
<mi>d</mi>
</mtd>
</mtr>
</mtable>
<mo>)</mo>
</mrow>
</mtd>
<mtd columnalign="center">
<mrow>
<mo>(</mo>
<mtable>
<mtr>
<mtd columnalign="center">
<mi>e</mi>
</mtd>
<mtd columnalign="center">
<mi>f</mi>
</mtd>
</mtr>
<mtr>
<mtd columnalign="center">
<mi>g</mi>
</mtd>
<mtd columnalign="center">
<mi>h</mi>
</mtd>
</mtr>
</mtable>
<mo>)</mo>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd columnalign="center">
<mn>0</mn>
</mtd>
<mtd columnalign="center">
<mrow>
<mo>(</mo>
<mtable>
<mtr>
<mtd columnalign="center">
<mi>i</mi>
</mtd>
<mtd columnalign="center">
<mi>j</mi>
</mtd>
</mtr>
<mtr>
<mtd columnalign="center">
<mi>k</mi>
</mtd>
<mtd columnalign="center">
<mi>l</mi>
</mtd>
</mtr>
</mtable>
<mo>)</mo>
</mrow>
</mtd>
</mtr>
</mtable>
<mo>)</mo>
</mrow>
</math>
becomes
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mo style="-webkit-margin-start: 0em; -webkit-margin-end: 0em;">(</mo>
<mtable>
<mtr>
<mtd columnalign="center" style="padding: 0px;">
<mrow>
<mo style="-webkit-margin-start: 0em; -webkit-margin-end: 0em;">(</mo>
<mtable>
<mtr>
<mtd columnalign="center" style="padding: 0px;">
<mi>a</mi>
</mtd>
<mtd columnalign="center" style="padding: 0px 0px 0px 0.8em;">
<mi>b</mi>
</mtd>
</mtr>
<mtr>
<mtd columnalign="center" style="padding: 1ex 0px 0px;">
<mi>c</mi>
</mtd>
<mtd columnalign="center" style="padding: 1ex 0px 0px 0.8em;">
<mi>d</mi>
</mtd>
</mtr>
</mtable>
<mo style="-webkit-margin-start: 0em; -webkit-margin-end: 0em;">)</mo>
</mrow>
</mtd>
<mtd columnalign="center" style="padding: 0px 0px 0px 0.8em;">
<mrow>
<mo style="-webkit-margin-start: 0em; -webkit-margin-end: 0em;">(</mo>
<mtable>
<mtr>
<mtd columnalign="center" style="padding: 0px;">
<mi>e</mi>
</mtd>
<mtd columnalign="center" style="padding: 0px 0px 0px 0.8em;">
<mi>f</mi>
</mtd>
</mtr>
<mtr>
<mtd columnalign="center" style="padding: 1ex 0px 0px;">
<mi>g</mi>
</mtd>
<mtd columnalign="center" style="padding: 1ex 0px 0px 0.8em;">
<mi>h</mi>
</mtd>
</mtr>
</mtable>
<mo style="-webkit-margin-start: 0em; -webkit-margin-end: 0em;">)</mo>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd columnalign="center" style="padding: 1ex 0px 0px;">
<mn>0</mn>
</mtd>
<mtd columnalign="center" style="padding: 1ex 0px 0px 0.8em;">
<mrow>
<mo style="-webkit-margin-start: 0em; -webkit-margin-end: 0em;">(</mo>
<mtable>
<mtr>
<mtd columnalign="center" style="padding: 0px;">
<mi>i</mi>
</mtd>
<mtd columnalign="center" style="padding: 0px 0px 0px 0.8em;">
<mi>j</mi>
</mtd>
</mtr>
<mtr>
<mtd columnalign="center" style="padding: 1ex 0px 0px;">
<mi>k</mi>
</mtd>
<mtd columnalign="center" style="padding: 1ex 0px 0px 0.8em;">
<mi>l</mi>
</mtd>
</mtr>
</mtable>
<mo style="-webkit-margin-start: 0em; -webkit-margin-end: 0em;">)</mo>
</mrow>
</mtd>
</mtr>
</mtable>
<mo style="-webkit-margin-start: 0em; -webkit-margin-end: 0em;">)</mo>
</mrow>
</math>
Which actually won't stretch the inner matrices's brackets.
- Multiscripts
<math xmlns="http://www.w3.org/1998/Math/MathML" style="font-size: 24pt" display="block">
<mrow>
<munderover>
<mmultiscripts>
<mo>∏</mo>
<mmultiscripts>
<mi>𝔈</mi>
<mi>υ</mi>
<mi>τ</mi>
<mprescripts></mprescripts>
<mi>ρ</mi>
<mi>σ</mi>
</mmultiscripts>
<mmultiscripts>
<mi>𝔇</mi>
<mi>π</mi>
<mi>ο</mi>
<mprescripts></mprescripts>
<mi>ν</mi>
<mi>ξ</mi>
</mmultiscripts>
<mprescripts></mprescripts>
<mmultiscripts>
<mi>𝔄</mi>
<mi>δ</mi>
<mi>γ</mi>
<mprescripts></mprescripts>
<mi>α</mi>
<mi>β</mi>
</mmultiscripts>
<mmultiscripts>
<mi>𝔅</mi>
<mi>θ</mi>
<mi>η</mi>
<mprescripts></mprescripts>
<mi>ε</mi>
<mi>ζ</mi>
</mmultiscripts>
</mmultiscripts>
<mmultiscripts>
<mi>𝔉</mi>
<mi>ω</mi>
<mi>ψ</mi>
<mprescripts></mprescripts>
<mi>ϕ</mi>
<mi>χ</mi>
</mmultiscripts>
<mmultiscripts>
<mi>ℭ</mi>
<mi>μ</mi>
<mi>λ</mi>
<mprescripts></mprescripts>
<mi>ι</mi>
<mi>κ</mi>
</mmultiscripts>
</munderover>
</mrow>
</math>
produces a processing error.
- iterated surds
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<msqrt>
<mn>1</mn>
<mo>+</mo>
<msqrt>
<mn>1</mn>
<mo>+</mo>
<msqrt>
<mn>1</mn>
<mo>+</mo>
<msqrt>
<mn>1</mn>
<mo>+</mo>
<msqrt>
<mn>1</mn>
<mo>+</mo>
<msqrt>
<mn>1</mn>
<mo>+</mo>
<msqrt>
<mn>1</mn>
<mo>+</mo>
<mi>x</mi>
</msqrt>
</msqrt>
</msqrt>
</msqrt>
</msqrt>
</msqrt>
</msqrt>
</mrow>
</math>
becomes
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<msqrt>
<mn>1</mn>
<mo style="-webkit-margin-start: 0.2667em; -webkit-margin-end: 0.2667em;">+</mo>
<msqrt>
<mn>1</mn>
<mo style="-webkit-margin-start: 0.2667em; -webkit-margin-end: 0.2667em;">+</mo>
<msqrt>
<mn>1</mn>
<mo style="-webkit-margin-start: 0.2667em; -webkit-margin-end: 0.2667em;">+</mo>
<msqrt>
<mn>1</mn>
<mo style="-webkit-margin-start: 0.2667em; -webkit-margin-end: 0.2667em;">+</mo>
<msqrt>
<mn>1</mn>
<mo style="-webkit-margin-start: 0.2667em; -webkit-margin-end: 0.2667em;">+</mo>
<msqrt>
<mn>1</mn>
<mo style="-webkit-margin-start: 0.2667em; -webkit-margin-end: 0.2667em;">+</mo>
<msqrt>
<mn>1</mn>
<mo style="-webkit-margin-start: 0.2667em; -webkit-margin-end: 0.2667em;">+</mo>
<mi>x</mi>
</msqrt>
</msqrt>
</msqrt>
</msqrt>
</msqrt>
</msqrt>
</msqrt>
</mrow>
</math>
which renders badly.
I'll collect more as I come across them.