diff --git a/unpacked/jax/output/HTML-CSS/autoload/mglyph.js b/unpacked/jax/output/HTML-CSS/autoload/mglyph.js
index 297eb2640..c93f0acd4 100644
--- a/unpacked/jax/output/HTML-CSS/autoload/mglyph.js
+++ b/unpacked/jax/output/HTML-CSS/autoload/mglyph.js
@@ -71,17 +71,14 @@ MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function () {
var mu = this.HTMLgetMu(span);
img = HTMLCSS.addElement(span,"img",{isMathJax:true, src:values.src, alt:values.alt, title:values.alt});
if (values.width) {
- if (String(values.width).match(/^\s*-?\d+\s*$/)) {values.width += "px"}
img.style.width = HTMLCSS.Em(HTMLCSS.length2em(values.width,mu,this.img.img.width/HTMLCSS.em));
}
if (values.height) {
- if (String(values.height).match(/^\s*-?\d+\s*$/)) {values.height += "px"}
img.style.height = HTMLCSS.Em(HTMLCSS.length2em(values.height,mu,this.img.img.height/HTMLCSS.em));
}
span.bbox.w = span.bbox.rw = img.offsetWidth/HTMLCSS.em;
span.bbox.h = img.offsetHeight/HTMLCSS.em;
if (values.valign) {
- if (String(values.valign).match(/^\s*-?\d+\s*$/)) {values.valign += "px"}
span.bbox.d = -HTMLCSS.length2em(values.valign,mu,this.img.img.height/HTMLCSS.em);
img.style.verticalAlign = HTMLCSS.Em(-span.bbox.d);
span.bbox.h -= span.bbox.d;
diff --git a/unpacked/jax/output/SVG/autoload/mglyph.js b/unpacked/jax/output/SVG/autoload/mglyph.js
index ed30ed4ab..4e7271841 100644
--- a/unpacked/jax/output/SVG/autoload/mglyph.js
+++ b/unpacked/jax/output/SVG/autoload/mglyph.js
@@ -37,9 +37,10 @@ MathJax.Hub.Register.StartupHook("SVG Jax Ready",function () {
type: "image", removeable: false,
Init: function (img,w,h,align,mu,def) {
if (def == null) {def = {}}
- var W = img.width*1000/SVG.em, H = img.height*1000/SVG.em, y = 0;
- if (w !== "") {W = SVG.length2em(w,mu,W)}
- if (h !== "") {H = SVG.length2em(h,mu,H)}
+ var W = img.width*1000/SVG.em, H = img.height*1000/SVG.em;
+ var WW = W, HH = H, y = 0;
+ if (w !== "") {W = SVG.length2em(w,mu,WW); H = (WW ? W/WW * HH : 0)}
+ if (h !== "") {H = SVG.length2em(h,mu,HH); if (w === "") {W = (HH ? H/HH * WW : 0)}}
if (align !== "" && align.match(/\d/)) {y = SVG.length2em(align,mu); def.y = -y}
def.height = Math.floor(H); def.width = Math.floor(W);
def.transform = "translate(0,"+H+") matrix(1 0 0 -1 0 0)";