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.
- performing boolean operations on bezier paths
- a basic layout engine for testing OpenType features
- converting from cubic to quadratic bezier curves in UFO fonts
- provides UFO based objects for use in font editing applications
- building blocks for creating UIs for font editing applications
- creating simple modal UIs that work across different font editors
- extracting data from binary fonts into UFO objects
- writing OpenType features dynamically
- compiling binary fonts (OpenType, TrueType) from sources
- fast interpolation of glyphs, fonts and other kinds of font data
- a collection of classes implementing the pen protocol
- manipulating binary fonts (OpenType, TrueType, etc)
- building glyphs from other glyphs
- generating glyph name lists from unicode data
- generating HTML from markdown sources
- piecewise linear interpolation in multiple dimensions
- normalizing XML and other data inside UFOs
- generating OTFs from UFOs with the AFDKO
- converting UFOs to SVG fonts
- generating instances from UFO masters and designspace
- a toolkit for creating windows, dialogs and other native macOS UI elements
- 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.