Commit Graph

95 Commits

Author SHA1 Message Date
Davide P. Cervone
f570364139 Break CHTMLhandleStyle() into two parts, one that sets the styles and removes the unwanted ones, and CHTMLhandleBBox() that adjustst the BBOX based on the styles. Use this to handle inheritance of font-family, font-weight, and font-style from mstyle with style attributes. 2015-03-16 09:44:43 -04:00
Davide P. Cervone
5d3508d830 Add support for style='font-family:...', fontfamily, fontweight, and fontstyle attributes. Cache the results in case they are used more than once. 2015-03-16 09:18:35 -04:00
Davide P. Cervone
6a81434b16 Remove font-based styles (this will be looked up later on token elements) 2015-03-15 10:40:09 -04:00
Davide P. Cervone
d31dad0e79 Adjust bounding box to accound for border and padding 2015-03-15 10:11:54 -04:00
Davide P. Cervone
edfe289983 Handle msup and msub children properly. 2015-03-15 09:25:44 -04:00
Davide P. Cervone
d3b5895468 Create a bbox object with methods for scaling, combining, etc, rather than scaleBBox, combineBBoxes, etc. 2015-03-15 08:52:01 -04:00
Davide P. Cervone
c52d2aaa0c Add some FIXME comments. 2015-03-14 19:06:09 -04:00
Davide P. Cervone
e202cde5ed Add support for href, class, RDFa, aria, and other attributes. 2015-03-14 19:01:21 -04:00
Davide P. Cervone
beabbc7a17 Add bevelled fraction support 2015-03-14 18:40:58 -04:00
Davide P. Cervone
35bd8e0acd Better positioning of extender in vertical stretchy delimiters. 2015-03-14 18:15:45 -04:00
Davide P. Cervone
8ed1db868b Add fondata-extra.js and support for it. 2015-03-14 18:08:10 -04:00
Davide P. Cervone
5107ef02dc Don't need to add the fake nodes again, since already handled by setTeXclass() already does that. (We didn't use it initially.) 2015-03-14 17:59:47 -04:00
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
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
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
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
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
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
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
Davide P. Cervone
8b9c18e1b4 Only update bbox widths when the boxes exist 2015-03-07 11:18:55 -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