From 3f4c47b4d739cb612da9a98659e8601616044540 Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Sun, 9 Aug 2015 15:07:42 -0400 Subject: [PATCH] Make maligngroup and malignmark be self-closing in MathML input, and make them produce no output in SVG mode. Resolves issue #1233. --- unpacked/jax/input/MathML/jax.js | 2 ++ unpacked/jax/output/SVG/jax.js | 18 ++++++++++++++++-- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/unpacked/jax/input/MathML/jax.js b/unpacked/jax/input/MathML/jax.js index 154f1a0a1..df917f480 100644 --- 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 index fe77b6b3c..67b6973cc 100644 --- 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)); @@ -2142,6 +2148,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"