RoboFab Workshop, NYC

These are live blog notes from the RoboFont workshop by Frederik Berlaen and Andy Clymer, held at Cooper Union in New York City.

Usual disclaimer for live blogging: These are informal notes taken by me, Dave Crossland, at the event, and may or may not be similar to what was said by the people who spoke on these topics. Probably if something here is incorrect it is because I mistyped it or misunderstood, and if anyone wants corrections, they should email me immediately ( – or post a comment. Thanks!


Design and programming. About drawing outside the borders of existing tools and why designers must make their own tools

I have a thing with designing and scripting. For a joke I have long titles in my talks πŸ™‚

I studied grpahic design in ghent; I made a book about typo berlin. We wanted to go to TB, had no money, so we said to the shcool if we make a book of the experience can you pay for us, they said yes πŸ™‚

so we have ag ood documtnation about what TB was like taht year.

After I graduated, I made a FontShop Magazine #9, after complaining to them that their magazine was ugly, and when you complain you do it positively and say you can do something else to improve it. provide a positive story at the end πŸ™‚

we wrote it, did photography, almsot evything, we made a good posted for it, a gradient of photos, cool πŸ™‚

So i worked one year and then studeid at T&M in KABK. This is a crazy place, you’re all in a tiny room in Den Haag, from around the world, with one passion, type.

Its a cool thing, everyone in one room and totally focused on type design. You do calligrpahy with Peter Verhul, Greek with Peter Bilak, Stone Carving with Francois – this is my R that took 3 weeks. You canmeet famous people, like here is Bram de Doos, who did Trinte and Lexicon – one of the best book typefaces in the 20thC.

Poeple like Gerard Unger or Bram will pop by this little room, its great. We did a graduation show, I did Kalliculator.

I have made somet ypefaces that aren’t publiched, Nana is a graduation project, from my time researching contrast forms, and the grey of the text should be similar in the sans and serif.

Theneut, is from an exercise just drwaing the white space. Again, a serif and sans serif verion.

Toni, Toni Bodoni. I went on a honey moon with my wife to Italy, we went to Parma to the Bodoni museum. I made a revival, there are crazy ‘a’ with a hanging ball, a cut off 7….

Herr Grotesk, eveyone has a grotesque. its one of the hardest to draw.

Comb. THis is released, with ourtype. Its a monospace for typesetting forms. it has a lot of form widgets so you could scale the form typogrpahy with the point size of the type easily.

So, Robofont. Its an application to draw, and to edit UFOs. It uses UFO as the file format, this is important.

The history of editors:

* Plotr 82 – I was 1 year old πŸ™‚ It took 30 seconds to render that ‘a’ glyph πŸ™‚
* Pika 87
* Ikarus M
* RoboFog – a wrapper around FOntographer 3. Petr, Just and Erik made a python wrapper arund it to do crazy things with fonts. A lot of poeple usd it before Fontlab.
* FontQ – a special version for FontBureau.
* …

I’m working with Petr. On the left are Petrs tools, on teh right are the main things.

In 2009-07-09 Petr asked me, what a type editor should be like. he pade a prototype, made to draw outlines with an instant pixel preview. But I tstarte fom scratch.

So, UFO is a fodler with XML files inside. Its documented on by Tal Leming.

People in the past had a hard time with binary source files; they can become corrupt and then you can’t do anything. with XML you can dive into the source and change things. you could even make a font with writing XML πŸ˜‰

So there are tools around UFO – early ones were metrics machine from Tal, superpolator from Erik, roundingUFO from me, FontLab via RoboFab, and then there became lots more – Area 51, Kallikulator, Glyphs, FontForge – but there was one missing, a core UFO editor.

So that’s what RoboFont does. It edits glyphs, fontifos, layers – anythign in a UFO.

Its a traditional editor that you cna draw with, but its also a PLATFORM – you can make custom tools on top of it.

So here is a polygon select tool. THis is just like 10 lines of code! So easy.

So you will have lots of custom tools, differing user to user and project to project. Your physical desk will be different when making a display or a text type. So why not your editor?

I’m very strict about this thing: RoboFont should not contain knowledge. The pencil doesn’t know what your drawin will be. This is an important thing. Lots of applicatoins goes automatically, doing things by magic, but type design doesn’tw ork like this. You ened the craft and knoweldge of makinga tyepface, and that differs from project ot project and designaer to designer.

So robofon doesn’t design for you.

This makes it a bigger step up to start working with it.

Everythign is scriptable, so you make nake it in different kind of ways.

Here is my Outliner Extension. I won’t embed it in RoboFont, it knows how I’d lke an outline to be. I don’t want to put it in RoboFont but as an extension it contains knowledge.

So: Scripting?

For a lot of designers, they say, ‘well, i dont want to do that stuff’

But I highly encoruage you to learn it. Its FAST.

With 4 lines of code I added 20 units to each glyph. This is 0.3 seconds for 700 glyphs. You can’t beat that by hand and have no mistakes.

font = CurrentFont()
for glyph in font:
glyph.rightMargin += 20
glyph.leftMargin += 20

Scripting is baout time for yourself. if you think about the timeline of a type prpoecjt, the nice part is the designing and the rpoduction time isnt so fun. so with scriptipng you can make yoruself more time for the nice part by automating produciton.

Another thing for scirptipng: All tools are limited. you can’t paint with a pencil πŸ™‚

here is erik’s image: the idea space, the whole workd and the sea. you have an island, the tool space, the land that is known. Then ther are the ideas in the sea you cant rach. but if you make our own tools, you can explore the whole space. the oceans are vast.

Same sotry: idea space. you haev apps, the CS classics and a pencil. you get skills using them, but there are still lots of things the tools cant handle. wat do you do? make new tools. designers should be inventors.

This is Petr’s telling: this line is the time to make a tyepface. these are the elemnts you must consider. you split things in pieces? but everythign floats around and one change effects the decisions for the other elemtns. in the real world it looks like this, a few things with lots of time at the start, and then everythign else quickly at the end. scriptipng helps with the rush at the end.

So thats the 3 telligns of the same story. So you make Tools. I made tools.

* RoudningUFO: I wrote it with Erik, he was working on FF Unit Soft at the time, and he needed to add round corrners. you can do it by hand, but the UNit fmaily was 16 weights with 1,600 glyphs per weight. So we made a tool with sliders to adjust the corners to be round. This is one way to make round corners. there are other ways. You can toggle inside and outside corners, you can use it to make inktraps. so with the tool devleoper, ‘it just works’ – but the corners are designed by erik and me. there are a lot of design decisions in there.

I had a job to add small caps to an existing fmaily, again a large one, so I made ufoStretch. this has lots of sliders to control the shapes, usual transforms for rotation, slant, x and y repositioning, x and y scaling… and there is a ‘beam’ to measure along the x direction, so you can make stretches that result in the correct stem widths, for example.

I graduated from KABK without a typeface, which was very unusual. Instead I made a tool to investigate contrast. I researched calligraphy, wriitng with pointed and broadnib pens, thought about what a skeleton line is.

There is a broadnib pen that creastes contrast with translation; there is a pointy pen with contrast from pressure. So I made 2 typefaces with a similar greyness color, using the 2 kinds of contrast. I found the x height of the pointed pen type should be a little smaller.

I made like 1,000 typeface out of it, the whole thing is the volume of it. I made an exhivition with it, with Fred Smeijers.

This was 8 years ago. The UI is outdated πŸ™‚ There is a window to edit the skeleton. There’s a palette with the pen attributes. And a nice thing, you can animate the pen stroke.

Hinting. RoboFont doesn’t support hinting at all. One main reason is that UFO spec doesn’t have hinting in the UFO format. Also, its something everyone is now a hinting expert, and I’m not, I don’t do hinting. I only know one guy who can really do it, David Berlow, who really knows assembly programming. I did some cool experiments with hinting; this is Georgia’s 9px outline after hinting adjustments are applied to it! A beauty πŸ™‚

So you can have a pixel preview of the font, as you modify the outline you can see the pixel behind being filled more.


Q: Robofont able to make metrics? I heard it was better to use Metrics Machine?

Frederik: RF can do metrics, MM is for kerning, you can do kerning in RoboFont if you need to. I suggest you buy MM; the kerning support in RF is simple as I didn’t want to spend much time on it.

Andy: We’ll walk you through the entire process of exporting from FontLab, and you shouldn’t need to go back to FontLab at any point in the process. Every tool does thing differently. H&FJ used FontLab in the past, it was good, we weren’t sure about some of its automated things, so we were happy with RoboFont, which we could make our own workflow from. Before RoboFont, we worked in FLab, we liked Metrics Machine, so we drew in FontLab, exported to UFO, did kerning in MM, and imported back in. MM is really graet for kerning. Now that the UFO is the master production source format, you’re in the right place to use all these tools directly. You can use MM, or ufoStretch to make small caps… and at any moment you can go back to FontLab if you want to. MM is another hting to buy, sure, but the idea of having tools specific for a task is a good one.

Frederik: Right, I’ve seen students drawing type in InDesign with the pen tool there! The Adobe apps are huge and do everything.

Nick Shinn: Also, you can have all the tools opening the same file at the same time, and they will all update as the file is saved from one application to the next.

Frederik: So it ends up feeling like one big application πŸ™‚

Q: If you draw in Illustraotr, can you import seamlessly?

Frederik: well, if you just have outlines, yes, but colors and strokes and so on will not import. We’ll show all this.

Q: Importing to FontLab, there are distortions.

Frederik: There is a way to set up the illustrator file. There are no decimals for points in fontlab, but you can have them in illustrator; if you copy and paste, the points are quantized and there are then rounding errors everywhere. font formats are from the past, when computers were slower, so floating numbers would mean printing a page would be slow. you can also make the UPM bigger. but if you ensure illustrator is using integrer points, on a 1,000 cavnas, its easy.

Andy: If you have UFOs, great. We’ll start with folks with VFBs and exporting and importing UFOs.

Frederik: This is the Elementar VFB, a project I did with Gustavo Ferrier, a Brasilian friend who studied at KABK.

Andy: So open a VFB, go to View, Toolbar, Macro Panel,

Andy: Tal made UFO Central which can also be helpful with all this stuff.

Andy: So you can have an error if you used FontLab’s Class Based Kerning. If you use CBK, the group names are named in a non standard way. You can find the name of the group in RoboFont, Python menu, Output Window. RoboFont thinks the class name is a glyph name.

Frederik: As we said earlier, you can open up the UFO and fix things by hand! So open groups.plist file and edit it by hand to fix this πŸ™‚

Andy: This is a key thing about UFO; the key data is at your fingertips. if you want to go in there and see what is in the file, you can do it! πŸ™‚ When you save the file, and its open in RoboFont already, RF will notice the file was updated, and allows you to choose what to do.

Frederik: Its so important that in 200 years, you will be able to read and write your data. We look at how peopel did things 200 years ago and so UFO is a way to preserve your data and your work. Its readable for you and the machine. UFO can also easily fit into a version control system. So lets look at the “A” glyph in the editor and the glyph file in a text editor. You can see if I edit the XML, the editor notices and can update. So this is key, you can edit your own data. This is so important, ebcause this data is something you work on for years, something you sell to your clients.

Q: Directions for doing this? How do you identify what to do?

Andy: well it doent make much sense to write XML by hand from scratch, but if you want to edit data in this format, its easy to understand what the data is.


Q: Can you re-order the glyphs in the the font view?

Frederik: So the power of RoboFont is that the answer will always be ‘yes you can’ – its a platform you can extend to do anything. Encoding files are old. Encoding means theres a portion of a larger character set, needed for PS fonts with a 250 glyph limit. There is a sort button, 3 options, smart sort – really smart! πŸ˜‰ – that sorts based on unicode blocks, names with suffixes, etc. it runs ok most of the time. I like all the A and accents together. others like more of a Latin 1 style order. You can sort based on a character set. I’ll explain how to set these character sets. And the Custom option, shows that Smart Sort is just a set of presets for these.

Q: What about sorting PUA encoded glyphs?

Andy: I don’t recommend that, but you can sort by glyph names. What happens when you have more glyphs than in the PUA space? πŸ™‚

Frederik: So then there is a list display, and you can sort by any of the cols, including mark. so you can mark glyphs with colors that mean something in that moment, and sort by that mark.


Frederik: You can see your groups in a ice cube tray style list, and also stacked – which is really nice for looking at accents. you can see if there is consistency in the designs. You can drag and drop glyphs from the table into the group area.

Andy: Groups is important for doing anything class based; its not effecting the font design or display directly, its for your design process.

Frederik: you can use groups for anything where things are related. OT features and kerning are obvious; you can do anything custom to your workflow. You could make a spacing tool.

Q: Can you convert a smart set into a group?

Frederik: I didnt know Smart Sets yet. MM has a icon if you have it installed, if not, you get a simple kerning pane. This is ONLY for kerning, not spacing. you can add a group for kerning; those groups start with an @ sign. So lets tick ‘prefer group kerning’ and make an @A group, and add all the A accent glyphs. Then you can do group kerning, set the First to the @A group, the second to V, and value -90. The preview then displays every item in the group. If the ‘prefer group kerning’ box is unticked, it creates an exception to the group.

Q: Can you import strings for proofing?

Andy: No. Its something MM is good at. Thats the tool to do kerning with.

Andy: MM is made for tweaking all the kerning with speed and dexterity, with a great keybaord UI.

Frederik: I dont want to rewrite MM, it would be a waste of time. I encourage you to use MM to do kerning πŸ™‚

Space Center

Frederik: You can select a glyph here, drag the black of a shape to move it. you can hold Alt and move up and down too, and Cmd you can move x and y. Arrow keys will add/subtract to the right margin, with alt down it will edit the left margin. with Cmd up and down will walk through the character set. With Alt-Cmd it will shift by 10x, and Alt-Cmd-Ctrl by 100x. You can set values in the number table. You can (like a spreadsheet) type a program, like =a and then it will make the value the same as the a’s value. This is a one time thing, its not a link. You can say =a+b/2 and so on. You can go quickly to make sure the s is the same as the h or whatever. with Alt you can move the focus around the table.

Frederik: You have at the top the main wide test string, and to the left and right there are glyphs you can mix into those, it will loop over the strings. You can zoom in and you can scroll with ALt key and the mouse wheel, or Shift + and – to step up and down the size. If you enter /? then that is a symbol for the currently selected glyph in the Font View.

Frederik: And then there’s the options cog, with view modes. The ‘x height cut’ mode is a favourite of mine, really helpful for beginners to see the way spacing works with stem rhythm; the outline mode is also useful like this. The beam measure is SUPER useful; its from the left edge of the glyph bounding box until whereever the beam hits. So if you have a serif typeface, you might want to measure stem to stem and not the edge of the serif.

Q: How can you set the beam to the extreme point of an O?

Andy: without the beam will tell you that point. So round shapes you will space without the beam.

Frederik: So here is a key thing about the Space Center: **The numbers are not important.** The visual forms matter. And the numbers with beam mode and so on are not even the numbers in the UFO πŸ™‚

Frederik: You can hide the control glyphs from the metrics table too.

Q: Can you preview OT features?

Frederik: No, I don’t compile and analyse the OT feature file. The cog Suffix menu appraoches this though, so you can add the suffix to the glyph names entered in the main glyph input box.

Frederik: There is a rare ‘auto’ item on the suffix menu, which will find the suffix of the glyph selected in the Font View and apply that to the string.

Frederik: You can enter /glyphname to enter a glyph by name. I never do that, I use drang and drop to drop a glyph from Font View into the Space Center. you can drag with Alt to APPEND the selected glyphs to the string. otherwise it will replace the string with the selection. Smart Sets (that I’ll explain later) can make it easy to make sets of glyphs to space with.

Font Info

Frederik: All the General fields end up in the binary file except the Note area.

Andy: You have access to everything that will be in the OTF in the OpenType area. In FontLab, it was mixed and unclear what would end up in the final binary. We’ll demo setting naming up in common ways.


This allows you to write Adobe Feature File syntax.

Groups and Sets

Frederik: Smart Sets are VISUALISATIONS of things. The sets are preferences of the user; it won’t end up in the UFO file. Groups are DATA that are stored in the UFO file.

Glyph Windows

You can preview with the ` key like FontLab

If you double click a point to make it a smooth point.

Click a point and hold Alt and drag out a handle; if you hold Alt on a line segment you can bend it into a curve.

ALl smoothness is on the command key. You can hold command to move a point without moving the BCPs, and shift to select more than one on curve point and move them together. If you hold Cmd+Opt on a BCP that will move them in mirror.

With Shift you can select 2 BCPs and move them together. Marquee will secect only on curve points, but with Opt it will select OFF curves only.

Command and arrow keys move by 10x units, Cmd+Shift arrows is 100x

If you have a BCP on an angle, if you hold Cmd it will maintain the angle so you just change the length of the BCP

With the select tool, if you hold Cmd on its own, and click, it will select the whole of the nearest contour – ZZZZZZZing

With the pen tool, when you double click it closes the path with a line segment.

Slice, it will add points to an open contour.

Measure, if you hold Alt it will place guidelines that are retained. To move them go to the Measure tool and the first point.

Display dropdown, Rulers, and you can drag down guides. Hold Alt to rotate the guide. Right click the guide to make it global (seen in all glyphs), change how magnetic the guide is.

The 5th button is Remove Overlap. Everyone knows the paths are filled or not based on direction?

You can add layers; the UFO spec has no spaces in layer names so RF converts them to underscores. If with select you double click an element it will switch to that element’s layer.

The view drop down, you can turn on and off various canvas widgets. The bitmap is live, so the bitmap will change based on the points positions. It uses the Apple rasteriser, and it previews the bitmaps at various sizes to the left side of the glyph.

Zooming has the FontLab keys – z and x

The Inspector Window

Like other Apple applications, there is an inspector panel for adjusting the metadata of the thing. So theres a glyph inspector, where you can see the data behind many of the things we’ve just interacted with and change them more precisely.

The Transform section is useful. It has **alignment** tools. It can snap all points to say a unit of 5; John Downer (?) and Albert Jan Van Pool (?) do this. Note the cog, you can effect if the way the transform works.

Importing Images

Drag and drop the image. Right click to adjust it.

Nice feature: Set Scale. Click 3 times. first, add 0,0 point, second, add baseline, third, add ascender height – and it scales the image to the glyph’s canvas!

There are no tracing options. I can draw faster than the computer can trace and clean up. There is an extension for tracing.


Draw With: Quaddratic is probably only for David Berlow πŸ™‚

Hotkeys. j is a nice one, jump to glyph.

Misc: To show off how flexible the RoboFont system is, you can turn on single window mode.

Q: What is FDK?

Frederik: Its been around many years, in a freeware set of tools for dealing with opentype fonts. the main thing is compiling feature files.

Dave: how frustrating is that its not open soruce?

Frederik: i have the source code, its not that useful for me as its all in C. Read is quick with bug fixes when bugs are found.

Q: where are the shape primitives? circle, square?

Frederik: That’s knowledge so its not there. There is a Shape extension. You can see this adds a new toolbar button!

* * *

Day 2

Frederik: This is a research project from a student in ECAL, a research into old type design software applications. Here is one from 1964! Machines for making type, visualising type. Rasterising… a physical spline system for designing airplanes, ships, cars, which the Bezier curves is a digital simulation of.

Andy: Bezier was working for Citroen, the car industry, Peter Karow was in Germany in the ship industry (?)


Frederik: So online there is “The Complete RoboFont Guide” and its 180 pages printed.

Q: How often updated?

Frederik: Errrr Its pretty up to date πŸ™‚ When the RoboFont application is updated, the documentation is updated. I don’t want to make a book or PDF of it, I want a **single source for documentation** and this is it. There is a version 0.9 and the documentation will never be complete so it stays there πŸ˜‰


There is also a link to the extensions page, and you can download them from GitHub. Most open source stuff is there, I advise you to use Github if you wish to share code. Hmm its down at the moment. GitHub is a repository where you can do version control, and its free of charge when you do open source.

When you get my git repo, you get a folder with some extensions in it.

OpenType Features

Here’s an example FEA

feature ss01 {
sub A by A.ss01;

feature kern {
pos A B -100;

You can make groups 4 ways, and I don’t want to search you feature file for groups. There is a groups2faetures extension that will list all your groups and converts them to a nice FEA syntax group.

You can set the group globally (at the top of the FEA file) and also per feature.

Layer Preview Extension

Outliner: This is live. It goes weird if the angle of the BCPs is more than 90′ but if yo draw nicely as I do, it works well – and the outlines will be interpolatable. Expand just applies to the current glyph.

Pixel Tools is a nice one, for making 0x00A0 style fonts


Send to twitter is fun

TypeCooker is an application that erik wrote for teaching.


FontBureau publishes some stuff as open source, its nice when companies do this.

There is a nice one to show the current mouse pointer co ordinates.


ToDo: Nice because it saves the ToDo items inside the UFO

**Mechanic: THis is great, it has most extensions that are available, it detects updates, and you can uninstall from it too. It does the whole download and install process for you.**

Generating Fonts

Andy: So when you work with the FEA files, you’re close to the machine, it won’t do anything for you. When I go to generate font, in Flab or RF, I’ll do the same thing. I might have done changes in various way, to glyphs or font info or FEA…. and I’ll go to the feature preview extension.

In Font Info, PS section, if you remove the Hinting section values (Flab had another name for them, Primary and Secondary… but the names in RF are based on the specification, so tarts why the name may be different to Flab if you’re used to that)

In the Generate dialog, there’s a ‘Use MacRoman’ checkbox, that sorts the glyph order based on the classic MacRoman encoding.

Frederik: There are Windows apps that run on XP that require the first 256 characters to be MacRoman. I’ve had customers complain about this.

Andy: When you generate, you may go to look for the file and not find one. In that case you can see a output window – go to Prefrences, Python, Script Editor, and tick ‘Pop up output window’ – and see what the fatal error was.

Q: Multimple Master?

Frederik: There were 2 rpgorams that supported it, an old version of InDeisgn (2?) and PageMaker. Users couldn’t make use of it.

Andy: So it turned into a tool that type designers used, to make separate styles. But RF isn’t set up for the MM model. We use superpolator for interpolating UFOs.

Andy: So there’s also a Test Install command. If you do a test install it will copy the font file to the system font folder while the file is open in the editor. There are prefs for this in the Misc area.

Frederik: you can choose in Font Info, RoboFont, you can choose generate options. When generating TT fonts, you may want more precision on the points or on the curves. If you are generating TTF font files from a PS outlines (typical) then you’ll want to review this.

Q: can you have both curve types in the same font?

Frederik: No, not in RF.



Frederik: This is a little freeware tool, by Just van Rossum, I’ve been working with him on a new version, the icon is made by Andy – with Drawbot! – and the icon animates!!

So its easy to write code to draw things.

draw(10, 10, 100, 100)

You see the direct relation of the code and the drawing. Lets colour it red:

fil(1, 0, 0)
draw(10, 10, 100, 100)

Now add an oval

fil(1, 0, 0)
draw(10, 10, 100, 100)
oval(10, 120, 100, 100)
text(“hello world!” has a lot of tutorial scripts that you can learn with.

I learned Python with DrawBot. You then jump to RoboFont and making scripts. Most of the things Gustavo does with hTools are simple.

You can get the current font with this line

font = CurrentFont()

Then you can change the font info like this

font = CurrentFont() = “Hello World”

And in the UI you now see that it has been updated!

Andy: So if you write your own script, you might not have it in that double click extension format. So if you go to Prefs, Python, you can set a folder to load scripts from, and hotkeys for running them.

Frederik: So the key to scripting fonts with Python is theRoboFab object model. Here’s the website, here’s the object map, here’s the page that documents the glyph object.

[Python Basics]

Frederik: So how to create new UI? Lets make a rotate button that is just like the rotate button in the Inspector panel. Its just 15 lines:

from vanilla import *

class MyWindow:

def __init__(self):
self.w = Window((300,300))
self.w.button = Button((10,10,100,22), “Rotate me”, callback=self.buttonCallback)

def buttonCallback(self, sender):
for glyph in font:


Andy: Scripts are normally a 1,000 lines that do things that would normally require a lot of clicks, and you can save yourself a lot of time.


DC Q: How do the character sets work?

Frederik: We use a glyph name list and AGL for finding the unicode number values; you can use the | syntax from the add glyph. Also in fontTools.misc. somewhere there is a dict and you can add your mappings to that; set that as a startup script and then it will work.

Frederik: Prepolator is a tool for checking UFOs ready for interpolation, without errors. Its a very cool application. It also has a watcher, so you can edit the UFO in RF and in PP back and forth, and each will update the data when its changed in the other. It has a good thing for showing lines connecting the matching points.

Frederik: Superpolator. This is the tool for actually DOING the applications. It also was a watcher. So you see you have the UFO file as the core of the workflow, and you have the apps all using the UFO natively and **live** – all these tools use the same read and write library for dealing with the UFO data, so you know it will always happen in the same way, reliably.

**I have had UFOs from FontForge, where some languages use a comma instead of a period


DC Q: What are the libraries?

Andy: Well we covered RoboFab a lot. Vanilla is just for UIs. DefCon is from Tal. it uses UFOlib from Robofab, its a faster way to read and write UFOs. Mojo is the stuff RF can to extra that isn’t in other libraries. This is an easier way to talk to UI stuff. Its documented in – there is an accordion view, a HTML view, different multiline views, and so on.


Frederik: Its not about using this tool or that tool, its about your design and your process. Today we live in a world where you learn Graphic Design and you must learn some programming for making a wbesite. There’s no different to making a website or an extension for RoboFont. Well, the language, its a detail. If you learn JS you can easily learn Python. They are forgiving in writing, its not like C. I learned programming in 2005/2006, at T&M at KABK. So anyone could write all this in 7 years – or less!

This entry was posted in Uncategorized. Bookmark the permalink. Post a comment or leave a trackback: Trackback URL.

Post a Comment

Your email is never published nor shared. Required fields are marked *

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    Markdown is turned off in code blocks:
     [This is not a link](

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>


  • What we do

    Understanding Fonts is a type design training business. If you'd like an event in your college or city, let Dave know: