Skip to content
A set of UFO based objects for use in font editing applications.
Branch: master
Clone or download
Latest commit f39457c Oct 17, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
Lib/defcon Typo correction Oct 17, 2019
documentation mock fs module, commenting out html_static_path (does not exist) Mar 29, 2019
tools style: fix indent and remove comments Nov 6, 2017
.coveragerc .coveragerc: add '[paths]' for combining coverage data Nov 1, 2018
.gitignore Add in pypi tools like fontPens, fontParts, fontTools Mar 23, 2018
.pyup.yml add .pyup.yml for bot; updates are now scheduled weekly Feb 6, 2017
.travis.yml remove test for py2 Oct 14, 2019
License.txt Update date in license Aug 2, 2016 include Lib/defcon/test/testdata, tools/, *requirements.… Nov 1, 2016
README.rst New doc location Mar 4, 2019
appveyor.yml appveyor: test on py37, add 'fast_finish: true' Oct 10, 2018
requirements.txt Update fonttools from 3.43.2 to 3.44.0 Aug 5, 2019
setup.cfg Bump version: 0.6.1 → 0.7.0.dev0 Oct 4, 2019 Bump version: 0.6.1 → 0.7.0.dev0 Oct 4, 2019
tox.ini fix test coverage report and upload to coveralls combined data Nov 1, 2018


Travis Build Status Appveyor Build Status Coverage Status Python Versions PyPI Version


Defcon is a set of UFO based objects optimized for use in font editing applications. The objects are built to be lightweight, fast and flexible. The objects are very bare-bones and they are not meant to be end-all, be-all objects. Rather, they are meant to provide base functionality so that you can focus on your application’s behavior, not object observing or maintaining cached data. Defcon implements UFO3 as described by the UFO font format. If needed, the ufo2-deprecated branch has the older, UFO2, version of Defcon.


To download and install the latest stable release of defcon from the Python Package Index, use the pip command line tool:

pip install --upgrade defcon

To install with the fontPens package —used for Glyph.correctDirection() and Contour.contourInside()— do:

pip install --upgrade defcon[pens]

To optionally install defcon with support for lxml, a faster XML reader and writer library, you can do:

pip install --upgrade defcon[lxml]

You can separate multiple extras using a comma: defcon[pens,lxml].


Documentation for Defcon lives at


This package is distributed under the MIT license. See the license. Defcon is built in Python. Parts of RoboFab use fontTools, an OpenSource font toolkit started by Just van Rossum. Parts of Defcon implement the Property List file format in XML, copyright Apple Computer. Parts of Defcon implement tables and names from PostScript and the OpenType FDK, copyright Adobe.

You can’t perform that action at this time.