Bug 115789

Summary: MathML Acid1 fails to render properly
Product: WebKit Reporter: Frédéric Wang (:fredw) <fred.wang>
Component: MathMLAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: bfulgham, cfleizach, jonlee, mrobinson, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
URL: http://fred-wang.github.io/AcidTestsMathML/acid1/
Bug Depends on: 44208, 115786, 115787, 119038, 122297    
Bug Blocks:    
Attachments:
Description Flags
Screenshot on nightly + patches for 115786, 124838, 115787
none
Screenshot Nightly WebKitGTK+ none

Description Frédéric Wang (:fredw) 2013-05-08 03:10:08 PDT
Webkit almost renders the MathML Acid1 properly, but a few requirements are not respected:

http://fred-wang.github.io/AcidTestsMathML/acid1/description.html

- the spacing of operators (especially invisible operators and commas) is not always good
- in test 3, "bang" and "whimper" <mi>'s should not be italic
- the stretching of parenthesis (e.g. in test 6) in is not always done for me (with Martin Robinson's patch), but that seems a random failure. I'm not sure what the problem is but that will probably be solved if we have size variants.
Comment 1 Frédéric Wang (:fredw) 2013-05-08 14:53:38 PDT
> but that seems a random failure.

I'm wondering if that has something to do with the reflow that happens when the Web fonts arrive.
Comment 2 Jon Lee 2013-11-26 18:37:30 PST
<rdar://problem/15552335
>
Comment 3 Frédéric Wang (:fredw) 2014-02-26 01:14:45 PST
Created attachment 225241 [details]
Screenshot on nightly + patches for 115786, 124838, 115787

We are getting close. However, in test 4 the fences do not stretch. I think this is because the height is too small and so we fallback to the base size:

>  // Sometimes we cannot stretch an operator properly, so in that case, we should just use the original size.
>  m_stretchyCharacter = m_isStretched ? findAcceptableStretchyCharacter(stretchedCharacter) : 0;
>  if (!m_stretchyCharacter)
>    m_isStretched = false;

So I think we will need the work of bug 122297 to be able to use size variants for small sizes (and we could do bug 119038 at the same time).
Comment 4 Frédéric Wang (:fredw) 2014-06-18 00:29:45 PDT
Created attachment 233291 [details]
Screenshot Nightly WebKitGTK+

Testing on WebKitGTK+, I no longer see the problem with stretchy parenthesis in test 4 and the radical sign looks slightly better (even with the current default non-OpenTypeMATH font).