Switch branches/tags
Nothing to show
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
511 lines (396 sloc) 24 KB
<h1> I think the ideas behind it are beautiful in my mind</h1>
<p>When we came to the Libre Graphics Meeting for the first time in
<strong>2007</strong>, we recorded this rare conversation with George
Williams, developer of FontForge, the editing tool for fonts. We spoke
about Shakespeare, Unicode, the pleasure of making beautiful things, and
<p class="fs">We&#8216;re doing these interviews, as we&#8217;re working
as designers on Open Source</p>
<p class="gw">OK.</p>
<p class="fs">With Open Source tools, as typographers, but often when we
speak to developers they say <em>well, tell me what you want</em>, or they
see our interest in what they are doing as a kind of feature request or
bug report.</p>
<p class="gw">(<em>laughs</em>) Yes.</p>
<p class="fs">Of course it&#8217;s clear that that&#8217;s the way it
often works, but for us it&#8217;s also interesting to think about these
tools as really tools, as ways of shaping work, to try and understand how
they are made or who is making them. It can help us make other things. So
this is actually what we want to talk about. To try and understand a bit
about how you&#8217;ve been working on FontForge. Because that&#8217;s the
project you&#8217;re working on.</p>
<p class="gw">OK.</p>
<p class="fs">And how that connects to other ideas of tools or
tools&#8217; shape that you make. These kind of things. So maybe first
it&#8217;s good to talk about what it is that you make.</p>
<p class="gw">OK. Well&#8230; FontForge is a font editor.</p>
<p>I started playing with fonts when I bought my first Macintosh, back in
the early eighties (actually it was the mid-eighties) and my father
studied textual bibliography and looked at the ways the printing
technology of the Renaissance affected the publication of
Shakespeare&#8217;s works. And what that meant about the errors in the
compositions we see in the copies we have left from the Renaissance. So my
father was very interested in Renaissance printing (and has written books
on this subject) and somehow that meant that I was interested in fonts.
I&#8217;m not quite sure how that connection happened, but it did. So I
was interested in fonts. And there was this program that came out in the
eighties called Fontographer which allowed you to create PostScript
<sup><a href="#b026324c">1</a></sup>
and later TrueType <sup><a href="#26ab0db9">2</a></sup>
fonts. And I loved it. And I made lots of calligraphic fonts with it.</p>
<p class="fs">You were&#8230; like 20?</p>
<p class="gw">I was 20~30. Lets see, I was born in 1959, so in the
eighties I was in my twenties mostly. And then Fontographer was bought up
by Macromedia <sup><a href="#6d7fce9f">3</a></sup>
who had no interest in it. They wanted FreeHand <sup><a
which was done by the same company. So they dropped Fon&#8230; well they
continued to sell Fontographer but they didn&#8217;t update it. And then
OpenType <sup><a href="#1dcca233">5</a></sup>
came out and Unicode <sup><a href="#9ae0ea9e">6</a></sup>
came out and Fontographer didn&#8217;t do this right and it didn&#8217;t
do that right&#8230; And I started making my own fonts, and I used
Fontographer to provide the basis, and I started writing scripts that
would add accents to latin letters and so on. And figured out the Type1
<sup><a href="#84bc3da1">7</a></sup>
format so that I could decompose it &#8212; decompose the Fontographer
output so that I could add my own things to it. And then Fontographer
didn&#8217;t do Type0 <sup><a href="#c30f7472">8</a></sup>
PostScript fonts, so I figured that out.</p>
<p>And about this time, the little company I was working for, a tiny
little startup &#8212; we wrote a web HTML editor &#8212; where you could
sit at your desk and edit pages on the web &#8212; it was before FrontPage
<sup><a href="#7c5aba41">9</a></sup>
, but similar to FrontPage. And we were bought by AOL and then we were
destroyed by AOL, but we had stock options from AOL and they went through
the roof. So&#8230; in the late nineties I quit. And I didn&#8217;t have
to work.</p>
<p>And I went off to Madagascar for a while to see if I wanted to be a
primatologist. And&#8230; I didn&#8217;t. There were too many leaches in
the rainforest.</p>
<p class="fs">(<em>laughs</em>)</p>
<p class="gw">So I came back, and I wrote a font editor instead.</p>
<p>And I put it up on the web and in late 99, and within a month someone
gave me a bug report and was using it.</p>
<p class="fs">(<em>laughs</em>) So it took a month</p>
<p class="gw">Well, you know, there was no advertisement, it was just
there, and someone found it and that was neat!</p>
<p class="fs">(<em>laughs</em>)</p>
<p class="gw">And that was called PfaEdit (because when it began it only
did PostScript) and I&#8230; it just grew. And then &#8212; I don&#8217;t
know &#8212; three, four, five years ago someone pointed out that PfaEdit
wasn&#8217;t really appropriate any more, so I asked various users what
would be a good name and a french guy said <em>How &#8217;bout
FontForge?</em> So. It became FontForge then. &#8212; That&#8217;s a much
better name than PfaEdit.</p>
<p class="fs">(<em>laughs</em>)</p>
<p class="gw">Used it ever since.</p>
<p class="fs">But your background&#8230; you talked about your father
<p class="gw">I grew up in a household where Shakespeare was quoted at me
every day, and he was an English teacher, still is an English teacher,
well, obviously retired but he still occasionally teaches, and has been
working for about 30 years on one of those versions of Shakespeare where
you have two lines of Shakespeare text at the top and the rest of the page
is footnotes. And I went completely differently and became a mathematician
and computer scientist and worked in those areas for almost twenty years
and then went off and tried to do my own things.</p>
<p class="fs">So how did you become a mathematician?</p>
<p class="gw">(<em>pause</em>) I just liked it.</p>
<p class="fs">(<em>laughs</em>) <em>just liked it</em></p>
<p class="gw">I was good at it. I got pushed ahead in high school. It just
never occurred to me that I&#8217;d do anything else &#8212; until I met a
computer. And then I still did maths because I didn&#8217;t think
computers were &#8212; appropriate &#8212; or &#8212; I was a snob. How
about that.</p>
<p class="fs">(<em>laughs</em>)</p>
<p class="gw">But I spent all my time working on computers as I went
through university. And then got my first job at JPL <sup><a
href="#31d30eea">10</a></sup> and shortly thereafter the shuttle <sup><a
blew up and we had some &#8212; some of our experiments &#8212; my
little group &#8212; flew on the shuttle and some of them flew on an
airplane which went over the US took special radar pictures of the US. We
also took special radar pictures of the world from the shuttle (SIR-A,
SIR-B, SIR-C). And then our airplane burned up. And JPL was not a very
happy place to work after that. So then I went to a little company with
some college friends of mine, that they&#8217;d started, created compilers
and debuggers &#8212; do you know what those are?</p>
<p class="fs">Mm-hmm.</p>
<p class="gw">And I worked a long time on that, and then the internet came
out and found another little company with some friends &#8212; and worked
on HTML.</p>
<p class="fs">So when, before we moved, I was curious about, I wanted you
to talk about a Shakespearian influence on your interest in fonts. But on
the other hand you talk about working in a company where you did HTML
editors at the time you actually started, I think. So do you think that is
somehow present&#8230; the web is somehow present in your &#8212; in how
FontForge works? Or how fonts work or how you think about fonts?</p>
<p class="gw">I don&#8217;t think the web had much to do with my &#8212;
well, that&#8217;s not true. OK, when I was working on the HTML editor, at
the time, mid-90s, there weren&#8217;t any Unicode fonts, and so part of
the reason I was writing all these scripts to add accents and get Type0
support in PostScript (which is what you need for a Unicode font) was
because I needed a Unicode font for our HTML product.</p>
<p>To that extent &#8212; yes-s-s-s.</p>
<p>It had an effect. Aside from that, not really.</p>
<p>The web has certainly allowed me to distribute it. Without the web I
doubt anyone would know &#8212; I wouldn&#8217;t have any idea how to
'market' it. If that&#8217;s the right word for something that
doesn&#8217;t get paid for. And certainly the web has provided a
convenient infrastructure to do the documentation in.</p>
<p>But &#8212; as for font design itself &#8212; that (the web) has
certainly not affected me.</p>
<p>Maybe with this creative commons talk that Jon Phillips was giving,
there may be, at some point, a button that you can press to upload your
fonts to the Open Font Library <sup><a href="#2737b492">12</a></sup>
&#8212; but I haven&#8217;t gotten there yet, so I don&#8217;t want to
promise that.</p>
<p class="fs">(<em>laughs</em>) But no, indeed there was &#8211; hearing
you speak about ccHost <sup><a href="#aa6ed9e0">13</a></sup>
&#8211; that&#8217;s the...</p>
<p class="gw">Mm-hmm.</p>
<p class="fs">... Software we are talking about?</p>
<p class="gw">That&#8217;s what the Open Font Library uses, yes.</p>
<p class="fs">Yeah. And a connection to FontForge could change the way,
not only how you distribute fonts, but also how you design fonts.</p>
<p class="gw">It &#8212; it might. I don&#8217;t know &#8230; I
don&#8217;t have a view of the future.</p>
<p>I guess to some extent, obviously font design has been affected by
requiring it (the font) to be displayed on a small screen with a low
resolution display. And there are all kinds of hacks in modern fonts
formats for dealing with low resolution stuff. PostScript calls them hints
and TrueType calls them instructions. They are different approaches to the
same thing. But that, that certainly has affected font design in the last
&#8212; well since PostScript came out.</p>
<p>The web itself? I don&#8217;t think that has yet been a significant
influence on font design, but then &#8212; I&#8217;m no longer a designer.
I discovered I was much better at designing font editors than at designing
<p>So I&#8217;ve given up on that aspect of things.</p>
<p class="fs">Mm-K, because I&#8217;m curious about your making a division
about being a designer, or being a font-editor-maker, because for me that
same definition of maker, these two things might be very related.</p>
<p class="gw">Well they are. And I only got in to doing it because the
tools that were available to me were not adequate. But I have found since
&#8212; that I&#8217;m not adequate at doing the design, there are many
people who are better at designing &#8212; designing fonts, than I am. And
I like to design fonts, but I have made some very ugly ones at times.</p>
<p>And so I think I will &#8212; I&#8217;ll do that occasionally, but
that&#8217;s not where I&#8217;m going to make a mark.</p>
<p>Mostly now &#8212;</p>
<p>I just don&#8217;t have the &#8212;</p>
<p>The font editor itself takes up so much of time that I don&#8217;t have
the energy, the enthusiasm, or anything like that to devote to another
major creative project. And designing a font is a major creative
<p class="fs">Well, can we talk about the major creative project of
designing a font editor? I mean, because I&#8217;m curious how &#8212; how
that is a creative project for you &#8212; how you look at that.</p>
<p class="gw">I look at it as a puzzle. And someone comes up to me with a
problem, and I try and figure out how to solve it. And sometimes I
don&#8217;t want to figure out how to solve it. But I feel I should
anyway. And sometimes I don&#8217;t want to figure out how to solve it and
I don&#8217;t.</p>
<p>That&#8217;s one of the glories of being one&#8217;s own boss, you
don&#8217;t have to do everything that you are asked.</p>
<p>But &#8212; to me &#8212; it&#8217;s just a problem. And it&#8217;s a
fascinating problem. But why is it fascinating? &#8212; That&#8217;s just
me. No one else, probably, finds it fascinating. Or &#8212; the guys who
design FontLab probably also find it fascinating, there are two or three
other font design programs in the world. And they would also find it
<p class="fs">Can you give an example of something you would find
<p class="gw">Well. Dave Crossland who was sitting behind me at the end
was talking to me today &#8212; he sat down &#8212; we started talking
after lunch but on the way up the stairs &#8212; at first he was
complaining that FontForge isn&#8217;t written with a standard widget set.
So it looks different from everything else. And yes, it does. And I
don&#8217;t care. Because this isn&#8217;t something which interests
<p>On the other hand he was saying that what he also wanted was a
paragraph level display of the font. So that as he made changes in the
font he could see a ripple effect in the paragraph.</p>
<p>Now I have a thing which does a word level display, but it
doesn&#8217;t do multi-lines. Or it does multi-lines if you are doing
Japanese (vertical writing mode) but it doesn&#8217;t do multi-columns
then. So it&#8217;s either one vertical row or one horizontal row of
<p>And I do also have a paragraph level display, but it is static. You
bring it up and it takes the current snapshot of the font and it generates
a real TrueType font and pass it off to the X Window <sup><a
rasterizer &#8212; passes it off to the standard Linux toolchain
(FreeType) as that static font and asks that toolchain to display text.</p>
<p>So what he&#8217;s saying is <em>OK, do that, but update the font that
you pass off every now and then.</em> And <em>Yeah, that&#8217;d be
interesting to do. That&#8217;s an interesting project to work on</em>.
Much more interesting than changing my widget set which is just a lot of
work and tedious. Because there is nothing to think about. It&#8217;s just
<em>OK, I&#8217;ve got to use this widget instead of my widget.</em> My
widget does exactly what I want &#8212; because I designed it that way
&#8212; how do I make this thing, which I didn&#8217;t design, which I
don&#8217;t know anything about, do exactly what I want?</p>
<p>And &#8212; that&#8217;s dull. For me.</p>
<p class="fs">Yeah, well.</p>
<p class="gw">Dave, on the other hand, is very hopeful that he&#8217;ll
find some poor fool who&#8217;ll take that on as a wonderful opportunity.
And if he does, that would be great, because not having a standard widget
set is one of the biggest complaints people have. Because FontForge
doesn&#8217;t look like anything else. And people say <em>Well the grey
background is very scary</em>. <sup><a href="#8c9eb686">15</a></sup></p>
<p>I thought it was normal to have a grey background, but uh&#8230;
that&#8217;s why we now have a white background. A white background may be
equally scary, but no one has complained about it yet.</p>
<p class="fs">Try red.</p>
<p class="gw">I tried light blue and cream. One of them I was told gave
people migraines &#8212; I don&#8217;t remember specifically what the
comment was about the light blue, but</p>
<p>(someone from <tt>inkscape</tt>): <em>Make it configurable.</em></p>
<p class="gw">Oh, it is configurable, but no one configures it.</p>
<p>(someone from <tt>inkscape</tt>): <em>Yeah, I know.</em></p>
<p class="gw">So&#8230;</p>
<p class="fs">So, you talked about spending a lot of time on this project,
how does that work, you get up in the morning and start working on
FontForge? Or&#8230;</p>
<p class="gw">Well, I do many things. Some mornings, yes, I get up in the
morning and I start working on FontForge and I cook breakfast in the
background and eat breakfast and work on FontForge. Some mornings I get up
at four in the morning and go out running for a couple of hours and come
back home and sort of collapse and eat a little bit and go off to yoga
class and do a pilates class and do another yoga class and then go to my
pottery class, and go to the farmers&#8217; market and come home and I
haven&#8217;t worked on FontForge at all. So it varies according to the
day. But yes I&#8230;</p>
<p>There was a period where I was spending 40, 50 hours a week working on
FontForge, I don&#8217;t spend that much time on it now, it&#8217;s more
like 20 hours, though the last month I got all excited about the release
that I put out last Tuesday &#8212; today is Sunday. And so I was working
really hard &#8212; probably got up to &#8212; oh &#8212; 30 hours some of
that time. I was really excited about the change. All kinds of things were
different &#8212; I put in Python scripting, which people had been asking
for &#8212; well, I&#8217;m glad I&#8217;ve done it, but it was actually
kind of boring, that bit &#8212; the stuff that came before was &#8212;
<p class="fs">Like?</p>
<p class="gw">I &#8212; are you familiar with the OpenType spec? No. OK.
The way you&#8230; the way you specify ligatures and kerning in OpenType
can be looked at at several different levels. And the way OpenType wants
you to look at it, I felt, was unnecessarily complicated. So I
didn&#8217;t look at it at that level. And then after about 5 years of
looking at it that way I discovered that the reason I thought it was
unnecessarily complicated was because I was only used to Latin or Cyrillic
or Greek text, and for Latin, Cyrillic or Greek, it probably is
unnecessarily complicated. But for Indic scripts it is not unnecessarily
complicated, and you need all those things. So I ripped out all of the
code for specifying strange glyph conversions. You know in Arabic a
character looks different at the beginning of a word and so on? So
that&#8217;s also handled in this area. And I ripped all that stuff out
and redid it in the way that OpenType wanted it to be done and not the
somewhat simplified but not sufficiently powerful method that I&#8217;d
been using up until then.</p>
<p>And that I found, quite fascinating.</p>
<p>And once I&#8217;d done that, it opened up all kinds of little things
that I could change that made the font editor itself bettitor. Better.
<p class="fs">(<em>laughs</em>) That&#8217;s almost Dutch.</p>
<p class="gw">And so after I&#8217;d done that the display I talked about
which could show a word &#8212; I realized that I should redo that to take
advantage of what I had done. And so I redid that, and it&#8217;s now,
it&#8217;s now much more usable. It now shows &#8212; at least I hope it
shows &#8212; more of what people want to see when they are working with
these transformations that apply to the font, there&#8217;s now a list of
the various transformations, that can be enabled at any time and then it
goes through and does them &#8212; whereas before it just sort of &#8212;
well it did kerning, and if you asked it to it would substitute this glyph
so you could see what it would look like &#8212; but it was all sort of
&#8212; half-baked.</p>
<p>It wasn&#8217;t very elegant.</p>
<p>And &#8212; it&#8217;s much better now, and I&#8217;m quite proud of
<p>It may crash &#8212; but it&#8217;s much better.</p>
<p class="fs">So you bring up half-baked, and when we met we talked about
bread baking.</p>
<p class="gw">Oh, yes.</p>
<p class="fs">And the pleasure of handling a material when you know it
well. Maybe make reliable bread &#8212; meaning that it comes out always
the same way, but by your connection to the material you somehow &#8212;
well &#8212; it&#8217;s a pleasure to do that. So, since you&#8217;ve said
that, and we then went on talking about pottery &#8212; how clay might be
of the same &#8212; give the same kind of pleasure. I&#8217;ve been trying
to think &#8212; how does FontForge have that? Does it have that and where
would you find it or how is the&#8230;</p>
<p class="gw">I like to make things. I like to make things that &#8212; in
some strange definition are beautiful. I&#8217;m not sure how that applies
to making bread, but my pots &#8212; I think I make beautiful pots. And I
really like the glazing I put onto them.</p>
<p>It&#8217;s harder to say that a font editor is beautiful. But I think
the ideas behind it are beautiful in my mind &#8212; and in some sense I
find the user interface beautiful. I&#8217;m not sure that anyone else in
the world does, because it&#8217;s what I want, but I think it&#8217;s
<p>And there&#8217;s a satisfaction in making something &#8212; in making
something that&#8217;s beautiful. And there&#8217;s a satisfaction too (as
far as the bread goes) in making something I need. I eat my own bread
&#8212; that&#8217;s all the bread I eat (except for those few days when I
get lazy and don&#8217;t get to make bread that day and have to put it off
until the next day and have to eat something that day &#8212; but that
doesn&#8217;t happen very often).</p>
<p>So it&#8217;s just &#8212; I like making beautiful things.</p>
<p class="fs">OK, thank you.</p>
<p class="gw">Mm-hmm.</p>
<p class="fs">That was very nice, thank you very much.</p>
<p class="gw">Thank you. I have pictures of my pots if you&#8217;d like to
see them?</p>
<p class="fs">Yes, I would very much like to see them.</p>
<li id="b026324c"> PostScript fonts are outline font specifications
developed by Adobe Systems for professional digital typesetting, which
uses PostScript file format to encode font information. </li>
<li id="26ab0db9"> TrueType is an outline font standard developed by Apple
and Microsoft in the late 1980s as a competitor to Adobe's Type 1 fonts
used in PostScript. </li>
<li id="6d7fce9f"> Macromedia was an American graphics, multimedia and web
development software company (1992&#8211;2005). Its rival, Adobe Systems,
acquired Macromedia on December 3, 2005. </li>
<li id="48a24b70"> Adobe FreeHand (formerly Macromedia Freehand) is a
computer application for creating two-dimensional vector graphics. Adobe
discontinued development and updates to the program. </li>
<li id="1dcca233"> OpenType is a format for scalable computer fonts. It
was built on its predecessor TrueType, retaining TrueType's basic
structure and adding many intricate data structures for prescribing
typographic behavior. </li>
<li id="9ae0ea9e"> Unicode is a computing industry standard for the
consistent encoding, representation, and handling of text expressed in
most of the world's writing systems. </li>
<li id="84bc3da1"> Type 1 is a font format for single-byte digital fonts
for use with Adobe Type Manager software and with PostScript printers. It
can support font hinting. It was originally a proprietary specification,
but Adobe released the specification to third-party font manufacturers
provided that all Type 1 fonts adhere to it. </li>
<li id="c30f7472"> Type 0 is a 'composite' font format . A composite font
is composed of a high-level font that references multiple descendent
fonts. </li>
<li id="7c5aba41"> Microsoft FrontPage is a WYSIWYG HTML editor and Web
site administration tool from Microsoft discontinued in December 2006.
<li id="31d30eea"> Jet Propulsion Laboratory </li>
<li id="166d77ac"> The Space Shuttle Challenger disaster occurred on
January 28, 1986, when the NASA Space Shuttle orbiter Challenger broke
apart 73 seconds into its flight, leading to the deaths of its seven crew
members. </li>
<li id="2737b492"> Open Font Library is a project devoted to the hosting
and encouraged creation of fonts released under Free Licenses. </li>
<li id="aa6ed9e0"> ccHost is a web-based media hosting engine upon which
Creative Commons' ccMixter remix web community is built. </li>
<li id="36776432"> The X Window System is a windowing system for bitmap
displays, common on UNIX-like computer operating systems. X provides the
basic framework for a GUI environment: drawing and moving windows on the
display device and interacting with a mouse and keyboard. </li>
<li id="8c9eb686"> It used to have a grey background, now it has a white
background </li>