Registry / data / ufo2ft

ufo2ft

JSON →
library3.8.2pypypi✓ verified 84d ago

A Python library that compiles UFO (Unified Font Object) sources into OpenType font binaries (.otf and .ttf) using FontTools. Version 3.7.1 requires Python >=3.10. It bridges UFO data structures with FontTools' font compilation pipeline, supporting features like Mark-to-Mark positioning, kern feature generation, and variable font instantiation. Release cadence is irregular with patches every few months.

pip install ufo2ft
INSTALL
IMPORT
SIG · UFO2FT
U
ufo2ft
datapythonv3.8.2
Install
3.2s avg
Import
Disk
50MB
Pass rate
5/ 10
Env Coverage5 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v3.8.2 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.103.95 runs
build_error
glibc
py 3.103.95 runs
installs and imports cleanly · install 3.2s · import 0.000s · 51MB
50MB installed
● package 50MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

compileOTF
from ufo2ft import compileOTF
from ufo2ft import compileInterpolatableFontFromUFOs
compileTTF
from ufo2ft import compileTTF
compileVariableTTF
from ufo2ft import compileVariableTTF

Compile a single UFO into an OpenType font file.

from ufo2ft import compileOTF from fontTools.ufoLib import UFOReader # Replace with actual path to your .ufo path = "path/to/font.ufo" reader = UFOReader(path) font = compileOTF(reader) font.save("output.otf") print("OpenType font saved.")
Debug
Known issues
breakingPython 3.9 dropped as of v3.7.0; requires Python >=3.10.
fix
Upgrade to Python 3.10 or higher.
affects: >=3.7.0
breakingIn v3.6.8, dependencies were pinned to exact versions, causing clashes. This was fixed in v3.6.9.
fix
Upgrade to v3.6.9 or later, or avoid pinning ufo2ft with exact constraints.
affects: 3.6.8 only
deprecatedSome internal modules like ufo2ft.outlineCompiler may change; rely on stable public API (compileOTF, compileTTF, compileInterpolatableFontFromUFOs).
fix
Use top-level imports from ufo2ft package.
affects: all
gotchaufo2ft works with both defcon and ufoLib2 for UFO objects, but v3.7.0 made neither strictly required. If using defcon, ensure it's installed separately.
fix
Install defcon explicitly if needed: pip install defcon.
affects: >=3.7.0
gotchaWhen compiling variable fonts, ensure all master UFOs have the same glyph set and consistent outlines; otherwise compilation may fail silently or produce incorrect data.
fix
Validate master UFOs before compiling with compileInterpolatableFontFromUFOs().
affects: all
Upgrade
Version history
3.8.2latest on PyPI · released Jun 15, 2026
Audit
Dependencies
fonttools[ufo,lxml,feaLib]requiredCore dependency for font compilation and feature processing
Agent activity
19 hits · last 30 days
node
16
OpenAI (training)
1
Resources
ufo2ft — pip install ufo2ft · libregistry