Bug 153984

Summary: The Operator Dictionary lacks entries for U+1EEF0 and U+1EEF1
Product: WebKit Reporter: Frédéric Wang (:fredw) <fred.wang>
Component: MathMLAssignee: Frédéric Wang (:fredw) <fred.wang>
Status: RESOLVED FIXED    
Severity: Normal CC: commit-queue, dbarton, dr.khaled.hosny, esprehn+autocc, glenn, kondapallykalyan, mrobinson
Priority: P2    
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
URL: https://lists.w3.org/Archives/Public/www-math/2016Feb/0000.html
See Also: https://bugzilla.mozilla.org/show_bug.cgi?id=1246657
Bug Depends on: 160462    
Bug Blocks: 161306    
Attachments:
Description Flags
WIP Patch
none
Patch WIP
none
Patch
darin: review+
Patch none

Description Frédéric Wang (:fredw) 2016-02-08 07:34:52 PST
These are mentioned on http://www.unicode.org/charts/PDF/U1EE00.pdf referred by the MathML 3 recommendation, but absent from their suggested operator dictionary. I don't think any math font supports them yet.

Stretching operators
The following operators stretch based on the width of the text that is displayed below or above them.
1EEF0 ARABIC MATHEMATICAL OPERATOR MEEM WITH HAH WITH TATWEEL
  • used in Arabic mathematics to denote summation
  • stretched at the tatweel
  → 2211 ∑  n-ary summation
1EEF1 ARABIC MATHEMATICAL OPERATOR HAH WITH DAL
  • used in Persian mathematics to denote limits
  • stretched between the hah and the dal
Comment 1 Frédéric Wang (:fredw) 2016-08-23 06:41:54 PDT
Created attachment 286710 [details]
WIP Patch
Comment 2 Frédéric Wang (:fredw) 2016-08-23 06:44:37 PDT
*** Bug 122296 has been marked as a duplicate of this bug. ***
Comment 3 Frédéric Wang (:fredw) 2016-08-24 08:06:56 PDT
Created attachment 286853 [details]
Patch WIP

Adding a test and fixing a coding error with explicit prefix. I'll add a test for horizontal stretchiness tomorrow.
Comment 4 Frédéric Wang (:fredw) 2016-08-25 05:54:35 PDT
Created attachment 286963 [details]
Patch
Comment 5 Darin Adler 2016-08-27 17:17:16 PDT
Comment on attachment 286963 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=286963&action=review

> Source/WebCore/mathml/MathMLOperatorDictionary.cpp:1109
> +// The following two non-BMP characters are handled separately so that the arrays 'dictionary' and
> +// 'horizontalOperators' can use UChar instead of UChar32 and avoid an increase of memory footprint.

I don’t think this is the right call. The additional memory footprint is about 2kB. We should keep the code simple instead.
Comment 6 Frédéric Wang (:fredw) 2016-08-28 01:08:34 PDT
(In reply to comment #5)
> I don’t think this is the right call. The additional memory footprint is
> about 2kB. We should keep the code simple instead.

OK, I'll rewrite a simpler patch then.
Comment 7 Frédéric Wang (:fredw) 2016-08-28 23:08:30 PDT
Created attachment 287248 [details]
Patch
Comment 8 Frédéric Wang (:fredw) 2016-08-28 23:57:54 PDT
Committed r205111: <http://trac.webkit.org/changeset/205111>