Closed Bug 380266 (mspace-linebreak) Opened 17 years ago Closed 12 years ago

MathML rendering errors : mspace linebreak

Categories

(Core :: MathML, defect)

defect
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 534962

People

(Reporter: m.debec, Unassigned)

References

()

Details

(Whiteboard: [close-me-2012-04-08] )

Attachments

(2 files, 1 obsolete file)

User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3

The two most frustating bugs I have find in MathML rendering are :

1) bad rendering of line breaks (<mspace linebreak="newline" />), see W3C sample.
2) bad rendering of square root extension (may be font related).

Reproducible: Always

Steps to Reproduce:
1.any use of <mspace linebreak="newline" /> in any expression is ignored.
2.
3.
Actual Results:  
no line break, no usable workaround found.

Expected Results:  
display linebreak in math expression.

This prevents the use of any long math expression, hand cutting the expression is not ran option, specially in tables.
Assignee: nobody → rbs
Component: General → MathML
Product: Firefox → Core
QA Contact: general → ian
Version: unspecified → 1.8 Branch
QA Contact: ian → mathml
Attached patch Parsing of linebreak attribute (obsolete) — Splinter Review
I think we can first work on the linebreak="newline" since it is likely to be the most useful / simplest to implement. Any idea about how to force a newline in a MathML formula?
Finally I have been able to force a new line using NS_INLINE_LINE_BREAK_AFTER.

   NS_FRAME_SET_TRUNCATION(aStatus, aReflowState, aDesiredSize);
+
+  if (mLineBreak == LINEBREAK_NEWLINE)
+    aStatus = NS_INLINE_LINE_BREAK_AFTER(aStatus);
+
   return NS_OK;

I don't think a support for other values than "newline" is really necessary since it is said in MathML3 WD that controlling linebreaking on <mo/> is preferred. Maybe I should modify my patch not to parse these extra values.

http://www.w3.org/TR/2009/WD-MathML3-20090604/chapter3.html#presm.mspace
(In reply to comment #2)
> Finally I have been able to force a new line using NS_INLINE_LINE_BREAK_AFTER.
> 

Actually it seems a bit more complicated... Currently Mozilla can not linebreak within <mrow>:

http://www.mozilla.org/projects/mathml/update.html (see the section about mrow)
Status: UNCONFIRMED → NEW
Ever confirmed: true
Blocks: mathml-2
Assignee: rbs → nobody
Severity: major → normal
OS: Windows XP → All
Hardware: x86 → All
Version: 1.8 Branch → Trunk
Attached patch PatchSplinter Review
Attachment #398141 - Attachment is obsolete: true
Attached file Testcase
Alias: mspace-linebreak
The patch here does not appear to fix the issue from the original test from the URL in the patch:

http://www.w3.org/Math/testsuite/build/main/Presentation/TokenElements/mspace/mspaceAbreak3-full.xhtml
(In reply to comment #6)
> The patch here does not appear to fix the issue from the original test from the
> URL in the patch:
             ^^^^^
             bug
linebreaking is currently only possible at the level of the math element. Although the patch allows to force linebreaking, it is still impossible to break deeper (in the MathML testsuite, we are inside a mrow). Fixing the bug will be more complicated that I initially thought. I don't plan to work on it for the moment.
No longer blocks: mathml-linebreaking
The MathML 3 says

"Linebreaking was originally specified on mspace in MathML2, but controlling linebreaking on mo is to be preferred starting with MathML 3."

I don't know if it's really worth implementing linebreaking on mspace, given that this is probably going to become obsolete.

So I think we should either resolve this bug as WONTFIX or as a DUPLICATE of bug 534962.
Whiteboard: [close-me-2012-04-08]
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: