RoboFont is built on top of several font-related Python libraries which are embedded in the application and can also be used in your scripts.

This page gives an overview of all third-party Python libraries embedded in RoboFont, with a short description of what each library can be used for.

booleanOperations
performing boolean operations on bezier paths
compositor
a basic layout engine for testing OpenType features
cu2qu
converting from cubic to quadratic bezier curves in UFO fonts
defcon
provides UFO based objects for use in font editing applications
defconAppKit
building blocks for creating UIs for font editing applications
dialogKit
creating simple modal UIs that work across different font editors
extractor
extracting data from binary fonts into UFO objects
feaPyFoFum
writing OpenType features dynamically

RoboFont 3.3b

fontMake
compiling binary fonts (OpenType, TrueType) from sources
fontMath
fast interpolation of glyphs, fonts and other kinds of font data
fontPens
a collection of classes implementing the pen protocol
fontTools
manipulating binary fonts (OpenType, TrueType, etc)
glyphConstruction
building glyphs from other glyphs
glyphNameFormatter
generating glyph name lists from unicode data
markdown
generating HTML from markdown sources
mutatorMath
piecewise linear interpolation in multiple dimensions
ufoNormalizer
normalizing XML and other data inside UFOs
ufo2fdk
generating OTFs from UFOs with the AFDKO
ufo2svg
converting UFOs to SVG fonts
ufoProcessor
generating instances from UFO masters and designspace
vanilla
a toolkit for creating windows, dialogs and other native macOS UI elements
woffTools
verifying and examining WOFF files

For information about which version of each library is embedded in the current version of RoboFont, see the Technical Specifications.

See Overriding embedded libraries if you need to use a different version of a library – for example the latest development version, or a private fork.

All standard Python modules are also available in RoboFont.

Locally installed third-party packages, such as External modules or your own Custom modules, are accessible in RoboFont too. Make sure to install them for the same version of Python as the one embedded in RoboFont.

Last edited on 23/10/2019