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
|
@ -2,8 +2,28 @@ FROM ubuntu:14.04
|
||||||
MAINTAINER xymostech <xymostech@gmail.com>
|
MAINTAINER xymostech <xymostech@gmail.com>
|
||||||
|
|
||||||
# Install things
|
# Install things
|
||||||
RUN apt-get -qq update
|
RUN apt-get -qq update && apt-get -qqy install \
|
||||||
RUN apt-get -qqy install git dvipng default-jre default-jdk texlive wget fontforge mftrace fonttools optipng advancecomp man-db build-essential unzip zlib1g-dev python-fontforge ruby woff-tools || true
|
git \
|
||||||
|
dvipng \
|
||||||
|
default-jre \
|
||||||
|
default-jdk \
|
||||||
|
texlive \
|
||||||
|
wget \
|
||||||
|
fontforge \
|
||||||
|
mftrace \
|
||||||
|
fonttools \
|
||||||
|
optipng \
|
||||||
|
advancecomp \
|
||||||
|
man-db \
|
||||||
|
build-essential \
|
||||||
|
unzip \
|
||||||
|
zlib1g-dev \
|
||||||
|
python-fontforge \
|
||||||
|
ruby \
|
||||||
|
woff-tools \
|
||||||
|
pkg-config \
|
||||||
|
libharfbuzz-dev \
|
||||||
|
libfreetype6-dev || true
|
||||||
RUN gem install ttfunk --version 1.1.1
|
RUN gem install ttfunk --version 1.1.1
|
||||||
|
|
||||||
# Download yuicompressor
|
# Download yuicompressor
|
||||||
|
@ -11,7 +31,7 @@ RUN mkdir /usr/share/yui-compressor/
|
||||||
RUN wget "https://github.com/yui/yuicompressor/releases/download/v2.4.8/yuicompressor-2.4.8.jar" -O /usr/share/yui-compressor/yui-compressor.jar
|
RUN wget "https://github.com/yui/yuicompressor/releases/download/v2.4.8/yuicompressor-2.4.8.jar" -O /usr/share/yui-compressor/yui-compressor.jar
|
||||||
|
|
||||||
# Download batik-ttf2svg.jar
|
# Download batik-ttf2svg.jar
|
||||||
RUN wget "http://supergsego.com/apache/xmlgraphics/batik/batik-1.7.zip"
|
RUN wget "https://archive.apache.org/dist/xmlgraphics/batik/batik-1.7.zip"
|
||||||
RUN unzip -qq batik-1.7.zip
|
RUN unzip -qq batik-1.7.zip
|
||||||
RUN mv batik-1.7/batik-ttf2svg.jar /usr/share/java/
|
RUN mv batik-1.7/batik-ttf2svg.jar /usr/share/java/
|
||||||
|
|
||||||
|
@ -22,6 +42,13 @@ RUN sed -i "1s/^/#include <cstddef>/" ttf2eot-0.0.2-2/OpenTypeUtilities.h
|
||||||
RUN make -C ttf2eot-0.0.2-2/
|
RUN make -C ttf2eot-0.0.2-2/
|
||||||
RUN mv ttf2eot-0.0.2-2/ttf2eot /usr/bin/
|
RUN mv ttf2eot-0.0.2-2/ttf2eot /usr/bin/
|
||||||
|
|
||||||
|
# Download and compile ttfautohint
|
||||||
|
RUN wget "http://download.savannah.gnu.org/releases/freetype/ttfautohint-1.3.tar.gz"
|
||||||
|
RUN tar -xzf ttfautohint-1.3.tar.gz
|
||||||
|
RUN cd ttfautohint-1.3/ && ./configure --without-qt
|
||||||
|
RUN make -C ttfautohint-1.3/
|
||||||
|
RUN mv ttfautohint-1.3/frontend/ttfautohint /usr/bin
|
||||||
|
|
||||||
# Download and compile woff2_compress
|
# Download and compile woff2_compress
|
||||||
RUN git clone "https://code.google.com/p/font-compression-reference/" woff2_compress
|
RUN git clone "https://code.google.com/p/font-compression-reference/" woff2_compress
|
||||||
RUN make -C woff2_compress/woff2/
|
RUN make -C woff2_compress/woff2/
|
||||||
|
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 9.0 KiB After Width: | Height: | Size: 9.0 KiB |
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 37 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 5.6 KiB After Width: | Height: | Size: 5.6 KiB |
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 36 KiB |
Before Width: | Height: | Size: 7.8 KiB After Width: | Height: | Size: 7.8 KiB |
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 22 KiB |
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |