Make column widths take minsize into account. Resolved issue #210.
This commit is contained in:
parent
6ca2bcba94
commit
6ede07ba29
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -38,7 +38,7 @@ MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function () {
|
|||
var stack = HTMLCSS.createStack(span);
|
||||
var scale = this.HTMLgetScale(), mu = this.HTMLgetMu(span), LABEL = -1;
|
||||
|
||||
var H = [], D = [], W = [], A = [], C = [], i, j, J = -1, m, M, s, row, entries = [];
|
||||
var H = [], D = [], W = [], A = [], C = [], i, j, J = -1, m, M, s, row, cell, mo, entries = [];
|
||||
var LHD = HTMLCSS.FONTDATA.baselineskip * scale * values.useHeight,
|
||||
LH = HTMLCSS.FONTDATA.lineH * scale, LD = HTMLCSS.FONTDATA.lineD * scale;
|
||||
|
||||
|
@ -62,10 +62,21 @@ MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function () {
|
|||
for (i = 0, m = this.data.length; i < m; i++) {
|
||||
row = this.data[i]; s = (row.type === "mlabeledtr" ? LABEL : 0);
|
||||
for (j = s, M = row.data.length + s; j < M; j++) {
|
||||
if (row.data[j-s].isMultiline) {A[i][j].style.width = "100%"}
|
||||
cell = row.data[j-s];
|
||||
if (cell.isMultiline) {A[i][j].style.width = "100%"}
|
||||
if (A[i][j].bbox.h > H[i]) {H[i] = A[i][j].bbox.h}
|
||||
if (A[i][j].bbox.d > D[i]) {D[i] = A[i][j].bbox.d}
|
||||
if (A[i][j].bbox.w > W[j]) {W[j] = A[i][j].bbox.w}
|
||||
if (cell.isEmbellished()) {
|
||||
mo = cell.CoreMO()
|
||||
var min = mo.Get("minsize",true);
|
||||
if (min && mo.HTMLcanStretch("Horizontal")) {
|
||||
var mw = mo.HTMLspanElement().bbox.w
|
||||
A[i][j].dw = HTMLCSS.length2em(min,mu,mw) - mw;
|
||||
min = A[i][j].bbox.w + A[i][j].dw;
|
||||
if (min > W[j]) {W[j] = min}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (H[0]+D[0]) {H[0] = Math.max(H[0],LH)}
|
||||
|
@ -245,11 +256,11 @@ MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function () {
|
|||
for (i = 0, m = A.length; i < m; i++) {
|
||||
if (A[i][j]) {
|
||||
s = (this.data[i].type === "mlabeledtr" ? LABEL : 0);
|
||||
var cell = this.data[i].data[j-s];
|
||||
cell = this.data[i].data[j-s];
|
||||
if (cell.HTMLcanStretch("Horizontal")) {
|
||||
A[i][j].bbox = cell.HTMLstretchH(C[j],W[j]).bbox
|
||||
A[i][j].bbox = cell.HTMLstretchH(C[j],W[j]-(A[i][j].dw||0)).bbox
|
||||
} else if (cell.HTMLcanStretch("Vertical")) {
|
||||
var mo = cell.CoreMO();
|
||||
mo = cell.CoreMO();
|
||||
var symmetric = mo.symmetric; mo.symmetric = false;
|
||||
A[i][j].bbox = cell.HTMLstretchV(C[j],H[i],D[i]).bbox;
|
||||
mo.symmetric = symmetric;
|
||||
|
|
|
@ -41,7 +41,7 @@ MathJax.Hub.Register.StartupHook("SVG Jax Ready",function () {
|
|||
var scale = this.SVGgetScale(), mu = this.SVGgetMu(svg);
|
||||
var LABEL = -1;
|
||||
|
||||
var H = [], D = [], W = [], A = [], C = [], i, j, J = -1, m, M, s, row;
|
||||
var H = [], D = [], W = [], A = [], C = [], i, j, J = -1, m, M, s, row, cell, mo;
|
||||
var LHD = SVG.FONTDATA.baselineskip * scale * values.useHeight,
|
||||
LH = SVG.FONTDATA.lineH * scale, LD = SVG.FONTDATA.lineD * scale;
|
||||
|
||||
|
@ -57,11 +57,21 @@ MathJax.Hub.Register.StartupHook("SVG Jax Ready",function () {
|
|||
C[j] = BBOX.G();
|
||||
W[j] = -SVG.BIGDIMEN;
|
||||
}
|
||||
A[i][j] = row.data[j-s].toSVG();
|
||||
cell = row.data[j-s];
|
||||
A[i][j] = cell.toSVG();
|
||||
// if (row.data[j-s].isMultiline) {A[i][j].style.width = "100%"}
|
||||
if (A[i][j].h > H[i]) {H[i] = A[i][j].h}
|
||||
if (A[i][j].d > D[i]) {D[i] = A[i][j].d}
|
||||
if (A[i][j].w > W[j]) {W[j] = A[i][j].w}
|
||||
if (cell.isEmbellished()) {
|
||||
mo = cell.CoreMO();
|
||||
var min = mo.Get("minsize",true);
|
||||
if (min && mo.SVGcanStretch("Horizontal")) {
|
||||
A[i][j].dw = SVG.length2em(min,mu,mo.SVGdata.w) - mo.SVGdata.w;
|
||||
min = A[i][j].w + A[i][j].dw;
|
||||
if (min > W[j]) {W[j] = min}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (H[0]+D[0]) {H[0] = Math.max(H[0],LH)}
|
||||
|
@ -229,11 +239,11 @@ MathJax.Hub.Register.StartupHook("SVG Jax Ready",function () {
|
|||
for (i = 0, m = A.length; i < m; i++) {
|
||||
if (A[i][j]) {
|
||||
s = (this.data[i].type === "mlabeledtr" ? LABEL : 0);
|
||||
var cell = this.data[i].data[j-s];
|
||||
cell = this.data[i].data[j-s];
|
||||
if (cell.SVGcanStretch("Horizontal")) {
|
||||
A[i][j] = cell.SVGstretchH(W[j]);
|
||||
A[i][j] = cell.SVGstretchH(W[j]-(A[i][j].dw||0));
|
||||
} else if (cell.SVGcanStretch("Vertical")) {
|
||||
var mo = cell.CoreMO();
|
||||
mo = cell.CoreMO();
|
||||
var symmetric = mo.symmetric; mo.symmetric = false;
|
||||
A[i][j] = cell.SVGstretchV(H[i],D[i]);
|
||||
mo.symmetric = symmetric;
|
||||
|
|
|
@ -1349,7 +1349,7 @@
|
|||
svg.y = H - svg.h;
|
||||
this.SVGhandleSpace(svg);
|
||||
this.SVGhandleColor(svg);
|
||||
delete this.svg;
|
||||
delete this.svg.element;
|
||||
this.SVGsaveData(svg);
|
||||
return svg;
|
||||
},
|
||||
|
@ -1365,7 +1365,7 @@
|
|||
svg = SVG.createDelimiter(this.data.join("").charCodeAt(0),w,svg.scale,values.mathvariant);
|
||||
this.SVGhandleSpace(svg);
|
||||
this.SVGhandleColor(svg);
|
||||
delete this.svg;
|
||||
delete this.svg.element;
|
||||
this.SVGsaveData(svg);
|
||||
return svg;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user