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
10
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;
|
||||
|
||||
|
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 26 KiB |
|
@ -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|"
|
||||
}
|
||||
]
|
||||
|
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 8.6 KiB After Width: | Height: | Size: 8.6 KiB |
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
BIN
test/huxley/SupSubHorizSpacing.hux/firefox-1.png
Normal file
After Width: | Height: | Size: 23 KiB |
5
test/huxley/SupSubHorizSpacing.hux/record.json
Normal file
|
@ -0,0 +1,5 @@
|
|||
[
|
||||
{
|
||||
"action": "screenshot"
|
||||
}
|
||||
]
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |