FontTools/TTX
The Power of Open Source for OpenType
Part 1: Just van Rossum
Part 2: Behdad Esfahbod
Part 3: Q&A
github.com/behdad/fonttools

Behdad Esfahbod | FontTools/TTX | TYPO Labs Berlin | 11 may 2016

Background: 2003
- FarsiWeb days

Behdad Esfahbod | FontTools/TTX | TYPO Labs Berlin | 11 may 2016

Background: 2013
- July: Subsetter is born

Behdad Esfahbod | FontTools/TTX | TYPO Labs Berlin | 11 may 2016

Background: 2013
- July: 'COLR'/'CPAL' table- August: Google color fonts- August: 'SVG ' table from Read Roberts- August: Cosimo shows up- August: Remove numpy dependency- September: 'sbix' table form Jens Kutilek- October: ATypI 2013 Amsterdam- November: Port to Python 2/3- ...

Behdad Esfahbod | FontTools/TTX | TYPO Labs Berlin | 11 may 2016

2014
- Optimized the subsetter- Implemented merger- Hooked up the test suite- Released 2.5- ATypI 2014 Barcelona

Behdad Esfahbod | FontTools/TTX | TYPO Labs Berlin | 11 may 2016

2015
- Sascha joiners- gvar/fvar/avar- Noto pipeline starts- Released 3.0- ATypI 2015 Saõ Paulo- Coninuous integration

Behdad Esfahbod | FontTools/TTX | TYPO Labs Berlin | 11 may 2016

Noto pipeline- glyphs2ufo- robofab vs extractor

Behdad Esfahbod | FontTools/TTX | TYPO Labs Berlin | 11 may 2016

2015-01
https://github.com/robofab-developers/robofab/pull/29@letterror:
Does this pull make robofab dependent on a
speciﬁc fork of FontTools?

Behdad Esfahbod | FontTools/TTX | TYPO Labs Berlin | 11 may 2016

2015-04
https://github.com/typesupply/compositor/issues/7
Subject: test Coverage object if it has a Format attr
@typemytype:a small patch to make compositor work with the github
fontTools version@typesupply:
Is there a change list somewhere of all the things thatyou've done since forking from the original FontTools?
We're running into lots of things so it would be good tohave something to review.
Behdad Esfahbod | FontTools/TTX | TYPO Labs Berlin | 11 may 2016

Behdad Esfahbod | FontTools/TTX | TYPO Labs Berlin | 11 may 2016

"These Dutch people...""Google forked us..."Behdad Esfahbod | FontTools/TTX | TYPO Labs Berlin | 11 may 2016

Noto pipeline- glyphs2ufo- robofab- ufo2fdk

Behdad Esfahbod | FontTools/TTX | TYPO Labs Berlin | 11 may 2016

Noto pipeline: feaLib- glyphs2ufo- robofab- ufo2fdk → ufo2ft- fontTools.feaLib- booleanOperations

Behdad Esfahbod | FontTools/TTX | TYPO Labs Berlin | 11 may 2016

Noto pipeline: mtiLib- glyphs2ufo- robofab- ufo2fdk → ufo2ft- fontTools.feaLib / fontTools.mtiLib- booleanOperations

Behdad Esfahbod | FontTools/TTX | TYPO Labs Berlin | 11 may 2016

Noto pipeline: MutatorMath- glyphs2ufo- robofab- MutatorMath- ufo2fdk → ufo2ft- fontTools.feaLib- booleanOperations

Behdad Esfahbod | FontTools/TTX | TYPO Labs Berlin | 11 may 2016

Noto pipeline: cu2qu- glyphs2ufo- robofab- MutatorMath- ufo2fdk → ufo2ft- fontTools.feaLib- booleanOperations- cu2quBehdad Esfahbod | FontTools/TTX | TYPO Labs Berlin | 11 may 2016

Noto pipeline: defcon- glyphs2ufo- ufoLib- robofab → defcon- MutatorMath- ufo2fdk → ufo2ft- fontTools.feaLib- booleanOperations- cu2quBehdad Esfahbod | FontTools/TTX | TYPO Labs Berlin | 11 may 2016

OpenType 2.0 / GX / Saõ Paulo

Behdad Esfahbod | FontTools/TTX | TYPO Labs Berlin | 11 may 2016

2015-11-26
From: Behdad Esfahbod
To: Erik van Blokland
Hi Erik,I'm planning to visit The Hague in January, mostly tomeet Bahman, and hopefully to work with you. We
can discuss / hack on interpolation, OpenType GX,
or really anything fonts & Python. Would you beinterested in that? I'm thinking some time the weekof January 18th.
Behdad Esfahbod | FontTools/TTX | TYPO Labs Berlin | 11 may 2016

