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