Davide P. Cervone
c9ee9fa242
Add font data for the rest of the MathJax fonts, and support for loading them. Currently, there is support for one extra file (not the multiple extra ones from HTML-CSS).
2015-03-14 17:43:17 -04:00
Davide P. Cervone
3443bb6016
Add new otf fonts (more formats needed), and add support for web fonts in addition to local ones
2015-03-13 18:40:10 -04:00
Kevin Barabash
39f5bcb042
Add support for \phantom
...
Summary:
Using \phantom with non-phantom math in Perseus doesn't render to be the
same size because \phantom uses MathJax and the non-phantom math uses KaTeX.
Implementing \phantom in KaTeX should solve this alignment issue.
Test Plan:
[x] write (and run) unit tests
[x] create (and run) screenshotter tests
Reviewers: emily
Reviewed By: emily
Differential Revision: https://phabricator.khanacademy.org/D16720
2015-03-13 16:24:04 -06:00
Davide P. Cervone
15ab276598
Move unkown character styles to fontdata.js (they are font-dependent)
2015-03-13 15:49:58 -04:00
Davide P. Cervone
c58b546ad7
Cache measurements of unknown characters so they don't have to be remeasured later.
2015-03-13 14:42:24 -04:00
Davide P. Cervone
563dd09fa7
Handle undefined characters (these need measurement,so cause reflows).
2015-03-13 13:34:29 -04:00
Davide P. Cervone
29efa89877
Fix computation of depths to not use width as the default (oops).
2015-03-13 13:12:12 -04:00
Emily Eisenberg
51d751f96d
Make text operators <mi>s
...
Summary: According to the MathML spec [about
identifiers](http://www.w3.org/TR/MathML3/chapter3.html#id.3.2.3.3 ),
text function names should be <mi>s. This fixes that.
Fixes #202
Test plan:
- `make test`
Auditors: alpert
2015-03-13 08:11:21 -07:00
Davide P. Cervone
d786c11add
Simplify the handling of dimensions in mpadded
2015-03-12 20:01:28 -04:00
Davide P. Cervone
5f8821a0a8
Another try at getting mpadded correct (especially for boxes with small heights).
2015-03-12 19:47:38 -04:00
Emily Eisenberg
2f552af02d
Make our own screenshotting script instead of using huxley
...
Summary:
Create our own screenshotting script which takes screenshots. This
improves over huxley for a couple reasons:
- It makes the screenshots the correct size (for some reason, huxley struggles
with this).
- Its configuration matches more with what we want (we don't need multiple
screenshots or interaction, we just want a single static shot)
- It runs faster
I also changed the docs to reflect this change.
Test Plan:
- Make sure all of the tests that were in the Huxleyfile are now in ss_data.json
- Run the screenshotter docker
- Make sure all of the images look reasonable and don't change (except
sometimes the Lap test, which has some strange pixel-positioning
differences...)
Reviewers: kevinb
Reviewed By: kevinb
Differential Revision: https://phabricator.khanacademy.org/D16731
2015-03-12 16:40:15 -07:00
Emily Eisenberg
d9396c205a
Merge pull request #196 from PeterDaveHello/patch-1
...
bump version number to v0.2.0 in cdn url
2015-03-12 07:28:44 -07:00
Davide P. Cervone
1b6393cb3d
Handle rfix in fontdata (won't be necessary if the fonts are rebuilt, but need it for now), fix spaces so that they are relative to the correct font, and make sure they come after any pending text.
2015-03-11 20:34:47 -04:00
Davide P. Cervone
a406adcb4d
Add support for space characters, and adjust fuzz to work better with Chrome.
2015-03-11 15:52:03 -04:00
Davide P. Cervone
ba50c5c690
Handle spacing via classes, get bbox right for MathML spacing, and temporarily restore table formatting.
2015-03-10 21:22:27 -04:00
Davide P. Cervone
83b120d061
Merge branch 'baseline-fonts' into chtml
2015-03-10 20:18:18 -04:00
Davide P. Cervone
59c9f45592
Fix some spacing, and a few minor formatting issues.
2015-03-10 20:17:33 -04:00
Davide P. Cervone
117f29096d
Fix wrong property name
2015-03-10 19:54:28 -04:00
Davide P. Cervone
1968831dd0
Use correct offset for \atop and friends
2015-03-10 19:47:27 -04:00
Davide P. Cervone
fdb10e64c4
Rework radicals to match TeX results better for nested radicals (spacing is critical, since the stretchy parts are designed to add up properly with the algorithm).
2015-03-10 19:39:09 -04:00
Davide P. Cervone
a6f9e65af3
Simplify mfrac layout. (Don't try to force the division line to be on the baseline so that it is always raised to the correct place by a vertical align of .25em; instead, just shift the whole stack appropriately. This may cause misalignment if we can't measure the parts exactly, however, but should speed things up a bit.)
2015-03-10 19:08:32 -04:00
Davide P. Cervone
d878d3add2
Don't need bbox.H and bbox.D now that ascent and descent are equal (so center is baseline).
2015-03-10 16:00:42 -04:00
Davide P. Cervone
9ed49e85e4
Alter fonts to make ascent=descent so that line-height:0 makes its axis along the baseline. That should simplify things (though it may make unknown characters harder to handle -- we'll see).
2015-03-10 13:38:23 -04:00
Emily Eisenberg
e1fb6e667c
Merge pull request #176 from janmarthedal/bin-symbols
...
Make \bigtriangledown, \oplus and others Bin operators (and not Ord)
2015-03-10 08:37:46 -07:00
Davide P. Cervone
434606ae1f
Use proper spacing before msubsup.
2015-03-09 16:23:00 -04:00
Davide P. Cervone
e5a09146dd
Use proper thickness for separation of root from base.
2015-03-09 15:59:16 -04:00
Davide P. Cervone
36da633619
Implement TeX rules for radicals.
2015-03-09 15:40:26 -04:00
Emily Eisenberg
91376a4d26
Fix MathML CSS
...
Summary: Make the CSS rules that hide the MathML rendering not
`!important`, so that they can be overridden. Also, remove the useless
`math.katex` rule.
Fixes #197
Test plan:
- `make test`
- See that huxley screenshots haven't changed
Auditors: alpert
2015-03-09 12:22:43 -07:00
Davide P. Cervone
f629bfe783
Better bounding boxes for horizontal stretchy characters, and handle case where no extenders are needed.
2015-03-09 10:14:39 -04:00
Davide P. Cervone
af043917bd
Handle horizontal stretchy characters. (still need to add some font data and check overbraces when extenders aren't needed.)
2015-03-09 09:31:09 -04:00
Davide P. Cervone
1e826519af
Add vertical stretchy delimiters
2015-03-08 15:04:57 -04:00
Davide P. Cervone
7764748a63
Get position of overscript correct, and don't combine bboxes unnecessarily.
2015-03-08 09:48:49 -04:00
Peter Dave Hello
ba3bbe7558
bump version number to v0.2.0 in cdn url
2015-03-08 13:53:43 +08:00
Davide P. Cervone
8b9c18e1b4
Only update bbox widths when the boxes exist
2015-03-07 11:18:55 -05:00
Davide P. Cervone
d6bb1f55d5
Fix \mathchoice to use renamed CHTMLcreateNode function
2015-03-07 11:12:01 -05:00
Davide P. Cervone
dc923adf8f
Fix comments at top of file.
2015-03-07 11:11:36 -05:00
Davide P. Cervone
3619421fab
Add some comments to separate the methods from one another
2015-03-07 11:00:49 -05:00
Davide P. Cervone
f9849b87d3
Convert tabls to spaces
2015-03-07 10:55:47 -05:00
Davide P. Cervone
c502910eb7
Better handling of bboxes in mfrac, msubsup, munderover, mspace.
2015-03-07 10:54:46 -05:00
Davide P. Cervone
61db5330a7
Add combineBBoxes() method, and use it in mpadded and mrow. Also use bbox.t and bbox.b to indicate the actual extent of ink (which can be altered by mpadded). This will be used in zooming to determine the size of the box needed for the actual ink. These are similar to bbox.l and bbox.r, which can be outside the width of the objects.
2015-03-06 11:57:21 -05:00
Davide P. Cervone
553a71bb44
Make sure that mphantom acts like a box with text, so that the sizing and baseline positioning are correct.
2015-03-05 15:43:36 -05:00
Davide P. Cervone
e630f1f1f2
Use original bounding box for CHTMLdimen computations in mpadded.
2015-03-05 08:04:18 -05:00
Davide P. Cervone
09bdc86660
Make msubsup one routine so that munderover can call it for moveable limits.
2015-03-05 07:59:23 -05:00
Davide P. Cervone
8f0747965c
Implement TeX spacing for super and subscripts
2015-03-05 07:39:05 -05:00
Davide P. Cervone
b8ae3b9817
Actually set the height of the under- or over-script when baseline spacing is not wanted, and make sure the proper node type is created for mover.
2015-03-04 17:35:12 -05:00
Davide P. Cervone
0ba42d10b0
Fix depth of stack when underscript depth is negative.
2015-03-04 17:10:04 -05:00
Davide P. Cervone
f3fdb12f8c
Fix accents to work in Safari (also simplifies the structure in this case).
2015-03-04 17:03:24 -05:00
Davide P. Cervone
e72eef13c5
Mark need to rework for Safari.
2015-03-04 13:09:43 -05:00
Davide P. Cervone
23b66a9ae9
Implement TeX spacing for munderover, including delta offsets, skew values, proper accents, and so on. Still need stretchy characters. Still need to fix a spacing problem with accents in Safari.
2015-03-04 13:08:06 -05:00
Davide P. Cervone
18e5a0ef6d
Rename CHTMLstretchChild to CHTMLstretchChildV, and add CHTMLstretchChildH (still to be implemented in mo).
2015-03-04 12:54:46 -05:00