diff --git a/buildTree.js b/buildTree.js
index d9eeb10e7..7cd18a78c 100644
--- a/buildTree.js
+++ b/buildTree.js
@@ -196,6 +196,11 @@ var groupTypes = {
p = fontMetrics.metrics.sup2;
}
+ var multiplier = Style.TEXT.sizeMultiplier *
+ options.style.sizeMultiplier;
+ // \scriptspace is 0.5pt = 0.05em * 10pt/em
+ var scriptspace = 0.05 / multiplier + "em";
+
var supsub;
if (!group.value.sup) {
@@ -206,6 +211,7 @@ var groupTypes = {
sub.height - 0.8 * fontMetrics.metrics.xHeight);
subwrap.style.top = v + "em";
+ subwrap.style.marginRight = scriptspace;
subwrap.depth = subwrap.depth + v;
subwrap.height = 0;
@@ -221,6 +227,7 @@ var groupTypes = {
sup.depth + 0.25 * fontMetrics.metrics.xHeight);
supwrap.style.top = -u + "em";
+ supwrap.style.marginRight = scriptspace;
supwrap.height = supwrap.height + u;
supwrap.depth = 0;
@@ -252,6 +259,9 @@ var groupTypes = {
supwrap.style.top = -u + "em";
subwrap.style.top = v + "em";
+ supwrap.style.marginRight = scriptspace;
+ subwrap.style.marginRight = scriptspace;
+
supwrap.height = supwrap.height + u;
supwrap.depth = 0;
diff --git a/test/huxley/DeepFontSizing.hux/firefox-1.png b/test/huxley/DeepFontSizing.hux/firefox-1.png
index 99b18ddad..ddc0f8901 100644
Binary files a/test/huxley/DeepFontSizing.hux/firefox-1.png and b/test/huxley/DeepFontSizing.hux/firefox-1.png differ
diff --git a/test/huxley/Huxleyfile.json b/test/huxley/Huxleyfile.json
index 7b00a81aa..335e6075c 100644
--- a/test/huxley/Huxleyfile.json
+++ b/test/huxley/Huxleyfile.json
@@ -117,5 +117,11 @@
"name": "VerticalSpacing",
"screenSize": [1024, 768],
"url": "http://localhost:7936/test/huxley/test.html?pre=potato
blah&post=
moo&m=x^{\\Huge y}z"
+ },
+
+ {
+ "name": "SupSubHorizSpacing",
+ "screenSize": [1024, 768],
+ "url": "http://localhost:7936/test/huxley/test.html?m=x^{x^{x}}\\Big|x_{x_{x_{x_{x}}}}\\bigg|x^{x^{x_{x_{x_{x_{x}}}}}}\\bigg|"
}
]
diff --git a/test/huxley/Overline.hux/firefox-1.png b/test/huxley/Overline.hux/firefox-1.png
index 0ae10a096..918199b8b 100644
Binary files a/test/huxley/Overline.hux/firefox-1.png and b/test/huxley/Overline.hux/firefox-1.png differ
diff --git a/test/huxley/Spacing.hux/firefox-1.png b/test/huxley/Spacing.hux/firefox-1.png
index d24e91db2..d2ec2d49c 100644
Binary files a/test/huxley/Spacing.hux/firefox-1.png and b/test/huxley/Spacing.hux/firefox-1.png differ
diff --git a/test/huxley/SupSubCharacterBox.hux/firefox-1.png b/test/huxley/SupSubCharacterBox.hux/firefox-1.png
index f9a227975..e38794137 100644
Binary files a/test/huxley/SupSubCharacterBox.hux/firefox-1.png and b/test/huxley/SupSubCharacterBox.hux/firefox-1.png differ
diff --git a/test/huxley/SupSubHorizSpacing.hux/firefox-1.png b/test/huxley/SupSubHorizSpacing.hux/firefox-1.png
new file mode 100644
index 000000000..2eccba9a4
Binary files /dev/null and b/test/huxley/SupSubHorizSpacing.hux/firefox-1.png differ
diff --git a/test/huxley/SupSubHorizSpacing.hux/record.json b/test/huxley/SupSubHorizSpacing.hux/record.json
new file mode 100644
index 000000000..3cae6ac65
--- /dev/null
+++ b/test/huxley/SupSubHorizSpacing.hux/record.json
@@ -0,0 +1,5 @@
+[
+ {
+ "action": "screenshot"
+ }
+]
diff --git a/test/huxley/VerticalSpacing.hux/firefox-1.png b/test/huxley/VerticalSpacing.hux/firefox-1.png
index bcf86c30d..deabf6ff1 100644
Binary files a/test/huxley/VerticalSpacing.hux/firefox-1.png and b/test/huxley/VerticalSpacing.hux/firefox-1.png differ