Last Comment Bug 372351 - (cambria-math) Support of Microsoft Cambria Math Fonts for MathML
: Support of Microsoft Cambria Math Fonts for MathML
Product: Core
Classification: Components
Component: MathML (show other bugs)
: Trunk
: All All
: P5 enhancement with 7 votes (vote)
: mozilla31
Assigned To: Nobody; OK to take it and work on it
Depends on: 402473 403958 mathvariant 289938 333126 400938 407059 412033 947650
Blocks: 947654
  Show dependency treegraph
Reported: 2007-03-01 23:30 PST by Markus Gyger
Modified: 2014-04-25 00:47 PDT (History)
9 users (show)
See Also:
Crash Signature:
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---


Description Markus Gyger 2007-03-01 23:30:43 PST
User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv: Gecko/20070219 Firefox/
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv: Gecko/20070219 Firefox/

Windows Vista and Office 2007 come with new fonts Cambria and Cambria Math. They are also installed as part of PowerPoint Viewer 2007[1] and the Microsoft Office Compatibility Pack[2]. These fonts should be used for MathML if available.

On Windows XP, the fonts only can also be installed from the Compatibility Pack[2] using the following in Command Prompt (cmd):

fileformatconverters /quiet /extract:ffc
expand -f:*.tt? ffc\*.cab \windows\fonts

To install them on Linux/Unix, use

cabextract -d ffc -LF*.cab FileFormatConverters.exe
cabextract -d ~/.fonts -LF*.tt? ffc/*.cab

If there are problems with the TrueType Collection (TTC), 'split' it in two:

cd ~/.fonts
perl -0777pe 's/(.{32})(.{332})/$2$1/s' cambria.ttc > cambria.ttf
perl -0777pe 's/(.{364})(.{348})/$2$1/s' cambria.ttc > cambriamath.ttf
rm cambria.ttc
chmod +x Cambria.ttf CambriaMath.ttf  # only necessary on Cygwin

[1] PowerPoint Viewer 2007

[2] Microsoft Office Compatibility Pack for Word, Excel, and PowerPoint 2007 File Formats

Reproducible: Always

Steps to Reproduce:
Comment 1 Markus Gyger 2007-03-02 14:03:17 PST
Above should read:

fileformatconverters /quiet /extract:ffc
expand -f:*.tt? ffc\*.cab c:\windows\fonts
rd /q/s ffc

cabextract -d ffc -LF*.cab FileFormatConverters.exe
cabextract -d ~/.fonts -LF*.tt? ffc/*.cab
rm -r ffc
Comment 4 AndrewM 2007-11-03 08:40:48 PDT
Should Version be changed to Trunk? Or has this already been fixed on the trunk?
Comment 5 Karl Tomlinson (ni?:karlt) 2007-11-04 11:24:52 PST
This is not fixed on Trunk.
Changing Version to Trunk, as I expect this'll be fixed on trunk before it is on 1.8.
Comment 6 Karl Tomlinson (ni?:karlt) 2007-12-07 14:21:00 PST
Partial support this font is now on trunk.
Unicode parts for stretchy chars are available from bug 400938.
Bug 289938 needs to be fixed for Unicode Plane 1 characters.

This font has no italic nor bold style for alphanumeric characters in plane 0
as they exist at their unique code points in plane 1.  To ensure that
<mi>a</mi> is displayed as italic we either need to complete the mathvariant
translation to plane 1 (bug 114365) or we need to ensure that synthetic italic
and bold are functional (e.g. bug 333126).  Currently the font-family in
mathml.css has "Cambria" before "Cambria Math" to work around this issue, but
"Cambria" should be removed once this issue is resolved.

The radical symbol bottom is available in this font and can be extended with
U+20D3 COMBINING SHORT VERTICAL LINE OVERLAY, but there is no character
mapping to the glyph for the top of the stretchy radical.  If the change to
the radical rule alignment code suggested in Bug 403958 is made, then adding a would enable use of this font to build radicals
of any height.

Bug 407059 is the best way to get the non-Unicode size-variants and parts for
stretchy characters, as there are no character maps for the non-Unicode
Comment 7 Frédéric Wang (:fredw) 2014-04-25 00:47:33 PDT
I'm closing all these font-specific meta bug since the main work has been done in bug 407059 and bug 947650. Remaining issues will be handled on the OpenType MATH bugs.

Once bug 1000879 is merged, one will be able to verify the initial OpenType MATH support with the MathML torture test:

Note You need to log in before you can comment on or make changes to this bug.