Commit Graph

3361 Commits

Author SHA1 Message Date
Davide P. Cervone
960108c712 Fix version number of MathJax as a whole. 2015-02-25 10:59:15 -05:00
Davide P. Cervone
5f53a23e58 Force measurement of unknown characters, even when noReflows is active. 2015-02-25 10:59:01 -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
95c029ddd3 Add some missing caches, add some space characters (so they don't have to be special cased in the text handling), and fix up some variant chaining. 2015-02-23 11:15:57 -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
665f56aab1 Repack and recombine changes for v2.5.1 2015-02-20 09:50:28 -05:00
Davide P. Cervone
6286c63239 Fix var problems identified by YUI. 2015-02-20 09:47:47 -05:00
Davide P. Cervone
705f738228 Merge branch 'issue1053' into hotfix-2.5. Issue #1053. 2015-02-20 09:26:26 -05:00
Peter Krautzberger
627ab61df8 Update with recent fixes from @davidcarlisle
Fixes #1024
2015-02-20 09:23:05 -05:00
Emily Eisenberg
fd18f6979e Add an optional settings argument to render calls
Summary:
Add the ability to pass in options to the render calls which contain information about the parse. This information is passed around to the parser and builder, which parse and render differently depending on the options. Currently, this includes an option to render the math in display mode (i.e. centered, block level, and in displaystyle).

Also added some changes to make it easier to add new data to functions (now that new data doesn't need to be copied into the ParseFuncOrArg data structure, it is looked up when it is needed) and has more sane support for the `'original'` argType (as suggested by pull request #93).

Test Plan:
 - Make sure tests and lint pass
 - Make sure huxley screenshots didn't change, and new screenshot looks correct

Reviewers: alpert

Reviewed By: alpert

Differential Revision: https://phabricator.khanacademy.org/D13810
2015-02-19 15:26:57 -08:00
Davide P. Cervone
f87cb5cf42 Bump version numbers for updated files 2015-02-19 17:43:07 -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
201b5d5987 Merge branch 'develop' into chtml 2015-02-19 09:01:10 -05:00
Davide P. Cervone
13ebde0937 Correct computation of TeX class for maction elements (handle embellished operators correctly). 2015-02-19 08:59:23 -05:00
Davide P. Cervone
3308957304 Fix some comments. 2015-02-19 08:58:01 -05:00
Emily Eisenberg
d61a04c80d Fix up small problems with #126
Summary:
 - Some of the symbols were of the wrong type (I wrote some scripts to
   search the TeX source for the correct types for the symbols; I should
   put these somewhere for future reference)
 - Some of the symbols had the incorrect unicode replacement value. I
   copied what MathJax used for the ones that were wrong. In one case,
   something had the wrong font, so I used the one MathJax used.
 - Some symbols were duplicates of existing symbols, those were removed.
 - Some symbols are text symbols that aren't usable in math mode (maybe
   they should be text symbols?) (`\aa`, `\AA`, etc.)
 - Some symbols didn't seem to work/I couldn't figure out how to make
   them work. For example, `\imath` and `\jmath` require an italic font
   in KaTeX_Main, but we don't have the ability to do that yet. `\dots`
   was removed because it's not an ordinary symbol. `\*vert` were
   removed because I don't understand what they're for, nor what they
   should look like.
 - Some symbols weren't actually in the KaTeX fonts; to make sure they
   don't fall back to something weird, I removed them. (`\S`, `\pounds`,
   etc.)

