Closed
Bug 69325
Opened 24 years ago
Closed 23 years ago
Mozilla rendering doesn't match suggested W3C rendering
Categories
(Core :: MathML, defect)
Core
MathML
Tracking
()
RESOLVED
INVALID
People
(Reporter: rbs, Assigned: rbs)
Details
Attachments
(3 files)
The following is not rendered as suggested (see attached screenshot) <math xmlns="&mathml;"> <mrow> <mo>∫</mo> <mi>x</mi> <mo>=</mo> <mo largeop="true">∫</mo> <mi>x</mi> <mo>=</mo> <mo largeop="false">∫</mo> <mi>x</mi> <mo>=</mo> <mstyle displaystyle="true"> <mo>∫</mo> <mi>x</mi> <mo>=</mo> <mo largeop="true">∫</mo> <mi>x</mi> <mo>=</mo> <mo largeop="false">∫</mo> <mi>x</mi> </mstyle> </mrow> </math>
What is happening in Mozilla is that the stretchy elements inside <mstyle>...</mstyle> are stretched first (i.e., the leaf-elements are processed first), and their resulting size is determining the size with which to stretch other surrounding elements.
Unless I am missing something, I think this bug is invalid. Mozilla appears to be doing the expected thing here. There are 8 possible cases depending on whether displaystyle, largeop, stretchy are 'true' or 'false'. I have enumerated the 8 cases below and listed the expected renderings that correspond to each: display largeop stretchy | expected rendering =========================+=================== 1: false false false | base size 2: false false true | stretchy size 3: false true false | base size* 4: false true true | stretchy size 5: true false false | base size 6: true false true | strethy size 7: true true false | only the largeop size even if the font can stretch 8: true true true | stretchy size *case 3 has to be the base size indeed, otherwise the many operators that have largeop='true' in the dictionary would have to be strecthed even when not needed. Since by default ∫ has largeop='true' and stretchy='true' in the Operator Dictionary, the testcase corresponds to the following situations: <math> <!-- inline mode here, so displaystyle='false' --> <mrow> <mo>∫</mo> <!-- this is case 4 --> <mi>x</mi> <mo>=</mo> <mo largeop="true">∫</mo> <!-- this is case 4 --> <mi>x</mi> <mo>=</mo> <mo largeop="false">∫</mo> <!-- this is case 2 --> <mi>x</mi> <mo>=</mo> <mstyle displaystyle="true"> ... <-- no issues inside here, rendering matches --> </mstyle> </mstyle> </math> So, resolving as INVALID.
Status: NEW → RESOLVED
Closed: 23 years ago
Resolution: --- → INVALID
You need to log in
before you can comment on or make changes to this bug.
Description
•