diff --git a/unpacked/jax/output/CommonHTML/jax.js b/unpacked/jax/output/CommonHTML/jax.js
index e734e0baa..f19bd856e 100644
--- a/unpacked/jax/output/CommonHTML/jax.js
+++ b/unpacked/jax/output/CommonHTML/jax.js
@@ -383,7 +383,7 @@
"bold-fraktur": "MJXc-frak MJXc-bold",
"monospace": "MJXc-mono",
"sans-serif": "MJXc-sf",
- "-tex-caligraphic": "MJXc-cal",
+ "-tex-caligraphic": "MJXc-cal"
},
MATHSPACE: {
veryverythinmathspace: 1/18,
@@ -498,7 +498,7 @@
return (m.toFixed(3).replace(/\.?0+$/,""))+"em";
},
- arrayEntry: function (a,i) {return a[Math.max(0,Math.min(i,a.length-1))]},
+ arrayEntry: function (a,i) {return a[Math.max(0,Math.min(i,a.length-1))]}
});
@@ -537,6 +537,11 @@
CHTMLcreateSpan: function (span) {
this.bbox = {w:0, h:0, d:0, l:0, r:0, t:0, b:0};
if (this.inferred) return span;
+ // ### FIXME: This is a hack to handle the different spacing of the
+ // ### integral sign in Times compared to CM fonts
+ if (this.type === "mo" && this.data.join("") === "\u222B") {CHTML.lastIsInt = true}
+ else if (this.type !== "mspace" || this.width !== "negativethinmathspace") {CHTML.lastIsInt = false}
+ // ###
if (!this.CHTMLspanID) {this.CHTMLspanID = CHTML.GetID()};
var id = (this.id || "MJXc-Span-"+this.CHTMLspanID);
return HTML.addElement(span,"span",{className:"MJXc-"+this.type, id:id});
@@ -730,6 +735,11 @@
d = CHTML.length2em(values.depth);
var bbox = this.bbox;
bbox.w = w; bbox.h = h; bbox.d = d;
+ if (w < 0) {
+ // ### FIXME: lastIsInt hack
+ if (!CHTML.lastIsInt) span.style.marginLeft = CHTML.Em(w);
+ w = 0;
+ }
span.style.width = CHTML.Em(w);
span.style.height = CHTML.Em(h+d);
if (d) span.style.verticalAlign = CHTML.Em(-d);
@@ -804,7 +814,8 @@
acc = acc - obox.d + .1; if (bbox.t != null) {acc += bbox.t - bbox.h}
over.firstChild.firstChild.style.marginBottom = CHTML.Em(acc);
}
- span.insertBefore(over,span.firstChild);
+ if (span.firstChild) {span.insertBefore(over,span.firstChild)}
+ else {span.appendChild(over)}
}
if (this.data[this.under]) {
span.lastChild.firstChild.style.marginLeft = ubox.l =
@@ -821,7 +832,10 @@
MML.msubsup.Augment({
toCommonHTML: function (span) {
span = this.CHTMLdefaultSpan(span,{noBBox:true});
- if (!this.data[this.base]) {span.insertBefore(HTML.Element("span"),span.firstChild)}
+ if (!this.data[this.base]) {
+ if (span.firstChild) {span.insertBefore(HTML.Element("span"),span.firstChild)}
+ else {span.appendChild(HTML.Element("span"))}
+ }
var base = this.data[this.base], sub = this.data[this.sub], sup = this.data[this.sup];
if (!base) base = {bbox: {h:.8, d:.2}};
span.firstChild.style.marginRight = ".05em";