Commit Graph

224 Commits

Author SHA1 Message Date
Davide P. Cervone
e78aa248f4 Add support for maction 2015-03-30 09:41:04 -04:00
Davide P. Cervone
9b4107f3b4 Better spacing for munderover, and improved CHTMLdrawBBox. 2015-03-29 07:49:58 -04:00
Davide P. Cervone
9a5928be6e Add fuller support for mtables and their attributes. 2015-03-28 11:39:45 -04:00
Davide P. Cervone
9b0378af9b Don't need SCRIPTFACTOR or MJXc-script CSS now that the scaling is done explicitly. 2015-03-24 12:30:15 -04:00
Davide P. Cervone
ac30932664 Make merror use surrounding font rather than MathJax fonts, and handle size of unknown text properly. 2015-03-21 08:15:45 -04:00
Davide P. Cervone
51742a79cc Copy scaling factors to new bbox in mpadded. 2015-03-21 07:16:17 -04:00
Davide P. Cervone
d2fd86b75a If the container's width is 0, also check for max-width before looking at parent element (finds container width better). 2015-03-20 13:54:54 -04:00
Davide P. Cervone
75baf0e3ce Add scaling to match surrounding font, add equation chunking, and fix some issues with zooming. 2015-03-20 11:20:04 -04:00
Davide P. Cervone
a659ffd62d Add mmultiscript support 2015-03-19 17:02:48 -04:00
Davide P. Cervone
a4872ff48d Handle HoverBBox (modulo getting em size mesurements) 2015-03-18 17:19:59 -04:00
Davide P. Cervone
e24c7996fe Fix bboxes (again) when mathsize is used, and fix the ID's when zooming. 2015-03-18 17:05:11 -04:00
Davide P. Cervone
fff2255bae Adjsut merror bounding box to match default CSS. 2015-03-18 14:54:33 -04:00
Davide P. Cervone
4ee1aa59e7 Add support for mglyph 2015-03-18 14:43:54 -04:00
Davide P. Cervone
f5103c709a Add support for annotation-xml used illegally as first child of semantics. 2015-03-18 14:03:42 -04:00
Davide P. Cervone
640b0d5f16 Add support for <ms> element 2015-03-18 12:13:32 -04:00
Davide P. Cervone
f64e50f9eb Use BBOX.updateFrom() in semantics, and handle mstyle with no children. 2015-03-18 11:28:17 -04:00
Davide P. Cervone
95f632a6bd Add autoload ability and stubs for the elements that need autoloading. 2015-03-18 11:23:45 -04:00
Davide P. Cervone
ef47023ba6 Handle bold accents (and potentially, stretchy characters). 2015-03-18 11:01:37 -04:00
Davide P. Cervone
548eba8ef0 Fix regression where bounding boxes aren't adjusted for mathsize 2015-03-18 10:43:51 -04:00
Davide P. Cervone
0306af8564 Use flushText() rather than adding the text by hand. 2015-03-17 12:31:09 -04:00
Davide P. Cervone
87abfa1085 Use removedStyles when checking for font-based variant. 2015-03-17 12:27:14 -04:00
Davide P. Cervone
e971f875d4 Handle stretchy embellished operators. 2015-03-17 12:15:04 -04:00
Davide P. Cervone
6478163a39 Make mn handle italic correction and skew like mn does. 2015-03-17 07:09:06 -04:00
Davide P. Cervone
0020f2a822 Adjust CHTMLhandleScale() so that \large, etc. affect fractions and other such constructs. (Do the scaling on the mstyle element rather than the individual token elements.) 2015-03-17 06:29:50 -04:00
Davide P. Cervone
b7868268f9 Handle mathsize, fontsize, style=font-size, setting scriptlevel, and other size changing functions. Get proper bounding boxes for these, and store the scale in the bbox object so that we can refer to it during bbox computations. 2015-03-16 19:25:27 -04:00
Davide P. Cervone
cc370bfcba spacing can be handled within the CHTMLdefaultNode() routine. 2015-03-16 12:00:10 -04:00
Davide P. Cervone
3205a1c1e8 Handle VCENTER TeXatom. 2015-03-16 11:03:52 -04:00
Davide P. Cervone
930a959f71 Fix some bboxes that weren't converted when changing to the BBOX object. 2015-03-16 10:44:35 -04:00
Davide P. Cervone
1bfcea3c48 Support mtextFontInherit 2015-03-16 10:35:02 -04:00
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
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
Davide P. Cervone
09aebdbf27 Refactor bounding box utility routines. 2015-03-04 12:51:09 -05:00
Davide P. Cervone
96e8ce8410 Maintain skew data in bbox. 2015-03-04 12:40:28 -05:00
Davide P. Cervone
625229566f Adjust merror CSS. 2015-03-01 18:12:45 -05:00
Davide P. Cervone
74e054397c Give mpadded elements the correct bbox. 2015-03-01 18:04:23 -05:00
Davide P. Cervone
f43f94a9e1 Update mpadded to work with new custom tags and line-height 2015-03-01 14:14:29 -05:00
Davide P. Cervone
c1402235ba Implement TeX fraction rules (still need to do bevelled fraction). 2015-03-01 12:56:17 -05:00
Davide P. Cervone
03ff8e5a25 Add TeX font parameters, and switch to TeX.axis_height rather than AXISHEIGHT. (Use in mtable will be fixed later.) 2015-03-01 10:48:53 -05:00
Davide P. Cervone
7b723003bf Fix up some CSS, and some other minor details. 2015-03-01 10:39:13 -05:00
Davide P. Cervone
6399338521 Preliminary change to custom tag names (for easier readability, and less chance of CSS bleed-through). 2015-02-27 10:55:43 -05:00
Davide P. Cervone
a26b6426fe Make bounding boxes for character based on line-height:0 rather than line-height:normal (the other varried too much from browser to browser and failed to match the internal dimensions). The HFUZZ and DFUZZ may need to be adjusted, and may need to be made browser specific (argh), but that might be able to be done through CSS. 2015-02-27 10:35:06 -05:00
Davide P. Cervone
89d259dac4 Use line-height:0 to make alignments easier, and line-height:normal for character boxes. Add ascent/descent data to fonts, and use that to get correct bounding boxes for characters (requires fixing the fonts to get PC/Mac ascent/descent to be the same). 2015-02-25 10:36:53 -05:00
Davide P. Cervone
22a19a18e2 Use variables for LINEH and LINED values. 2015-02-23 14:31:08 -05:00
Davide P. Cervone
b9c5ff1d81 Get height and depth for ALL character boxes (so large ops, etc, have correct size, since line-height kills that) 2015-02-23 12:36:51 -05:00
Davide P. Cervone
8f0e833ba6 Remove integral hack that was needed for Times, and don't add TeX space to mspace elements. 2015-02-23 12:11:56 -05:00
Davide P. Cervone
adfa16e3ae Center large ops, and add preliminary italic correction support. 2015-02-23 12:01:48 -05:00
Davide P. Cervone
909140b314 Make axis height a variable. 2015-02-23 11:26:50 -05:00
Davide P. Cervone
13dff04736 Improve handling of <mo> elements: find correct large operator font (still need to handle centering); handle accent substitution (still need to fix munderover to get spacing right). 2015-02-23 11:19:37 -05:00
Davide P. Cervone
3c6dcf717b Clean up style formatting. 2015-02-23 10:02:14 -05:00
Davide P. Cervone
8e1e853346 Implement TeX spacing (as well as MathML spacing) 2015-02-23 09:55:37 -05:00
Davide P. Cervone
2837c5f114 Preliminary support for TeX fonts (currently only uses local fonts, and doesn't load data not already in the fontdata file. 2015-02-22 18:54:22 -05:00
Davide P. Cervone
b2f1a0f830 Better handling of scaling in fractions. Use a variable for the script scaling factor. Clean up some bounding box computations. 2015-02-22 18:51:21 -05:00
Davide P. Cervone
1763ac7188 Handle propagation of bounding box sizes better. 2015-02-22 10:59:35 -05:00
Davide P. Cervone
4ef56bb007 Better fraction layout (works in XHTML). 2015-02-22 10:54:33 -05:00
Davide P. Cervone
1cbf00d54d Better handling of scriptlevel 2015-02-22 10:46:10 -05:00
Davide P. Cervone
8623acf05a Support old-style background and color attributes 2015-02-22 10:41:13 -05:00
Davide P. Cervone
81131da3fc Handle variant within handleText() rather than in handleToken(). 2015-02-19 09:28:47 -05:00
Davide P. Cervone
9d8c48ec51 Fix zooming in CommonHTML. 2015-02-18 17:26:00 -05:00
Davide P. Cervone
8ea3a8329d Better layout for fractions (works in xhtml). 2015-02-17 14:56:51 -05:00
Davide P. Cervone
e9ed0a1315 These have been moved to the mml element jax. 2015-02-15 16:09:01 -05:00
Davide P. Cervone
f5c10288dd Update copyright dates. 2015-01-29 10:21:06 -05:00
Davide P. Cervone
d6939060ed Don't produce error for empty annotation in CommonHTML output. (Issue #805) 2015-01-16 08:58:26 -05:00
Davide P. Cervone
252fda6762 Merge branch 'common-html' into CHTML-preview 2014-12-06 10:24:03 -05:00
Davide P. Cervone
da37204eb2 Handle moveable limits on munderover. Resolves issue #970. 2014-12-06 10:22:01 -05:00
Davide P. Cervone
2cbe3ebb92 Merge branch 'common-html' into CHTML-preview 2014-12-06 09:57:16 -05:00
Davide P. Cervone
1fe80b441a Handle <mlabeledtr> by dropping the label for now. Resolves issue #968. 2014-12-06 09:54:45 -05:00
Davide P. Cervone
8c616789ef Fix some local/global variable issues detected by doing the compression. 2014-11-08 09:30:24 -05:00
Davide P. Cervone
b137d2e65d Add support for mfenced, and refactor mrow code to allow reuse of some pieces. 2014-09-20 14:07:27 -04:00
Davide P. Cervone
ff970b8af0 Add fake content so that the size of the box will be normalized for text. This may have to be fixed in the future if the space causes problems (perhaps a zero-width space would be better). 2014-09-19 10:46:15 -04:00
Davide P. Cervone
4ad33386ef Remove styling of preview (left over from use as an input postfilter) 2014-08-16 13:00:26 -04:00
Davide P. Cervone
3463017f85 Change .bbox to .CHTML to prevent conflicts with other output jax 2014-08-16 08:27:02 -04:00
Davide P. Cervone
0864dfcd79 Remove commas that confuse IE8, work around IE8 problem with insertBefore when second argument is negative, fix mspaces with negative width, and add a hack to avoid negative spaces after \int to adjust for different spacing between CM and Times fonts. 2014-07-29 06:49:24 -04:00
Davide P. Cervone
781689e7e4 First version of CommonHTML output jax 2014-07-28 17:42:51 -04:00