Add support for \kern

Summary:
This only supports em and ex units and doesn't handle vertical layouts.
Negative kerning works.

Test Plan:
- make test
- make screenshots (verify that d is slightly overlapping c in the screenshots)

Reviewers: emily
This commit is contained in:
Kevin Barabash
2015-12-30 16:58:50 -08:00
parent c79fb58936
commit 3083efba66
7 changed files with 62 additions and 0 deletions

View File

@@ -909,6 +909,31 @@ describe("A rule parser", function() {
});
});
describe("A kern parser", function() {
var emKern = "\\kern{1em}";
var exKern = "\\kern{1ex}";
var badUnitRule = "\\kern{1px}";
var noNumberRule = "\\kern{em}";
it("should list the correct units", function() {
var emParse = getParsed(emKern)[0];
var exParse = getParsed(exKern)[0];
expect(emParse.value.dimension.unit).toEqual("em");
expect(exParse.value.dimension.unit).toEqual("ex");
});
it("should not parse invalid units", function() {
expect(badUnitRule).toNotParse();
expect(noNumberRule).toNotParse();
});
it("should parse negative sizes", function() {
var parse = getParsed("\\kern{-1em}")[0];
expect(parse.value.dimension.number).toBeCloseTo(-1);
});
});
describe("A left/right parser", function() {
var normalLeftRight = "\\left( \\dfrac{x}{y} \\right)";
var emptyRight = "\\left( \\dfrac{x}{y} \\right.";

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

View File

@@ -58,6 +58,7 @@ FractionTest: \dfrac{a}{b}\frac{a}{b}\tfrac{a}{b}\;-\dfrac12\;1\tfrac12
Functions: \sin\cos\tan\ln\log
GreekLetters: \alpha\beta\gamma\omega
KaTeX: \KaTeX
Kern: \frac{a\kern{1em}b}{c}a\kern{1em}b\kern{1ex}c\kern{-0.25em}d
Lap: ab\llap{f}cd\rlap{g}h
LeftRight: \left( x^2 \right) \left\{ x^{x^{x^{x^x}}} \right.
LeftRightListStyling: a+\left(x+y\right)-x