Test plan:
 - `make test`
 - See that all of the symbols in: `\equiv \prec \succ \sim \perp
   \preceq \succeq \simeq \mid \ll \gg \asymp \parallel \bowtie \smile
   \sqsubseteq \sqsupseteq \doteq \frown \ni \propto \vdash \dashv \owns
   \ldotp \cdotp \aleph \forall \hbar \exists \nabla \flat \ell \natural
   \clubsuit \wp \sharp \diamondsuit \Re \heartsuit \Im \spadesuit
   \rmoustache \lmoustache \rgroup \lgroup \mp \ominus \uplus \sqcap
   \ast \sqcup \bigcirc \bullet \ddagger \wr \amalg \longleftarrow
   \Leftarrow \Longleftarrow \longrightarrow \Rightarrow \Longrightarrow
   \leftrightarrow \longleftrightarrow \Leftrightarrow
   \Longleftrightarrow \mapsto \longmapsto \nearrow \hookleftarrow
   \hookrightarrow \searrow \leftharpoonup \rightharpoonup \swarrow
   \leftharpoondown \rightharpoondown \nwarrow \rightleftharpoons \nless
   \nleqslant \nleqq \lneq \lneqq \lvertneqq \lnsim \lnapprox \nprec
   \npreceq \precnsim \precnapprox \nsim \nshortmid \nmid \nvdash
   \nvDash \ntriangleleft \ntrianglelefteq \subsetneq \varsubsetneq
   \subsetneqq \varsubsetneqq \ngtr \ngeqslant \ngeqq \gneq \gneqq
   \gvertneqq \gnsim \gnapprox \nsucc \nsucceq \succnsim \succnapprox
   \ncong \nshortparallel \nparallel \nVDash \ntriangleright
   \ntrianglerighteq \nsupseteqq \supsetneq \varsupsetneq \supsetneqq
   \varsupsetneqq \nVdash \precneqq \succneqq \nsubseteqq \unlhd \unrhd
   \nleftarrow \nrightarrow \nLeftarrow \nRightarrow \nleftrightarrow
   \nLeftrightarrow \vartriangle \hslash \triangledown \lozenge
   \circledS \measuredangle \nexists \mho \Finv \Game \Bbbk \backprime
   \blacktriangle \blacktriangledown \blacksquare \blacklozenge \bigstar
   \sphericalangle \complement \eth \diagup \diagdown \square \Box
   \Diamond \beth \daleth \gimel \digamma \varkappa \ulcorner \urcorner
   \llcorner \lrcorner \leqq \leqslant \eqslantless \lesssim \lessapprox
   \approxeq \lessdot \lll \lessgtr \lesseqgtr \lesseqqgtr \doteqdot
   \risingdotseq \fallingdotseq \backsim \backsimeq \subseteqq \Subset
   \sqsubset \preccurlyeq \curlyeqprec \precsim \precapprox
   \vartriangleleft \trianglelefteq \vDash \Vvdash \smallsmile
   \smallfrown \bumpeq \Bumpeq \geqq \geqslant \eqslantgtr \gtrsim
   \gtrapprox \gtrdot \ggg \gtrless \gtreqless \gtreqqless \eqcirc
   \circeq \triangleq \thicksim \thickapprox \supseteqq \Supset
   \sqsupset \succcurlyeq \curlyeqsucc \succsim \succapprox
   \vartriangleright \trianglerighteq \Vdash \shortmid \shortparallel
   \between \pitchfork \varpropto \blacktriangleleft \therefore
   \backepsilon \blacktriangleright \because \llless \gggtr \lhd \rhd
   \eqsim \Join \Doteq \dotplus \smallsetminus \Cap \Cup \doublebarwedge
   \boxminus \boxplus \divideontimes \ltimes \rtimes \leftthreetimes
   \rightthreetimes \curlywedge \curlyvee \circleddash \circledast
   \centerdot \intercal \doublecap \doublecup \boxtimes \dashrightarrow
   \dashleftarrow \leftleftarrows \leftrightarrows \Lleftarrow
   \twoheadleftarrow \leftarrowtail \looparrowleft \leftrightharpoons
   \curvearrowleft \circlearrowleft \Lsh \upuparrows \upharpoonleft
   \downharpoonleft \multimap \leftrightsquigarrow \rightrightarrows
   \rightleftarrows \twoheadrightarrow \rightarrowtail \looparrowright
   \curvearrowright \circlearrowright \Rsh \downdownarrows
   \upharpoonright \downharpoonright \rightsquigarrow \leadsto
   \Rrightarrow \restriction \yen \dag \ddag` look the same as they do
   in LaTeX and don't print any warnings about unknown font metrics.

