chromium/third_party/ots/INSTALL

Instructions below are for building standalone OTS utilities, if you want to
use OTS as a library then the recommended way is to copy the source code and
integrate it into your existing build system. Our build system does not build
a shared library intentionally.

General build instructions:

  1. If you are building from cloned Git repository, you will need to update
     the git sub modules, as well as run autoreconf. A convenience script is
     provided:

     $ ./autogen.sh

  2. Build OTS

     $ ./configure
     $ make

  3. Run the tests (if you wish)

     $ make check

Building on Windows:

   1. A POSIX-compatible environment is required to build OTS, MSYS2 is
      recommended. Follow the installation instructions on
	  https://msys2.github.io/.

   2. Install the required packages:

      $ pacman -S autoconf automake pkg-config gcc make

   3. Follow the general build instructions above.

Developer build instructions:

  1. If you would like to see the source code lines related to reported 
     errors, then replace configure call above with:

     $ ./configure --enable-debug

     For example,

     $ ./ots-sanitize ~/fonts/ofl/merriweathersans/MerriweatherSans-Bold.ttf
     ERROR at src/layout.cc:100 (ParseScriptTable)
     ERROR: Layout: DFLT table doesn't satisfy the spec. for script tag DFLT
     ERROR at src/layout.cc:1247 (ParseScriptListTable)
     ERROR: Layout: Failed to parse script table 0
     ERROR at src/gsub.cc:642 (ots_gsub_parse)
     ERROR: GSUB: Failed to parse script list table
     ERROR at src/ots.cc:669 (ProcessGeneric)
     Failed to sanitize file!