Merge branch 'issue813' into v2.4-beta. Issue #813.

This commit is contained in:
Davide P. Cervone 2014-05-29 11:55:44 -04:00
commit 54007abc60

View File

@ -122,6 +122,7 @@
} }
} }
}, },
handlesVariants: false, // true if native support for mathvariants
settings: HUB.config.menuSettings, settings: HUB.config.menuSettings,
ex: 1, scale: 1, // filled in later ex: 1, scale: 1, // filled in later
adjustWidths: [], // array of elements to have their widths adjusted adjustWidths: [], // array of elements to have their widths adjusted
@ -856,53 +857,62 @@
var fontDir = AJAX.fileURL(MathJax.OutputJax.fontDir+"/HTML-CSS/TeX/otf"); var fontDir = AJAX.fileURL(MathJax.OutputJax.fontDir+"/HTML-CSS/TeX/otf");
/* /*
* Add fix for mathvariant issues in FF * Add fix for mathvariant issues
*/ */
nMML.Augment({ nMML.Augment({
config: { config: {
styles: { styles: {
'[mathvariant="double-struck"]': {"font-family":"MathJax_AMS, MathJax_AMS-WEB"}, '[class="MJX-tex-oldstyle"]': {"font-family":"MathJax_Caligraphic, MathJax_Caligraphic-WEB"},
'[mathvariant="script"]': {"font-family":"MathJax_Script, MathJax_Script-WEB"}, '[class="MJX-tex-oldstyle-bold"]': {"font-family":"MathJax_Caligraphic, MathJax_Caligraphic-WEB", "font-weight":"bold"},
'[mathvariant="fraktur"]': {"font-family":"MathJax_Fraktur, MathJax_Fraktur-WEB"}, '[class="MJX-tex-caligraphic"]': {"font-family":"MathJax_Caligraphic, MathJax_Caligraphic-WEB"},
'[mathvariant="bold-script"]': {"font-family":"MathJax_Script, MathJax_Caligraphic-WEB", "font-weight":"bold"}, '[class="MJX-tex-caligraphic-bold"]': {"font-family":"MathJax_Caligraphic, MathJax_Caligraphic-WEB", "font-weight":"bold"},
'[mathvariant="bold-fraktur"]': {"font-family":"MathJax_Fraktur, MathJax_Fraktur-WEB", "font-weight":"bold"},
'[mathvariant="monospace"]': {"font-family":"monospace"},
'[mathvariant="sans-serif"]': {"font-family":"sans-serif"},
'[mathvariant="bold-sans-serif"]': {"font-family":"sans-serif", "font-weight":"bold"},
'[mathvariant="sans-serif-italic"]': {"font-family":"sans-serif", "font-style":"italic"},
'[mathvariant="sans-serif-bold-italic"]': {"font-family":"sans-serif", "font-style":"italic", "font-weight":"bold"},
'[class="MJX-tex-oldstyle"]': {"font-family":"MathJax_Caligraphic, MathJax_Caligraphic-WEB"},
'[class="MJX-tex-oldstyle-bold"]': {"font-family":"MathJax_Caligraphic, MathJax_Caligraphic-WEB", "font-weight":"bold"},
'[class="MJX-tex-caligraphic"]': {"font-family":"MathJax_Caligraphic, MathJax_Caligraphic-WEB"},
'[class="MJX-tex-caligraphic-bold"]': {"font-family":"MathJax_Caligraphic, MathJax_Caligraphic-WEB", "font-weight":"bold"},
'@font-face /*1*/': { '@font-face /*1*/': {
"font-family": "MathJax_AMS-WEB", "font-family": "MathJax_Caligraphic-WEB",
"src": "url('"+fontDir+"/MathJax_AMS-Regular.otf')" "src": "url('"+fontDir+"/MathJax_Caligraphic-Regular.otf')"
}, },
'@font-face /*2*/': { '@font-face /*2*/': {
"font-family": "MathJax_Script-WEB", "font-family": "MathJax_Caligraphic-WEB", "font-weight":"bold",
"src": "url('"+fontDir+"/MathJax_Script-Regular.otf')" "src": "url('"+fontDir+"/MathJax_Caligraphic-Bold.otf')"
}, }
'@font-face /*3*/': { }
"font-family": "MathJax_Fraktur-WEB", }
"src": "url('"+fontDir+"/MathJax_Fraktur-Regular.otf')"
},
'@font-face /*4*/': {
"font-family": "MathJax_Caligraphic-WEB",
"src": "url('"+fontDir+"/MathJax_Caligraphic-Regular.otf')"
},
'@font-face /*5*/': {
"font-family": "MathJax_Fraktur-WEB", "font-weight":"bold",
"src": "url('"+fontDir+"/MathJax_Fraktur-Bold.otf')"
},
'@font-face /*6*/': {
"font-family": "MathJax_Caligraphic-WEB", "font-weight":"bold",
"src": "url('"+fontDir+"/MathJax_Caligraphic-Bold.otf')"
}
}
}
}); });
if (!this.handlesVariants) {
nMML.Augment({
config: {
styles: {
'[mathvariant="double-struck"]': {"font-family":"MathJax_AMS, MathJax_AMS-WEB"},
'[mathvariant="script"]': {"font-family":"MathJax_Script, MathJax_Script-WEB"},
'[mathvariant="fraktur"]': {"font-family":"MathJax_Fraktur, MathJax_Fraktur-WEB"},
'[mathvariant="bold-script"]': {"font-family":"MathJax_Script, MathJax_Caligraphic-WEB", "font-weight":"bold"},
'[mathvariant="bold-fraktur"]': {"font-family":"MathJax_Fraktur, MathJax_Fraktur-WEB", "font-weight":"bold"},
'[mathvariant="monospace"]': {"font-family":"monospace"},
'[mathvariant="sans-serif"]': {"font-family":"sans-serif"},
'[mathvariant="bold-sans-serif"]': {"font-family":"sans-serif", "font-weight":"bold"},
'[mathvariant="sans-serif-italic"]': {"font-family":"sans-serif", "font-style":"italic"},
'[mathvariant="sans-serif-bold-italic"]': {"font-family":"sans-serif", "font-style":"italic", "font-weight":"bold"},
'@font-face /*3*/': {
"font-family": "MathJax_AMS-WEB",
"src": "url('"+fontDir+"/MathJax_AMS-Regular.otf')"
},
'@font-face /*4*/': {
"font-family": "MathJax_Script-WEB",
"src": "url('"+fontDir+"/MathJax_Script-Regular.otf')"
},
'@font-face /*5*/': {
"font-family": "MathJax_Fraktur-WEB",
"src": "url('"+fontDir+"/MathJax_Fraktur-Regular.otf')"
},
'@font-face /*6*/': {
"font-family": "MathJax_Fraktur-WEB", "font-weight":"bold",
"src": "url('"+fontDir+"/MathJax_Fraktur-Bold.otf')"
}
}
}
});
}
} }
MML.math.Augment({ MML.math.Augment({
@ -1309,16 +1319,17 @@
nMML.mmultiscriptsBug = true; nMML.mmultiscriptsBug = true;
}, },
Firefox: function (browser) { Firefox: function (browser) {
var is29 = browser.versionAtLeast("29.0");
nMML.ffTableWidthBug = !browser.versionAtLeast("13.0"); // <mtable width="xx"> not implemented nMML.ffTableWidthBug = !browser.versionAtLeast("13.0"); // <mtable width="xx"> not implemented
nMML.forceReflow = true; // <mtable> with alignments set don't display properly without a reflow nMML.forceReflow = !is29; // <mtable> with alignments set don't display properly without a reflow
nMML.widthBug = true; // <math> elements don't always get the correct width nMML.widthBug = !is29; // <math> elements don't always get the correct width
nMML.mtdWidthBug = !is29; // <mtd> widths not properly determined
nMML.handlesVariants = is29; // FF >=29 handles all math variants
// In Firefox < 20, the intrinsic width of <mspace> is not computed // In Firefox < 20, the intrinsic width of <mspace> is not computed
// correctly and thus the element is displayed incorrectly in <mtable>. // correctly and thus the element is displayed incorrectly in <mtable>.
nMML.spaceWidthBug = !browser.versionAtLeast("20.0"); nMML.spaceWidthBug = !browser.versionAtLeast("20.0");
nMML.mtdWidthBug = true; // <mtd> widths not properly determined
nMML.tableSpacingBug = true; // mtable@rowspacing/mtable@columnspacing not nMML.tableSpacingBug = true; // mtable@rowspacing/mtable@columnspacing not
// supported. // supported.
nMML.tableLabelBug = true; // mlabeledtr is not implemented. nMML.tableLabelBug = true; // mlabeledtr is not implemented.