Python-based font utilities collection and framework
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Pysilfont - a collection of utilities for font development

Pysilfont is a collection of tools to support font development, with an emphasis on UFO-based workflows. With some limitations, all UFO scripts in Pysilfont should work with UFO2 or UFO3 source files - and can convert from one format to the other.

In addition, all scripts will output UFOs in a normalized form, designed to work with source control systems.

Please read the main documentation is in the docs folder for more details. Within there is a list of scripts.

NOTICE - scripts renamed

Changes committed on 19th Jun 2017 included renaming all installed scripts to a new standard.


Pysilfont requires Python version 2.7.x and python-setuptools. Some scripts also need Fontforge, FontTools or odtpy.

Note: We are experiencing issues with upgrades to existing installations and with uninstalling, so these notes are under review.

macOS and Linux

First clone this repository or download the files from this github URL. Then navigate to the resulting pysilfont directory.

To install the module and the scripts for the current user only run:

python install --user --record installed-files.txt

or, if multiple users use your system and you want to install for all users, run:

sudo python install --record installed-files.txt

If fails with a message that python-setuptools is missing, run the following to install it, then run again.

sudo apt-get install python-setuptools

If upgrading an existing installation you will need to clean up from previous installations by running this before the commands above:

python clean --all


(to be added)

Uninstalling pysilfont

To uninstall pysilfont run:

sudo -H pip uninstall pysilfont

This gives an error about an egg file missing, but does successfully complete. If you don't have pip installed, you will need to install it with sudo apt install python-pip.

To get rid of all the files installed run:

cat installed-files.txt | xargs sudo rm -vr

Contributing to the project

Pysilfont is developed and maintained by SIL International’s Non-Roman Script Initiative team, though contributions from anyone are welcome. Pysilfont is copyright (c) 2014-2017 SIL International and licensed under the MIT license. The project is hosted at