Closed Bug 609620 Opened 14 years ago Closed 14 years ago

Incorrect display MathML formulas

Categories

(Core :: MathML, defect)

x86
Windows XP
defect
Not set
trivial

Tracking

()

RESOLVED INVALID

People

(Reporter: sergey_turbay, Unassigned)

Details

(Keywords: testcase)

Attachments

(2 files)

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>
Attached image example
Component: General → MathML
Keywords: testcase
Product: Firefox → Core
QA Contact: general → mathml
Version: unspecified → Trunk
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
Closed: 14 years ago
Resolution: --- → INVALID
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.

Attachment

General

Created:
Updated:
Size: