Add accents

Summary:
Add support for math-mode accents. This involves a couple changes.
First, in order to correctly position the accents, we must know the kern between
every character and the "skewchar" in that font. To do this, we improve our tfm
parser to run the mini-kern-language and calculate kerns. We then export these
into fontMetrics.js.

Then, we add normal support for accents. In particular, we do some special
handling for supsubs around accents. This involves building the supsub
separately without the accent, and then replacing its base with the built
accent.

Finally, the character in the fonts for the \vec command is a combining unicode
character, so it is shifted to the left, but none of the other characters do
this. We add some special handling for \vec to account for this.

Fixes #7

Test Plan:
 - Make sure tests pass
 - Make sure no huxley screenshots changed, and the new one looks good

Reviewers: alpert

Reviewed By: alpert

Differential Revision: http://phabricator.khanacademy.org/D13157
This commit is contained in:
Emily Eisenberg
2014-09-13 21:30:35 -07:00
parent 0d42a902ac
commit 0dca731da6
14 changed files with 340 additions and 33 deletions

View File

@@ -414,4 +414,21 @@ big parens
text-align: center;
}
}
.accent {
> .vlist > span {
text-align: center;
}
.accent-body > span {
width: 0;
}
.accent-body.accent-vec > span {
position: relative;
// This value is half of the value that the MathJax's makeFF shifts
// it left. We center it by shifting it half way right again.
left: 0.326em;
}
}
}