SIL Font Development Guide

How to build, modify, and contribute to SIL International font projects

View project onGitHub

1. Introduction

In this guide we assume that:

  • you have access to a computer running recent versions of macOS, Windows or Ubuntu where you already have (or can install) the following software: Docker, Bash/Zsh and Git. We will be using a container based on Ubuntu 22.04 LTS (Jammy) - see Setting Up Tools.
  • you are familiar with the basics of using the terminal (or command-line). There is no graphical interface available for using the various tools. Don’t worry, simple cut and paste instructions will be available.
  • you have basic knowledge of distributed version control systems, Git and GitHub in particular. If all you want to do is build fonts locally, we’ll provide the minimal info you need.

We approach font design and script engineering like a libre/open source software project, with publicly accessible font sources in open formats, build systems using only unrestricted libre/open tools and a consistent set of recommended best practices to enable smooth collaborative work with others.

The font we will use as our practical example throughout this guide is Andika Mtihani. This font project is specifically designed to be an ongoing testbed for open workflow development. The Andika Mtihani family, along with all fonts designed and produced by SIL, is released under the SIL Open Font License (see the current OFL-FAQ for extra details).

All our active projects use the workflow described in this guide, and we encourage you to use it for your projects as well. You can simply mention this guide in your documentation, such as a link in a FONTLOG.txt, CONTRIBUTING.md or equivalent file in your project repository.

To learn more about how our project sources are organized see Source Formats.

To read a summary of our font development workflow see Workflow Overview.

To jump right into configuring your computer see Setting Up Tools.

SIL’s WSTech team (Writing Systems Technology) - AUTHORS