Add \scriptspace after superscripts and subscripts

Summary: Plain TeX assigns `\scriptspace=0.5pt`, which is used in Rules 18bcd in the TeXbook's Appendix G.

Test Plan:
- Look at `x^{x^{x_{x_{x_{x_x}}}}}\biggr|`, see a gap that looks similar to the one produced by real TeX.
- Look at the huxley tests, see that they look reasonable. Make sure that all changes to other huxley tests are now correct, and only changed because of this.

Reviewers: emily

Reviewed By: emily

Subscribers: jessie

Differential Revision: http://phabricator.khanacademy.org/D12763
This commit is contained in:
Ben Alpert 2014-08-29 12:28:43 -07:00
parent 056cba64ec
commit a75bf1afc2
9 changed files with 21 additions and 0 deletions

View File

@ -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;

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 26 KiB

View File

@ -117,5 +117,11 @@
"name": "VerticalSpacing",
"screenSize": [1024, 768],
"url": "http://localhost:7936/test/huxley/test.html?pre=potato<br>blah&post=<br>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|"
}
]

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.6 KiB

After

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

View File

@ -0,0 +1,5 @@
[
{
"action": "screenshot"
}
]

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 24 KiB