PyCon JP 2026

The Hidden Python Behind Every Typeface: Engineering Variable Fonts

Modern fonts look like static design assets, but they are actually complex software packages. Inside every .ttf and .otf file is a structured database of geometry, lookup tables, and rendering rules. The global type industry like Google Fonts, Adobe, and many independent foundries relies on Python to build, inspect, and automate these fonts.

This talk takes a practical, engineering-first look at how Python powers modern typography. Using the open-source FontTools library, I will show how glyphs are stored as contours and Bezier points, how font binaries can be decompiled into editable XML, and how changes can be compiled back into a working font. We will also look at the interpolation math that allows Variable Fonts to morph smoothly between weights such as Thin and Bold.

Tell us about your own experience with this topic

I got into font engineering while exploring variable fonts for a design project. That led me down a rabbit hole into FontTools, TTX, and OpenType internals where I tried dissecting font binaries, and running experiments. It's been more of a technical investigation over several months rather than production work.

What discussions can you have with attendees through this talk?

I want to ask the audience: what tools or formats do you use daily that you've never looked inside? Fonts are one example, but this pattern, complex software hiding behind a simple file extension, shows up everywhere and I want them to think about it everywhere they go.
I'd also love to hear what others have reverse-engineered out of curiosity. And I'm also keen to talk with anyone working in design, tooling, font production, etc.

The speaker's profile picture
Daksh P. Jain

Hey there! I'm Daksh, a freelance design engineer (aka software engineer and product/visual designer) who enjoys building products that feel simple, clear and human.
I have spent the last six years (professionally 3) working across backend systems, cloud tools, AI, frontend interfaces and product design. I like combining these areas to create end-to-end experiences where the engineering and the design support each other.

I have worked with startups, nonprofits and tech communities to build dashboards, tools and systems that are easy to use and easy to maintain. I care a lot about open source and community. I organize PyDelhi (New Delhi's Python user group) and have been helping with EuroPython since 2023, and I spend a good amount of time learning from the people around me.

Outside work, I read and write about psychology, sociology and philosophy. I like understanding how people think, feel and connect, and I try to bring that sensitivity into the things I build :)