Incorrect display MathML formulas

RESOLVED INVALID

Status

()

--
trivial
RESOLVED INVALID
8 years ago
8 years ago

People

(Reporter: sergey_turbay, Unassigned)

Tracking

({testcase})

Trunk
x86
Windows XP
testcase
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(2 attachments)

(Reporter)

Description

8 years ago
User-Agent:       Mozilla/5.0 (Windows NT 5.1; rv:2.0b6) Gecko/20100101 Firefox/4.0b6
Build Identifier: Mozilla/5.0 (Windows NT 5.1; rv:2.0b6) Gecko/20100101 Firefox/4.0b6

Formula written in MahtML correctly displayed in the browser.

Reproducible: Always

Steps to Reproduce:
Incorrect display of the formula:
<math><mstyle displaystyle="true"><munder><mo>lim</mo><mrow><mn>&#916;</mn><mi>x</mi><mo>&#8594;</mo><mn>0</mn></mrow></munder><mo>=</mo><mfrac><mrow><munder><mo>lim</mo><mrow><mn>&#916;</mn><mi>y</mi><mo>&#8594;</mo><mn>0</mn></mrow></munder><mfrac><mrow><mn>&#916;</mn><mi>y</mi></mrow><mrow><mn>&#916;</mn><mi>x</mi></mrow></mfrac></mrow><mrow><munder><mo>lim</mo><mrow><mn>&#916;</mn><mi>z</mi><mo>&#8594;</mo><mn>0</mn></mrow></munder><mfrac><mrow><mn>&#916;</mn><mi>z</mi></mrow><mrow><mn>&#916;</mn><mi>x</mi></mrow></mfrac></mrow></mfrac></mstyle></math>
(Reporter)

Comment 1

8 years ago
Created attachment 488196 [details]
example
Component: General → MathML
Keywords: testcase
Product: Firefox → Core
QA Contact: general → mathml
Version: unspecified → Trunk
Created attachment 488217 [details]
Reporter's Testcase
MathML 1.01 section 3.3.2 says:

  The <mfrac> element sets displaystyle to "false".

If you want things inside mfrac to have displaystyle="true", you need an explicit <mstyle> in there.
Status: UNCONFIRMED → RESOLVED
Last Resolved: 8 years ago
Resolution: --- → INVALID
(Reporter)

Comment 4

8 years ago
Look at this version of the code.

<math><mstyle displaystyle="true"><munder><mo>lim</mo><mrow><mn>&#916;</mn><mi>x</mi><mo>&#8594;</mo><mn>0</mn></mrow></munder><mo>=</mo><mfrac><mrow><munder><mo>lim</mo><mrow><mn>&#916;</mn><mi>y</mi><mo>&#8594;</mo><mn>0</mn></mrow></munder><mfrac><mrow><mn>&#916;</mn><mi>y</mi></mrow><mrow><mn>&#916;</mn><mi>x</mi></mrow></mfrac></mrow><mrow><munder><mo>lim</mo><mrow><mn>&#916;</mn><mi>z</mi><mo>&#8594;</mo><mn>0</mn></mrow></munder><mfrac><mrow><mn>&#916;</mn><mi>z</mi></mrow><mrow><mn>&#916;</mn><mi>x</mi></mrow></mfrac></mrow></mfrac><mo>=</mo><mfrac><mrow><munder><mi>lim</mi><mrow><mn>&#916;</mn><mi>y</mi><mo>&#8594;</mo><mn>0</mn></mrow></munder><mfrac><mrow><mn>&#916;</mn><mi>y</mi></mrow><mrow><mn>&#916;</mn><mi>x</mi></mrow></mfrac></mrow><mrow><munder><mi>lim</mi><mrow><mn>&#916;</mn><mi>z</mi><mo>&#8594;</mo><mn>0</mn></mrow></munder><mfrac><mrow><mn>&#916;</mn><mi>z</mi></mrow><mrow><mn>&#916;</mn><mi>x</mi></mrow></mfrac></mrow></mfrac><mo>=</mo><mfrac><mrow><munder><mn>lim</mn><mrow><mn>&#916;</mn><mi>y</mi><mo>&#8594;</mo><mn>0</mn></mrow></munder><mfrac><mrow><mn>&#916;</mn><mi>y</mi></mrow><mrow><mn>&#916;</mn><mi>x</mi></mrow></mfrac></mrow><mrow><munder><mn>lim</mn><mrow><mn>&#916;</mn><mi>z</mi><mo>&#8594;</mo><mn>0</mn></mrow></munder><mfrac><mrow><mn>&#916;</mn><mi>z</mi></mrow><mrow><mn>&#916;</mn><mi>x</mi></mrow></mfrac></mrow></mfrac><mo>=</mo><mfrac><mrow><munder><mo>ln</mo><mrow><mn>&#916;</mn><mi>y</mi><mo>&#8594;</mo><mn>0</mn></mrow></munder><mfrac><mrow><mn>&#916;</mn><mi>y</mi></mrow><mrow><mn>&#916;</mn><mi>x</mi></mrow></mfrac></mrow><mrow><munder><mo>cos</mo><mrow><mn>&#916;</mn><mi>z</mi><mo>&#8594;</mo><mn>0</mn></mrow></munder><mfrac><mrow><mn>&#916;</mn><mi>z</mi></mrow><mrow><mn>&#916;</mn><mi>x</mi></mrow></mfrac></mrow></mfrac></mstyle></math>

Incorrectly displays only a portion containing <mo>lim</mo>.
If you replace <mo> another token (eg, <mi> or <mn>) or instead of "lim" write another text, the code is displayed correctly.
MathML 1.01 section 3.4.4 (which defines <munder>) says:

  If the base is an operator with movablelimits="true" (or an embellished
  operator whose <mo> element core has movablelimits="true"), and
  displaystyle="false", then underscript is drawn in a subscript position.

Section 3.2.4 (which defines <mo>) says:

  MathML anticipates that renderers will have an "operator dictionary" of
  default attributes for <mo> elements (see Appendix C) indexed by each <mo>
  element's content and form attribute.

And Appendix C has this line:

  "lim"    form="prefix"  movablelimits="true"  lspace="0em" rspace=".16666em"

It does not have a line for "ln" or any of the other things you tried.   So per spec, "lim" is supposed to behave differently from "ln", say, in this situation.
You need to log in before you can comment on or make changes to this bug.