Merge branch 'issue993' into develop. Issue #993.
This commit is contained in:
commit
13321458eb
|
@ -357,6 +357,24 @@
|
||||||
//
|
//
|
||||||
MMLnamespace: "http://www.w3.org/1998/Math/MathML",
|
MMLnamespace: "http://www.w3.org/1998/Math/MathML",
|
||||||
|
|
||||||
|
isFullWidth: function (node) {
|
||||||
|
if (!node) return;
|
||||||
|
var width = node.getAttribute("width") ||
|
||||||
|
(String(node.getAttribute("style")).match(/(?:^| )width: *([^; ]*)/)||[])[1];
|
||||||
|
if (width) return !!width.match(/%/);
|
||||||
|
if (node.nodeName.match(/^(semantics|math|mstyle)$/)) {
|
||||||
|
width = this.isFullWidth(node.firstChild);
|
||||||
|
} else if (node.nodeName.toLowerCase() === "mrow") {
|
||||||
|
for (var i = 0, m = node.childNodes.length; i < m && !width; i++)
|
||||||
|
width = this.isFullWidth(node.childNodes[i]);
|
||||||
|
}
|
||||||
|
if (width) {
|
||||||
|
var style = "width:100%; "+(node.getAttribute("style")||"");
|
||||||
|
node.setAttribute("style",style.replace(/ +$/,""));
|
||||||
|
}
|
||||||
|
return width;
|
||||||
|
},
|
||||||
|
|
||||||
//
|
//
|
||||||
// For MSIE, we must overlay the MathPlayer object to trap the events
|
// For MSIE, we must overlay the MathPlayer object to trap the events
|
||||||
// (since they can't be cancelled when the events are on the <math> tag
|
// (since they can't be cancelled when the events are on the <math> tag
|
||||||
|
@ -954,15 +972,14 @@
|
||||||
}
|
}
|
||||||
//
|
//
|
||||||
// Look for a top-level mtable and if it has labels
|
// Look for a top-level mtable and if it has labels
|
||||||
// Make sure the containers have 100% width, when needed
|
// Make sure the containers have 100% width, when needed.
|
||||||
// If the label is on the same side as alignment,
|
// If the label is on the same side as alignment,
|
||||||
// override the margin set by the stylesheet.
|
// override the margin set by the stylesheet.
|
||||||
//
|
//
|
||||||
var mtable = ((this.data[0]||[]).data[0]||{});
|
var mtable = ((this.data[0]||{data:[]}).data[0]||{});
|
||||||
if (mtable.nMMLhasLabels) {
|
if (mtable.nMMLhasLabels) {
|
||||||
if (mtable.nMMLforceWidth || !mtable.nMMLlaMatch) {
|
if (mtable.nMMLforceWidth || !mtable.nMMLlaMatch) {
|
||||||
tag.setAttribute("style","width:100%") // mrow node
|
tag.setAttribute("style","width:100%") // mrow node
|
||||||
parent.style.width = parent.parentNode.style.width="100%";
|
|
||||||
if (annotate) tag.parentNode.setAttribute("style","width:100%"); // semantics node
|
if (annotate) tag.parentNode.setAttribute("style","width:100%"); // semantics node
|
||||||
};
|
};
|
||||||
if (mtable.nMMLlaMatch) {
|
if (mtable.nMMLlaMatch) {
|
||||||
|
@ -973,6 +990,11 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//
|
//
|
||||||
|
// Check if container must have width set to 100%
|
||||||
|
//
|
||||||
|
var fullWidth = nMML.isFullWidth(math);
|
||||||
|
if (fullWidth) {parent.style.width = parent.parentNode.style.width = "100%"}
|
||||||
|
//
|
||||||
// Add the math to the page
|
// Add the math to the page
|
||||||
//
|
//
|
||||||
parent.appendChild(math);
|
parent.appendChild(math);
|
||||||
|
@ -982,8 +1004,7 @@
|
||||||
// parent element to match. Even if we set the <math> width properly,
|
// parent element to match. Even if we set the <math> width properly,
|
||||||
// it doesn't seem to propagate up to the <span> correctly.
|
// it doesn't seem to propagate up to the <span> correctly.
|
||||||
//
|
//
|
||||||
if (nMML.widthBug &&
|
if (nMML.widthBug &&!fullWidth) {
|
||||||
!(mtable.nMMLhasLabels && (mtable.nMMLforceWidth || !mtable.nMMLlaMatch))) {
|
|
||||||
//
|
//
|
||||||
// Convert size to ex's so that it scales properly if the print media
|
// Convert size to ex's so that it scales properly if the print media
|
||||||
// has a different font size.
|
// has a different font size.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user