commit 3f4c47b4d739cb612da9a98659e8601616044540
parent 99d32c74161462da86dab712bd8d678a5d82342c
Author: Davide P. Cervone <dpvc@union.edu>
Date: Sun, 9 Aug 2015 15:07:42 -0400
Make maligngroup and malignmark be self-closing in MathML input, and make them produce no output in SVG mode. Resolves issue #1233.
Diffstat:
2 files changed, 18 insertions(+), 2 deletions(-)
diff --git a/unpacked/jax/input/MathML/jax.js b/unpacked/jax/input/MathML/jax.js
@@ -351,6 +351,8 @@
MML.mspace.Augment({mmlSelfClosing: true});
MML.none.Augment({mmlSelfClosing: true});
MML.mprescripts.Augment({mmlSelfClosing:true});
+ MML.maligngroup.Augment({mmlSelfClosing:true});
+ MML.malignmark.Augment({mmlSelfClosing:true});
}
});
diff --git a/unpacked/jax/output/SVG/jax.js b/unpacked/jax/output/SVG/jax.js
@@ -1074,14 +1074,14 @@
var variant = this.SVGgetVariant();
var svg = this.SVG(); this.SVGgetScale(svg);
this.SVGhandleSpace(svg);
- for (var i = 0, m = this.data.length; i < m; i++) {
+ for (var i = 0, m = this.data.length; i < m; i++) {
if (this.data[i]) {
var child = svg.Add(this.data[i].toSVG(variant,svg.scale),svg.w,0,true);
if (child.skew) {svg.skew = child.skew}
}
}
svg.Clean(); var text = this.data.join("");
- if (svg.skew && text.length !== 1) {delete svg.skew}
+ if (svg.skew && text.length !== 1) {delete svg.skew}
if (svg.r > svg.w && text.length === 1 && !variant.noIC)
{svg.ic = svg.r - svg.w; svg.w = svg.r}
this.SVGhandleColor(svg);
@@ -1402,6 +1402,12 @@
SVGlineBreaks: function () {return false}
},{
+ SVGemptySVG: function () {
+ var svg = this.SVG();
+ svg.Clean();
+ this.SVGsaveData(svg);
+ return svg;
+ },
SVGautoload: function () {
var file = SVG.autoloadDir+"/"+this.type+".js";
HUB.RestartAfter(AJAX.Require(file));
@@ -2143,6 +2149,14 @@
});
//
+ // Make sure these don't generate output
+ //
+ MML.maligngroup.Augment({toSVG: MML.mbase.SVGemptySVG});
+ MML.malignmark.Augment({toSVG: MML.mbase.SVGemptySVG});
+ MML.mprescripts.Augment({toSVG: MML.mbase.SVGemptySVG});
+ MML.none.Augment({toSVG: MML.mbase.SVGemptySVG});
+
+ //
// Loading isn't complete until the element jax is modified,
// but can't call loadComplete within the callback for "mml Jax Ready"
// (it would call SVG's Require routine, asking for the mml jax again)