why code?

There was a day when designers asked themselves: ‘Why use a computer for design?’. Some argued that a computer was not needed for being a good designer. The important thing was the designer himself/herself. They were right.

Some years later and there is hardly any designer working without a computer. The computer has become the designer’s main tool (sometimes even the only one nowadays).

Software is developed mainly by engineers, not by designers. This makes the designer constrained by the engineers’ thoughts and ideas, not by his/her own. Programming gives the designer more control over his/her tools, and therefore over the design process. It allows one to follow the own workflow and think beyond the resources included in the software.

Probably you don’t need to know how to program to be a better designer. But it might help. And it won’t hurt, for sure.



In 40 hours of classes divided in 5 days, we’ll learn the basics of the Python programming language and how to apply it in the generation of 2D graphics (using DrawBot). We’ll also learn the basics of scripting for typeface design and font production with RoboFab & UFO (using RoboFont).

The workshop can be held in English, Spanish and Portuguese. Additional explanations can also be given in German, Dutch and Catalan.


The goal is to understand how code works, and to become a better designer by developing your own tools and taking control of your design process.

Participants should finish the course with the ability to:


No previous programming knowledge is necessary. We’ll start from zero, work hard, and end up writing small useful scripts.

Atendees should bring their own laptop with administrator permissions. Please get in touch if you need any special help.

pyftgd Brasil 2014

examples & exercises

The images above are some examples and exercises used during the workshop. Using DrawBot, programming concepts like iteration, randomness and recursion are made visible. We explore the graphic possibilities of the DrawBot environment: shape primitives, colors, bezier curves, text objects etc.



Python is a high-level interpreted object-oriented programming language created by Guido van Rossum.

Python is used by large and small organisations across many domains, for building web applications, performing mathematical and scientific computation, natural language processing etc.

Python is also widely used as a scripting language in type design and font production tools, being supported in all major font editors.



Drawbot is an application developed by Just van Rossum for teaching Python programming to graphic design students. It allows to learn the basics of programming while getting visual results from the first line of code, making more exciting the process of learning how to think beyond the existing design tools. Its brand new version 3 is developed together with Frederik Berlaen.



RoboFab is a Python library which allows to talk directly to font objects (like glyphs and contours and points etc) while working with fonts and type design. It is developed and maintained by Tal Leming, Just van Rossum and Erik van Blokland.



UFO (Unified Font Object) is an XML-based format for storing font data. Therefore it’s human-readable, cross-platform and cross-application. The UFO format is supported by all major font editors, and is actively mantained and extended.



RoboFont is a flexible font editor written in Python and developed by Frederik Berlaen. It implements the RoboFab object model with some additional functionality, and allows total customisation of its interface. RoboFont can serve as the foundation for your own custom tools, giving your total control over your workflow.



Vanilla is a library developed by Tal Leming which makes it easy to build native Mac dialogs and interfaces with Python. It gives control over many kinds of GUI widgets such as windows, buttons, input fields, sliders etc.

visit vanilla on github


The workshop is taught by Joancarles Casasín and Gustavo Ferreira, two (typo)graphic designers with several years of experience using Python to automate their design process. Together they complement each others’ knowledge and offer advice to participants during the workshop.

Gustavo Ferreira

Gustavo Ferreira is a designer from Rio de Janeiro, Brazil.

He graduated in Graphic and Product Design at the Esdi, in Rio de Janeiro, and continued his studies at the HfG Schwäbisch Gmünd (Communication, Planning and Design) in Germany, and at the KABK (Type&Media) in The Netherlands.

Gustavo is the author of the Elementar font system, a flexible typeface system for screens, and the creator of hTools2, an open-source font production toolkit for RoboFont.

In 2009 he established his one-man digital laboratory Hipertipo, and currently works full-time as independent researcher, typeface designer and visual programmer. Occasionally, he gives type design and programming workshops, and presents his work in conferences.

He also worked for FontShop International as community manager of FontStruct (2009), and for Typotheque as an assistant (2010-2011).


Joancarles Casasín

Homo Sapiens. Accidentally born in Barcelona, consciously F.C. Barcelona fan. Gemini. When he was a kid he wanted to be a butcher or sports journalist, you see. Trained as graphic designer, he draws type and he’s a protoprogrammer of small tools for type design, self-taught and active.

Co-founder of Typerware, he continued drawing letters, numbers and punctuation signs using the name of BaseLab.

Specialized in custom type design, he has drawn paths which are part of about twenty corporate typefaces including Adidas' adiNeue, Vibo,, Kipling, The Born Cultural Center, STM Montreal, Sid Lee, Canada Museum for Human Rights and San Francisco Art Institute, among others.

The year 2012 has been designing the production process and programming the production system from creating tens of fonts from original hadwritings (including Messi's, Rafa Nadal, CR7 and Neymar) for My Star Autograph.

This year has taught regular and occasional sessions always linked to letter shapes in Eina, Bau, UAB and Blanquerna Universities.

He gives talks or workshops wherever is asked, including vermouth discussions where we talk about anything related to the design, which are their favorites.

He has very few prizes. Talks about food when eating. Looks nothing less than he should. Expects the impossible. It rains when he does washing and someone said in public that does better job in the kitchen than with the keyboard and the mouse.



Workshop at D.Collective in Berlin.

From 11th (Monday) to 15th August (Friday) 2014.


Amelie Bonet · Claudia van Schendel · Fabian Harb · Johannes Breyer · Marc Foley · Matt Burvill · Tom Foley · Wei Huang

Barcelona II

Workshop at BAU in Barcelona.

From 28th July (Monday) to 1st August (Friday) 2014.


Marc Panero · Javier González · Juan Ramon Pastor Rovira · Jacobo Merino · Guillaume Ruiz · Alba Rosell · Diego Valle

São Paulo

Workshop at Casa#55 in São Paulo.

From 3rd (Monday) to 7th (Friday) February 2014.



Aline Coutinho · Daniel Sabino · Débora Gonzales · Fernando Dias · Filipe Negrão · Hugo Bler · Marina Chaccur · Rafael de Azevedo · Thaísa Miyahara · Thiago Lacaz


01 02 03 04 05 06

Rio de Janeiro

Workshop at the Escola Superior de Desenho Industrial in Rio de Janeiro.

From 20th (Monday) to 24th (Friday) January 2014.



Arthur Lessa · Cecília Sarquis · Celina Kushnir · Diana Dias · Felipe Casaprima · Julia Garcia · Juliana Moore · Matheus Barbosa · Marcos Leme


01 02 03 04 05 06 07 08 09



Workshop at the Universität für angewandte Kunst in Vienna, Austria.

From 21st (Monday) to 25th (Friday) October 2013.



Francesco Ciccolella · Gerhard Jordan · Jakob Zerbes · Maria Kanzler · Malte Zander · Pia Scharler · Phillip Daun · Sarah Podbelsek · Sebastian Kubik · Valerija Ilcuka


01 02 03 04 05 06 07



Workshop during the Typoweek in Barcelona, Spain.

From the 1st (Monday) to the 5th of July (Friday) 2013.



Albert Creus · José Román Gálvez · Jose Manuel Urós · Juan Luis Blanco · Kalapi Rahul Gajjar · Laura Meseguer · Michele Patané · María Pérez Mena · Noe Blanco · Rosa Maria Martin Sol · Octavio Pardo

get in touch

for general questions and information

Joancarles Casasín (Barcelona)

Gustavo Ferreira (Rio de Janeiro)


A big thanks to Just van Rossum & Erik van Blokland, Tal Leming and Frederik Berlaen for building the tools and libraries we use in the workshop, and for making them available under generous licences.