Merge branch 'issue1072' into develop. Issue #1072.
This commit is contained in:
commit
d4b1fa042a
|
@ -120,25 +120,48 @@ MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function () {
|
|||
var i = 1, m = this.data.length, W = 0;
|
||||
for (var k = 0; k < 4; k += 2) {
|
||||
while (i < m && this.data[i].type !== "mprescripts") {
|
||||
var box = [null,null,null,null];
|
||||
for (var j = k; j < k+2; j++) {
|
||||
if (this.data[i] && this.data[i].type !== "none") {
|
||||
if (!BOX[j]) {
|
||||
BOX[j] = HTMLCSS.createBox(stack); BOX[j].bbox = this.HTMLemptyBBox({});
|
||||
if (W) {HTMLCSS.createBlank(BOX[j],W); BOX[j].bbox.w = BOX[j].bbox.rw = W}
|
||||
}
|
||||
this.data[i].toHTML(BOX[j]); this.HTMLcombineBBoxes(this.data[i],BOX[j].bbox);
|
||||
box[j] = this.data[i].toHTML(BOX[j]);
|
||||
}
|
||||
i++;
|
||||
}
|
||||
var isPre = (k === 2);
|
||||
sub = BOX[k]; sup = BOX[k+1];
|
||||
if (sub && sup) {
|
||||
if (sub.bbox.w < sup.bbox.w) {
|
||||
HTMLCSS.createBlank(sub,sup.bbox.w-sub.bbox.w);
|
||||
sub.bbox.w = sup.bbox.w; sub.bbox.rw = Math.max(sub.bbox.w,sub.bbox.rw);
|
||||
} else if (sub.bbox.w > sup.bbox.w) {
|
||||
HTMLCSS.createBlank(sup,sub.bbox.w-sup.bbox.w);
|
||||
sup.bbox.w = sub.bbox.w; sup.bbox.rw = Math.max(sup.bbox.w,sup.bbox.rw);
|
||||
var w = box[k+1].bbox.w - box[k].bbox.w;
|
||||
if (w > 0) {
|
||||
if (isPre) {
|
||||
box[k].style.paddingLeft = HTMLCSS.Em(w/box[k].scale);
|
||||
BOX[k].w += w;
|
||||
} else {
|
||||
HTMLCSS.createBlank(sub,w);
|
||||
}
|
||||
} else if (w < 0) {
|
||||
if (isPre) {
|
||||
box[k+1].style.paddingLeft = HTMLCSS.Em(-w/box[k+1].scale);
|
||||
BOX[k+1].w += -w;
|
||||
} else {
|
||||
HTMLCSS.createBlank(sup,-w);
|
||||
}
|
||||
}
|
||||
this.HTMLcombineBBoxes(box[k],sub.bbox);
|
||||
this.HTMLcombineBBoxes(box[k+1],sup.bbox);
|
||||
if (w > 0) {
|
||||
sub.bbox.w = sup.bbox.w;
|
||||
sub.bbox.rw = Math.max(sub.bbox.w,sub.bbox.rw);
|
||||
} else if (w < 0) {
|
||||
sup.bbox.w = sub.bbox.w;
|
||||
sup.bbox.rw = Math.max(sup.bbox.w,sup.bbox.rw);
|
||||
}
|
||||
} else {
|
||||
if (sub) this.HTMLcombineBBoxes(box[k],sub.bbox);
|
||||
if (sup) this.HTMLcombineBBoxes(box[k+1],sup.bbox);
|
||||
}
|
||||
if (sub) {W = sub.bbox.w} else if (sup) {W = sup.bbox.w}
|
||||
}
|
||||
|
|
|
@ -101,13 +101,18 @@ MathJax.Hub.Register.StartupHook("SVG Jax Ready",function () {
|
|||
var i = 1, m = this.data.length, W = 0;
|
||||
for (var k = 0; k < 4; k += 2) {
|
||||
while (i < m && this.data[i].type !== "mprescripts") {
|
||||
var box = [null,null,null,null];
|
||||
for (var j = k; j < k+2; j++) {
|
||||
if (this.data[i] && this.data[i].type !== "none") {
|
||||
if (!BOX[j]) {BOX[j] = SVG.BBOX.G()}
|
||||
BOX[j].Add(this.data[i].toSVG().With({x:W}));
|
||||
box[j] = this.data[i].toSVG();
|
||||
}
|
||||
i++;
|
||||
}
|
||||
var isPre = (k === 2);
|
||||
if (isPre) W += Math.max((box[k]||{w:0}).w,(box[k+1]||{w:0}).w);
|
||||
if (box[k]) BOX[k].Add(box[k].With({x:W-(isPre?box[k].w:0)}));
|
||||
if (box[k+1]) BOX[k+1].Add(box[k+1].With({x:W-(isPre?box[k+1].w:0)}));
|
||||
sub = BOX[k]||{w:0}; sup = BOX[k+1]||{w:0};
|
||||
sub.w = sup.w = W = Math.max(sub.w,sup.w);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user