Commit Graph

3365 Commits

Author SHA1 Message Date
Emily Eisenberg
2600587f78 Update master version numbers
Summary: Update the version numbers on master to <the-next-version>-pre.

Test plan:
 - ???

Auditors: kevinb, alpert
2015-07-16 14:20:29 -07:00
Davide P. Cervone
d127b1bcb7 Merge branch 'issue596' into develop. Issue #596. 2015-07-16 15:39:20 -04:00
Davide P. Cervone
f42c71feca Merge branch 'issue956' into develop. Issue #956. 2015-07-16 15:39:05 -04:00
Davide P. Cervone
4c8158ca36 Merge branch 'issue1028' into develop. Issue #1028. 2015-07-16 15:38:41 -04:00
Emily Eisenberg
ce99abd1f2 Update Dockerfile for ttfautohint, update metrics
Summary:
Update the MathJaxFonts `Dockerfile` to enable the use of
`ttfautohint` which hints our fonts better. Also, fix the location that
batik is downloaded from, update some formatting in the `Dockerfile`,
and update the fonts and metrics.

Test Plan:
 - Compare a rendered `= - A z 4 \Longrightarrow \Sigma \Biggl(` in
   Chrome on Windows at font sizes 10px to 20px before and after this
   change.
 - See that characters look about the same, or better.
 - See that the screenshot tests didn't change in firefox (maybe firefox
   runs the same autohinting algorithm that we do?), and don't visually
   change in chrome

Reviewers: kevinb, alpert

Reviewed By: kevinb, alpert

Differential Revision: https://phabricator.khanacademy.org/D18977
2015-07-16 12:01:26 -07:00
Davide P. Cervone
e0bf912cf3 Merge pull request #1210 from CalebKester/develop
Update MathZoom.js with global border-box support
2015-07-16 10:11:31 -04:00
CalebKester
2dd603aa41 Update MathZoom.js with global border-box support
With a lot of sites using the global box-sizing it breaks the zoom box on large equations when the zoom goes wider than the screen.  This fix will explicitly add content-box on this element to prevent a global override.
2015-07-16 08:44:52 -05:00
Martin von Gagern
fb403fa9eb Switch Screenshotter data from JSON to YAML
Escaping TeX in JSON as query strings is a pain: you have to double all the
\\, you have to escape the & and the #, you can't easily include line breaks
for readability, and so on.  YAML solves most of these problems for most of
the situations.  Now each test case can be structured, while simple test
cases only consist of a line of verbatim TeX code, with no escaping.

