skillfed

ufo2ft

A bridge between UFOs and FontTools.

ufo2ft v3.9.0 99.5K downloads/30d#13,021 on PyPI175
Permissive license MIT Active released

What it is and what it does

ufo2ft is a Python library that bridges UFO font source files and OpenType binary compilation. It provides two main functions—compileOTF and compileTTF—that take a UFO object and produce a ready-to-use font file without needing Adobe's Font Development Kit. The library is built on fonttools and handles the conversion pipeline, including optional glyph filtering, curve type conversion (cubic to quadratic for TrueType), component decomposition, and automatic feature generation for kerning and mark positioning.

The package is designed for font designers and build pipelines that want to automate font compilation as part of a design workflow. It reads UFO metadata (family name, style name, naming data) and can be customized through UFO lib keys to control filter behavior, conversion error tolerances, and glyph inclusion/exclusion. It also supports both Adobe OpenType feature syntax and MTI/Monotype format for advanced table definitions.

Use it for:

  • Automate font compilation in a font design CI/CD pipeline without installing the Adobe FDK
  • Programmatically generate OTF and TTF variants from a single UFO source during font development
  • Apply glyph transformations (anchor propagation, overlap removal, component flattening) before compilation
  • Convert cubic PostScript outlines to quadratic TrueType curves with configurable error tolerance
  • Generate kerning and mark positioning features automatically from UFO anchor and kerning data

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Compiles OpenType font binaries (OTF and TTF) directly from UFO (Unified Font Object) source files without requiring the Adobe FDK, using fonttools as its backend.

Yes. ufo2ft is actively maintained, has no known vulnerabilities, carries a permissive MIT license, and solves a real problem for font developers: compiling production fonts without the Adobe FDK. Install friction is low. It is suitable for both one-off font builds and integrated into automated workflows.

Install

ufo2ft on PyPI

pip

pip install ufo2ft

uv

uv add ufo2ft

poetry

poetry add ufo2ft

Installing ufo2ft

Before you install

Low friction: pure Python wheel with four runtime dependencies (booleanoperations, cffsubr, fontmath, fonttools). Actively maintained with a release 31 days ago and recent commits; no known vulnerabilities.

License in practice

MIT license permits unrestricted use, modification, and distribution in both open-source and commercial contexts with minimal obligations.

Quickstart

from ufo2ft import compileOTF, compileTTF

otf = compileOTF(ufo_object)
otf.save('MyFont-Regular.otf')

ttf = compileTTF(ufo_object)
ttf.save('MyFont-Regular.ttf')

Requires a UFO object as input; the package does not load UFO files directly from disk.

Verify before relying

  • Whether the package handles all UFO specification edge cases or only common workflows
  • Performance characteristics when compiling large or complex font files
  • Compatibility with UFO files created by specific design applications beyond documented examples
  • Whether defcon is a required dependency or optional for typical workflows

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies 4 — booleanoperations, cffsubr, fontmath, fonttools
Maintenance actively maintained — 31 days since the last release
Last repo commit
First released
Downloads 99,468/month — #13,021 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: ufo2ft-3.9.0-py3-none-any.whl

Development Status :: 5 - Production/StableEnvironment :: ConsoleEnvironment :: Other EnvironmentIntended Audience :: DevelopersIntended Audience :: End Users/DesktopNatural Language :: EnglishOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Topic :: Multimedia :: GraphicsTopic :: Multimedia :: Graphics :: Editors :: Vector-BasedTopic :: Multimedia :: Graphics :: Graphics ConversionTopic :: Software Development :: Libraries :: Python Modules

Tags

ufo to opentype compilerfont compilation from ufogenerate otf ttf from ufofonttools ufo bridgeopentype font builderufo to font binaryfont design workflow automation
font-compilationufo-toolsopentype

More Python Modules packages