Add function to read a delta exceptions file.
[ttfautohint.git] / INSTALL.git
blob89fc0961e32ae4465b3d0745f321a6bce4b66c95
2 building and installing ttfautohint from git
3 --------------------------------------------
5 Building ttfautohint from the git repository needs some tools which are not
6 required when building from a release:
8   autoconf (2.65)
9   automake (1.13)
10   git (1.5.5)
11   libtool (2.2.2)
12   perl (this is a prerequisite of automake also)
14 If you configure to build the documentation files also (which are normally
15 distributed with the release package), the following is necessary:
17   help2man (1.40.1)
18   pandoc (1.12.2.1)
19   inkscape (0.48.2)
20   X11
21   ImageMagick (6.7.4)
22   lualatex or xelatex (TeXLive 2013)
24 The version numbers in parentheses are known to work.  Newer versions should
25 work also.
27 Say
29   ./bootstrap
31 to clone the `gnulib' repository (which gets installed as a git submodule),
32 to build the `configure' script, and to set up necessary auxiliary files. 
33 Then you can proceed with the instructions given in the `INSTALL' file with
34 the exception that parellel builds with `make -j' are not supported yet.
36 Some additional remarks for compilation within the MinGW environment.
38   o Since MSYS, the shell of MinGW, uses LF as line endings, `git checkout'
39     should not convert files to CRLF.  Before checking out the FreeType and
40     ttfautohint repositories, you should issue the command
42       git config --global core.autocrlf input
44     to avoid any line ending conversion.
46   o At the time of this writing (February 2014), the current MinGW bundle
47     (in particular mingwrt-4.0.3; the gcc version is 4.8.1) contains a
48     number of bugs that need work-arounds.  For this reason, you should use
49     FreeType version 2.5.3 (or the git repository) and HarfBuzz version
50     0.9.27.  The configuration scripts work just fine in an MSYS shell.
52   o To compile a stand-alone version of ttfautohintGUI we must compile a
53     static version of Qt 4 first.  I've successfully followed these
54     instructions with version 4.8.5
56       http://www.formortals.com/build-qt-static-small-microsoft-intel-gcc-compiler/
58     together with the following minor patch to MinGW
60       https://sourceforge.net/p/mingw/mingw-org-wsl/ci/928ddb53a9623fc38de3997a3acce4a8730f4dc6/
62     Note that these build instructions should be executed in a normal
63     cmd.exe shell, *not* MSYS.
65     An alternative is given at
67       http://qt-project.org/wiki/How-to-build-a-static-Qt-for-Windows-MinGW
69     using a PowerShell script.  However, you still need the small MinGW
70     patch.
72     It's not necessary to invoke `make install' for Qt.  For ttfautohint's
73     `--with-qt' configure script argument in the next build step, use the
74     `bin' subdirectory of the just built Qt library, for example
76       --with-qt=/path/to/qt-4.8.5/bin
78   o Now configure and compile ttfautohint (within an MSYS shell) using
80       configure \
81         --with-qt=<DIR> \
82         --with-doc=no \
83         ac_cv_func__set_invalid_parameter_handler=no
84       make LDFLAGS=-all-static
86     (The `ac_cv_func...' argument is another work-around for a MinGW bug).
88 EOF