Design and interface · Edition No. 43 · 7 Oct 2026

googlefonts/fontc

Compiles font source drawings into finished OpenType and TrueType font files, written in Rust to be fast.

← Design and interfaceRead the whole edition →
12

googlefonts/fontc

💎 hidden gem

186 stars · Apache-2.0, read from /blob/main/LICENSE — plain and unmodified, and the appendix is LEFT AS THE UNFILLED TEMPLATE 'Copyright [yyyy] [name of copyright owner]', so Google is not named in it anywhere · fontc-v1.0.0 (2026-09-01), read from /releases/latest as a yearless '01 Sep 15:02' and settled by the crates.io API (version 1.0.0 created_at 2026-09-01T14:51:05Z, the same event minutes apart). Previous versions 0.6.0 of 2025-12-01 and 0.5.0 of 2025-11-21, consistent with a September 2026 1.0 milestone · Track this in Scout

Compiles font source drawings into finished OpenType and TrueType font files, written in Rust to be fast.

▶Repo detailsthe review · specs · pros & cons · install

What it is

fontc is a font compiler written in Rust by the Google Fonts team. It reads the two standard source formats — UFO and designspace files, and Glyphs files — and writes the binary font files a browser or a word processor loads.

What it is good for. Anyone who makes or maintains typefaces, or who builds them as part of a release process. The reason it exists is plainly stated by Google's own planning repository: fontc is "meant to replace fontmake", the Python compiler that has done this job for years, and fontc's own README says the team is "moving towards using fontc exclusively for all Google Fonts builds". A font build that took minutes is the problem it was written to solve. At 186 stars it is by far the smallest repository in this edition.

Stars186
LicenceApache-2.0, read from /blob/main/LICENSE — plain and unmodified, and the appendix is LEFT AS THE UNFILLED TEMPLATE 'Copyright [yyyy] [name of copyright owner]', so Google is not named in it anywhere
Latestfontc-v1.0.0 (2026-09-01), read from /releases/latest as a yearless '01 Sep 15:02' and settled by the crates.io API (version 1.0.0 created_at 2026-09-01T14:51:05Z, the same event minutes apart). Previous versions 0.6.0 of 2025-12-01 and 0.5.0 of 2025-11-21, consistent with a September 2026 1.0 milestone
Good
  • Version 1.0.0 arrived on 1 September 2026, after four years of work. A 1.0 from a team that builds thousands of fonts is a real signal.
  • It replaces a chain of Python tools with one program, so a failure has one place to look rather than four.
  • Plain, unmodified Apache-2.0, which is permissive and carries no commercial condition.
Watch for
  • Its own package description promises a licence it does not ship. The Cargo.toml declares license = "MIT/Apache-2.0", offering a choice of two, and there is no MIT licence file anywhere in the repository. Only the Apache one exists, and its appendix is left as the unfilled template, Copyright [yyyy] [name of copyright owner], so Google is not named in it at all.
  • The project it replaces is still the one in production, and is still moving. googlefonts/fontmake, the Python incumbent, pushed code on 14 September 2026 — more recently than the last code date readable for fontc. fontc's own README says it is still working toward matching fontmake's output exactly. For now, check the output before switching a real release over.
  • It publishes no install command of its own: the README shows only cargo run from inside a clone, so it has to be compiled first. No minimum Rust version is declared anywhere, and no memory, disk or processor figure is published. There are 179 open issues against 8 open pull requests.
Similar repositories
Install
git clone https://github.com/googlefonts/fontc
cd fontc
cargo run -p fontc -- resources/testdata/wght_var.designspace
Screenshots
googlefonts/fontc: GitHub preview cardgooglefonts/fontc: Screenshot 1

Get the next edition in your inbox

A dozen repositories, opened and checked. The licence read, the last release dated, and the ones that did not make it named with the reason. It is the half most lists leave out.

No tracking pixels. One click to leave. The archive stays free either way.

We use your address to send the edition and nothing else. Confirm by email, leave in one click. How we handle it.