Skip to content
Python-based font utilities collection and framework
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
actionsosx Updated macOS action Jun 21, 2017
examples Moved psfpostff to installed scripts Apr 17, 2019
lib/silfont Add Apr 18, 2019
tests Updated tests to reflect normalization changes Apr 16, 2019
.gitattributes Add .gitattributes May 7, 2018
.gitignore Removed .idea and .DS_Store from tests... and added them to .gitignore Sep 7, 2018 1.4.1 release Mar 4, 2019
LICENSE Bug fix for empty groups/kerning plists, added docs and updated versions Jul 9, 2015 Reorganised scripts directories May 16, 2016
Pipfile.lock Moved psfpostff to installed scripts Apr 17, 2019
dev-requirements.txt Dropped the dependency on DesignSpaceDocument: all scripts use the ne… Oct 19, 2018 Renamed all installed commands to new standard. First pass at updatin… Jun 19, 2017
requirements.txt Initial updates for Python 3 support May 10, 2018

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 - Python 2 support to be withdrawn

Pysilfont now works with Python 2 & 3. Full support for Python 2 will be withdrawn shortly.


Pysilfont requires Python (version 2.7.x or 3.6+) and python-setuptools. Some scripts also need other libraries.

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 Writing Systems Technology team , though contributions from anyone are welcome. Pysilfont is copyright (c) 2014-2019 SIL International and licensed under the MIT license. The project is hosted at

You can’t perform that action at this time.