Auditors: alpert
2015-02-18 16:28:05 -08:00
Emily Eisenberg
174af23734 Merge pull request #126 from jmeas/hi-symbols
The Big Symbols PR
2015-02-18 16:25:41 -08:00
Davide P. Cervone
9d8c48ec51 Fix zooming in CommonHTML. 2015-02-18 17:26:00 -05:00
Davide P. Cervone
783ffadb20 Merge pull request #1064 from mathjax/issue1024-mml3js
Update with recent fixes from @davidcarlisle
2015-02-18 16:59:00 -05:00
Davide P. Cervone
fe0d977494 Handle padding in measured children when noReflows is used (e.g., in maction tags around operators). 2015-02-17 16:03:25 -05:00
Davide P. Cervone
8ea3a8329d Better layout for fractions (works in xhtml). 2015-02-17 14:56:51 -05:00
Peter Krautzberger
05f9233886 Update with recent fixes from @davidcarlisle
Fixes #1024
2015-02-17 11:02:36 +01: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
49c3e3a156 Don't set font-size of maction span (the elements it contains do that themselves). 2015-02-14 15:43:40 -05:00
Davide P. Cervone
15b3928891 Break HTML-CSS output into phases so that the final measurement can be done all at once. Restores timing improvements that were lost due to a change made in the testing for v2.5. 2015-02-14 15:30:37 -05:00
Davide P. Cervone
b1a2b4fe03 Don't cache the value of 'selected', since calls to isEmbellished() can be made before the expression is in place, and the values of displastyle and scriptlevel are known. Resolves issue #1053. 2015-02-11 09:34:25 -05:00
Davide P. Cervone
cb13a059bb Localize a variable that was accidentally global. Resolves problem 2 of #1050. 2015-02-09 16:16:30 -05:00
Davide P. Cervone
8c9fc2122b Make sure these extensions pas on ALL arguments to the routines they override. (Needed for fix to toHTML to allow measurements to be grouped.) 2015-02-09 12:45:18 -05:00
Emily Eisenberg
ba67b89fe9 Merge pull request #184 from iamdanfox/remove-greek-fonts
Remove Greek fonts
2015-02-09 07:46:43 -08:00
Peter Krautzberger
17c275cc15 update for MathJax v2.5 release 2015-02-07 18:33:10 +01:00
Davide P. Cervone
f21589ea9a Merge branch 'issue1039' into hotfix-2.5. Issue #1039. 2015-02-05 18:32:50 -05:00
Davide P. Cervone
1e67bf954f Merge branch 'issue1033' into hotfix-2.5. Issue #1033. 2015-02-05 18:31:15 -05:00
Davide P. Cervone
df200f22f3 Merge branch 'issue1006' into hotfix-2.5. Issue #1006. 2015-02-05 18:28:43 -05:00
Davide P. Cervone
f5b7bf59b3 Remove README-branch.txt, which is no longer needed. Issue #1039 2015-02-05 18:24:27 -05:00
Davide P. Cervone
9531b299d4 Make sure children of mtable are mtr or mlabeledtr (was incorrectly making an mtd instead of an mtr). Resolves issues #1006 and #1032. 2015-02-05 16:47:17 -05:00
Davide P. Cervone
6d6720ecf5 Don't convert delimiters to unicode in \genfrac (since that is now done by \bigg and \big later on). Resolves issue #1033. 2015-02-05 16:42:46 -05:00
Peter Krautzberger
55df93cdf8 Merge pull request #1027 from mathjax/develop
Release v2.5
2015-01-30 15:12:55 +01:00