The most troublesome items remaining are lines starting in { since in YAML
these would denote inline mapping types. We use block notation for these.
2015-07-16 08:57:17 +02:00
Kevin Barabash
a3031af307 Merge pull request #308 from gagern/selenium-images
Automatically start a development server
2015-07-15 07:50:37 -06:00
Kevin Barabash
e0c75df7b7 Merge pull request #309 from gagern/chromeScreenshotUpdates
Update chrome screenshots
2015-07-15 07:49:45 -06:00
Martin von Gagern
9752d02748 Automatically start a development server
This avoids one of the few requirements we have left: you no longer have to
start a KaTeX development server, the script will do it for you, using a
random port number.

To reproduce the old behaviour, explicitely state --katex-port=7936.
2015-07-15 15:41:29 +02:00
Martin von Gagern
b7e1581869 Update chrome screenshots
I forgot to re-create these after rebasing.
2015-07-15 15:40:31 +02:00
Davide P. Cervone
d70612a519 Don't need to add extra mtd for tags any longer. 2015-07-14 14:35:02 -04:00
Kevin Barabash
a18db36296 Merge pull request #264 from gagern/selenium-images
Selenium images
2015-07-14 10:13:56 -06:00
Martin von Gagern
6f65f685f3 Add screenshots taken from Chrome 2015-07-14 18:09:58 +02:00
Martin von Gagern
5d155c75db Switch from own docker image to standard selenium images
Since the Selenium images are available for download, and downloading them
is usually faster than building them from scratch, this makes taking
screenshots easier.  Furthermore, since the Selenium image is not specific
to KaTeX, it could as well be used for other purposes, thus saving space
since a single image can be used in multiple projects.

This change also deals with the non-determinism in the Lap screenshot:
We detect the one known (and accepted) alternate rendering and change the
output file name to Lap_alt in this case.  So either Lap or Lap_alt gets
saved to, and if the image is different from both, then one of these files
will show a modification.  On the other hand, if it is equal to either of
these, then the matching one will get overwritten, showing no change.
2015-07-14 18:09:58 +02:00
Kevin Barabash
b1d5311898 Merge pull request #306 from gagern/browserifyUpdate
Update development server for new browserify version
2015-07-14 06:56:50 -06:00
Martin von Gagern
11970ee965 Update development server for new browserify version
Current browserify no longer accepts an options hash to the bundle method.
2015-07-14 09:51:20 +02:00
Davide P. Cervone
a33c5d1437 Don't allow labels to overlap equations in CommonHTML mode. Because CommonHTML allows tables that fill 100% of the width, making this work for centered equations is sub-optimal as we have to leave space on both sides of the equation to balance the label width. Issue #596. 2015-07-13 14:10:56 -04:00
Davide P. Cervone
bcdb2f1048 Don't allow labels to overlap equations in HTML-CSS mode. Because HTML-CSS allows tables that fill 100% of the width, making this work for centered equations is sub-optimal as we have to leave space on both sides of the equation to balance the label width. Issue #596. 2015-07-13 10:52:04 -04:00
Davide P. Cervone
b9e428e2cf Don't allow labels to overlap the equations in SVG mode. Resolves issue #596. Some situations still may not be optimal. 2015-07-11 16:23:17 -04:00
Kevin Barabash
67147b18ac Adds font metrics to support font commands.
This is part 1 of 3.  Rendering, screenshots, MathML, and unit tests will
follow in susbequent pull requests.
2015-07-10 21:50:04 -06:00
Davide P. Cervone
fd65c2917b Use mmultiscripts for atoms with prescripts. Resolves issue #956. 2015-07-10 18:13:40 -04:00
Kevin Barabash
549c2bf858 Merge pull request #293 from gagern/matrices
Matrices should be of type ord
2015-07-10 09:52:49 -06:00
Davide P. Cervone
e7c928fa3e Handle spacing in alignedat environment (like 811 and 982). Resolves issue #1028. 2015-07-10 11:43:23 -04:00
Martin von Gagern
6362e0f8f2 Test case demonstrating the desired spacing around an array 2015-07-10 17:37:53 +02:00
Martin von Gagern
8bff74ca09 Change group type of array from inner to ord
This is a consequence of Rule 8 of Appendix G of The Tex Book.
2015-07-10 17:37:53 +02:00
Martin von Gagern
f05ff9c5fa Offer some help working out the types of math formula atoms 2015-07-10 17:36:52 +02:00
Kevin Barabash
6357a34828 Merge pull request #303 from gagern/metrics
Improve font metrics creation
2015-07-10 09:07:59 -06:00
Martin von Gagern
b290d4ad76 Switch from fontforge to fonttools
The dependencies of fonttools are much lighter than fontforge, and since all
we need are some metrics, fonttools is very much up to that task.

This addresses issue #288.
2015-07-10 14:32:02 +02:00
Martin von Gagern
d26a67f220 Avoid non-determinisms related to font metric generation
We had some duplicate mappings in mappings to start with.  Now we have some
code to complain loudly about these, and all currently existing duplicates
have been dealt with.

We also had a problem where in some Python dict, existing stuff was using
strings as keys while new data would use numeric indices, thus not
overwriting the previous value.  Now we always use strings as keys.

Along the road, the italic dotless i and j symbols were changed
so that they now are taken from cmmi10 instead of cmti10.
2015-07-10 14:30:42 +02:00
Martin von Gagern
86115b8fce Format font metrix data to have one row for each glyph
This will make reviewing modifications easier, since the affected glyphs
will be more readily visible in the diff.
The formatting tool was applied to the existing data, instead of
regenerating the data, so the semantic content should be unmodified.
2015-07-10 14:30:42 +02:00
Martin von Gagern
1603162267 Save auto-generated font metrics data to separate JSON file
This separates auto-generated code from manually created code.
We need a more recent version of browserify to directly require JSON.
Note that the data was copied, not recreated, so it has not been changed.
This addresses issue #301.
2015-07-10 14:30:41 +02:00
Davide P. Cervone
a9ab53ece8 Merge branch 'issue1085' into develop. Issue #1085. 2015-07-09 11:27:32 -04:00
Davide P. Cervone
d2cf7edb0f Merge branch 'issue1173' into develop. Issue #1173. 2015-07-09 11:27:05 -04:00
Davide P. Cervone
af7bfcf8c3 Merge branch 'issue1194' into develop. Issue #1194. 2015-07-09 11:26:07 -04:00
Davide P. Cervone
67e7351e1d Merge branch 'issue1208' into develop. Issue #1208. 2015-07-09 11:25:08 -04:00
Martin von Gagern
1f8610cebe Auto-detect python binary
We now try whether there is an executable called python2, and if so,
use that in preference to python when executing the metric computation.
Furthermore, we allow the user to specify the path of the python binary
using the PYTHON variable of make, i.e. “make PYTHON=/foo/python2 metrics”.
2015-07-09 14:44:01 +02:00
Kevin Barabash
6cf8c5aacb add a link to Examining TeX page on wiki to CONTRIBUTING.md
Auditors: emily
2015-07-08 23:38:40 -06:00
Martin von Gagern
7c8ea80638 Provide more delimiters
This adds \lgroup, \rgroup, \lmoustache and \rmoustache,
provides \lVert and \rVert with the correct type for each,
and makes \lvert, \rvert, \lVert and \rVert available
through \left...\right.
2015-07-09 02:23:33 +02:00
Kevin Barabash
8009059b7c Merge pull request #295 from gagern/fracspace
Improve horizontal spacing of fractions
2015-07-08 18:17:28 -06:00
Emily Eisenberg
d00caf6ed7 Merge pull request #298 from gagern/Bmatrix
Implement Bmatrix environment
2015-07-08 17:01:08 -07:00
Davide P. Cervone
6fd9c45c14 Add more detail to browser detection for Safari (since Windows Mobile thinks its Safari). Resolves issue #1085. 2015-07-08 17:20:28 -04:00
Davide P. Cervone
2f37a00c6f Use extra parentheses to avoid warning message in debug mode. Resolves at least one line from issue #1173. 2015-07-08 17:11:58 -04:00
Davide P. Cervone
c03acb6d7d Fix problem where automatic numbering affects \binom and friends. Resolves issue #1194 2015-07-08 17:05:57 -04:00
Martin von Gagern
ec3cbb8656 Implement Bmatrix environment 2015-07-08 22:47:22 +02:00
Davide P. Cervone
15c9159cb2 Merge branch 'issue1199' into develop. Resolves issue #1199. 2015-07-08 15:37:49 -04:00
Davide P. Cervone
8d39915c25 Merge branch 'issue1176' into develop. Resolves issue #1176. 2015-07-08 15:36:02 -04:00
Davide P. Cervone
fd8c901274 Merge branch 'issue1072' into develop. Resolves issue #1072. 2015-07-08 15:34:26 -04:00
Davide P. Cervone
cd12ba63d9 Make chunking parameters only be used when fast preview is enabled. 2015-07-08 15:30:49 -04:00