| 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! |