2015-11-27
From: Erik van Blokland
To: Behdad Esfahbod
Hi Behdad,
That's unexpected :) I have time that week and we
can meet earlier in the week. I do have someacademic obligations on Thursday and Friday andthe Type and Media open day that Saturday.
Would that work for you?
Behdad Esfahbod | FontTools/TTX | TYPO Labs Berlin | 11 may 2016

2016-01-16
From: Erik van Blokland
To: Behdad Esfahbod
Hi Behdad,I hope to see you next week! It’s above freezing
but a lot of rain.
Just is at the academy on Wednesday and would liketo meet you. Frederik Berlaen lives in Gent, Belgium
and can come up on Friday or Thursday.
Behdad Esfahbod | FontTools/TTX | TYPO Labs Berlin | 11 may 2016

2016-01-20
Tabs or spaces?

Behdad Esfahbod | FontTools/TTX | TYPO Labs Berlin | 11 may 2016

Noto pipeline- glyphs2ufo- ufoLib- defcon- MutatorMath- ufo2fdk → ufo2ft- fontTools.feaLib- booleanOperations- cu2quBehdad Esfahbod | FontTools/TTX | TYPO Labs Berlin | 11 may 2016

Noto pipeline: compreﬀor- glyphs2ufo- ufoLib- defcon- MutatorMath- ufo2fdk → ufo2ft- fontTools.feaLib- booleanOperations- cu2qu- compreﬀorBehdad Esfahbod | FontTools/TTX | TYPO Labs Berlin | 11 may 2016

Noto pipeline: fontmake- glyphs2ufo- ufoLib- defcon- MutatorMath- ufo2fdk → ufo2ft- fontTools.feaLib- booleanOperations- cu2qu- compreﬀor- fontmake

Behdad Esfahbod | FontTools/TTX | TYPO Labs Berlin | 11 may 2016

Noto pipeline: noto-source- glyphs2ufo- ufoLib- defcon- MutatorMath- ufo2fdk → ufo2ft- fontTools.feaLib- booleanOperations- cu2qu- compreﬀor- fontmake- noto-source
Behdad Esfahbod | FontTools/TTX | TYPO Labs Berlin | 11 may 2016

Noto pipeline: TODO
- fontTools.varLib- CFF operator specializer- ttfautohint- FDK hinterBehdad Esfahbod | FontTools/TTX | TYPO Labs Berlin | 11 may 2016

Behdad Esfahbod | FontTools/TTX | TYPO Labs Berlin | 11 may 2016

Behdad Esfahbod | FontTools/TTX | TYPO Labs Berlin | 11 may 2016

Noto pipeline: challenges- Dependency hell (see pen hell?!)- Stability- Speed- Flexibility

Behdad Esfahbod | FontTools/TTX | TYPO Labs Berlin | 11 may 2016

Eng time!

Behdad Esfahbod | FontTools/TTX | TYPO Labs Berlin | 11 may 2016

from fontTools.misc.py23 import *Behdad Esfahbod | FontTools/TTX | TYPO Labs Berlin | 11 may 2016

Snippets/symfont.py roboto.ttf
glyph: slash
Area: 0.0631374
Correlation: 0.964027
Covariance: 0.0190825
MeanX: 0.196996
MeanY: 0.324567
Moment1X: 0.0124378
Moment1Y: 0.0204923
Moment2XX: 0.00294835
Moment2XY: 0.00524173
Moment2YY: 0.00978664
Perimeter: 1.81758
Slant: 0.38425
StdDevX: 0.0888251
StdDevY: 0.222849
VarianceX: 0.0078899
VarianceY: 0.0496617
Behdad Esfahbod | FontTools/TTX | TYPO Labs Berlin | 11 may 2016

compreﬀorBehdad Esfahbod | FontTools/TTX | TYPO Labs Berlin | 11 may 2016

cu2quBehdad Esfahbod | FontTools/TTX | TYPO Labs Berlin | 11 may 2016

Linksgithub.com/googlei18n/noto-source
github.com/googlei18n/fontmake
github.com/googlei18n/glyphsLib
github.com/uniﬁed-font-object/ufoLib
github.com/typesupply/defcon
github.com/LettError/MutatorMath
github.com/typesupply/fontMath
github.com/googlei18n/ufo2ft
github.com/typemytype/booleanOperations
github.com/googlei18n/cu2qu
github.com/googlei18n/compreﬀor
github.com/behdad/fonttools
Behdad Esfahbod | FontTools/TTX | TYPO Labs Berlin | 11 may 2016

Q&A

Behdad Esfahbod | FontTools/TTX | TYPO Labs Berlin | 11 may 2016