We develop FontTools, a Python library to manipulate font files.

Joined January 2018
Increasingly think this might be the most important chart in the world right now
China is on track to install ~20 times more solar in 2025 than the United States. Yeah.
1,251
2,928
787
14,202
33,272,775
I posted some notes about what we have been doing this quarter re font technology at behdad.org/fonts2024q4 #opentype @harfbuzz @FontTools
2
8
1,478
I'd like to share with you the "State of Text Rendering 2024", a survey of the Free & Open Source fonts & text rendering landscape advancements since 2009. behdad.org/text2024/ @harfbuzz @FontTools @googlefonts
10
42
2
121
8,939
FontTools 4.52.x is out with lots of interesting CFF goodies: - Partial and static instancing of CFF2 variable fonts. - Two new modules and command-lines: cffLib.CFFToCFF2 and cffLib.CFF2ToCFF for conversions between CFF and CFF2. Check it out: github.com/fonttools/fonttoo…
3
1
6
1,877
New @fonttools 4.45.0 is a `pip install --upgrade fonttools` away from you! It contains my work on generating PDF/HTML from the `varLib.interpolatable` tool. Check out the sample output: github.com/behdad/google-fon…
1
4
30
2,600
Which Python version are you using FontTools with? Context: we are thinking of dropping support for Python 3.7 before its scheduled end-of-life around mid next year: github.com/fonttools/fonttoo… Shout if you'd like us to continue supporting Python 3.7 for a few more months!
3%3.7
0%3.8
88%3.9 <= v <= 3.11
9%Other
33 votes • Final results
1
4
3
Thanks to all 33 participants! We only had 1 vote for Python 3.7, so we will likely drop support for it in the next release. If that one participant would like to get in touch with their concerns, they'll be welcome.
1
2
FontTools 4.38.0 is out! Thanks to @behdad, the instancer can now change a variable font's axis default value, e.g. you have 2 masters Thin+Black and want a Regular in between, or wish to restrict min/max to a range that doesn't include the old default github.com/fonttools/fonttoo…
1
6
1
22
This is a gist of FontTools-based utilites & extension libraries. Ones I know about, anyway. gist.github.com/n8willis/493…
3
6
22
We are looking for a font engineer. typotheque.com/blog/job_open…
Replying to @revolvertype
f = TTFont(path/to/font.ttf) for table in f["cmap"].tables: # chr(97) == "a" table.cmap[97] = "s" AFAIK you have to set a glyph for a unicode and not a unicode for a glyph.
1
1
7
God. As a professional font developer with nearly 30 years of experoence, I love @FontTools and #Python. That is all. @ThePSF – at San Jose, CA
1
3
The power of @FontTools Pens is all about protocol: it's a standardized collection of methods with standardized call signatures. Any object that implements the pen protocol can be used by any code that writes to pens. Any code that writes to pens can be used with any pen.
This morning I've been subclassing a @FontTools BasePen, and it's such a cool abstraction. Easy to use, clean code, very expressive. Thanks @justvanrossum
1
1
9
In case anyone out there wants to change the colors in my Megabase OpenType-SVG color fonts, here’s a quick demo where I dig into the guts of the font file with @FontTools TTX and mess with the color values. 🎨🎥🍿youtube.com/watch?v=_mywly0l…
5
11