FontLab "Expand Strokes": parameter missing's picture

FontLab has a feature called "Expand Strokes" which simulates the movement of a calligraphic pen (brush) over a given curve (path). The prime parameters are restricted to the pen's width, its angle and thickness (which FL calls "Roundness"); and then there are "Join", "Cap" and "Body".

One important parameter is missing, though. Namely the relative position of the pen (brush) on/along (!) the path. By default that position is the centre of the brush (both Width and Roundness, I guess). Not so in FontLab's "Make Parallel Path", where you have three options ("Relative Position"): Left, Right, Both. The latter equals the default setting of the "Expand Strokes" feature.

Now, suppose you draw a curve which has to be the outer (Right) contour of a shape. Along this path you want a parallel path, not a linear one (parallel in the strict sense), but one according to the parameters of a given pen (width, angle and thickness).

The "Make Parallel Path" feature won't do the trick, because you can't set the pen's parameters. The "Expand Strokes" feature will neither, because you cannot set the relative position of the pen (brush).

I am looking for a workaround. I use FontLab 4.6.0 demo version. I looked into the User's Manual for FontLab Studio 5 and there is no change.

twardoch's picture

We have included your suggestion in your feature request list.

Adam Twardoch
Fontlab Ltd.'s picture

Thanks. In the mean time: is there really no workaround that does it? This would be really convenient.

I have been trying to set up the right algorithm for it, but as I don’t program, it is not going to help me further.

I stress the importance of this. Not only, it would be a very nice application of Gerrit Noorzij's theories (The Stroke of the Pen), but it would add *a lot* to the production of type. As a matter of fact, I quite don't understand how devising type is possible at all, without this.

William Berkson's picture

>I quite don’t understand how devising type is possible at all, without this.

As explained in 'Printers Type in the 20th Century' Knuth's 'metafont' effort to define fonts in terms of a line plus rules for expansion was a failure, and the approach of directly designing outlines has succeeded.

Though type has an 'underlying force' of the pen in it, to quote van Krimpen, almost all roman typefaces from Jenson on cannot be written with a pen. Something approximating them can be, but the departure from the pen is critical to type, in particular to achieving the even color that improves readability over handwriting.

For these reasons, perhaps, my impression is that most type designers do not start with lines, but rather with outlines, and then 'sculpt' these until they are satisfied with them. I don't mean to say that there is anything wrong with starting with lines, but it is not necessary, and later the sculpting process I think is critical.'s picture

Right. Now you're at the core of what I am aiming at.

It's not because Southall says so (that METAFONT was a failure—to him), that this is sacred truth. His book devotes only eighteen pages to professor Knuth's (and Hermann Zapf's) endeavours, whereas Knuth wrote four volumes. Moreover, the relevant chapter (18) is very incomplete and vague, apart from the fact that it is by far outdated and doesn't mention recent research. Southall deemed type design by computer programming to be a failure, already back in 1985, in an embryonic Stanford report.

Things have changed ever since. At the moment a Polish group of programmers is successfully working on the next-generation metafont, using the vector based (PostScript) METAPOST, so as to render Type 1 fonts, rather than Knuth's original bitmap fonts. There are other ventures too.

I strongly support the idea of parameterisable, programmed fonts. Much contrary to the perhaps prevailing practice of tediously sculpting outlines. This is archaic and certainly will not last.

I do not claim that the stroke of the pen is of primordial importance to type. In fact, I disagree with Knuth's approach of using the pen as a modifier for the glyph shapes. I am no supporter of all too calligraphic/chirographic type. But because contrast, the relation from thick to thin strokes, is directly deducted from the pen (either broad nib or split pen), it remains crucial. Likely some optical and other modifications will have to be devised by the type designer still, but he would benefit enormously if his skeleton strokes would be shaped by a virtual pen, of which he could alter the parameters, in advance.'s picture

BTW, my icon on the left (our printer's device) was drawn using METAFONT.

William Berkson's picture

If I read you rightly, think you are conceding to some extent Southall's point, but saying that it is possible to revive the idea in an improved way and make it practical. I am skeptical, but if you and others can make it work, more power to you.

I am not any authority, but in my opinion the fact that in its formative period type was sculpted rather than written, and continued to be sculpted for 500 years shows in our concept of what good type is. Though I have great admiration for Noordzij, I don't agree with him that punchcutting is irrelevant to understanding letters.

It is not signs of the tool in old type that is crucial, but rather that by sculpting they were able to violate the rules of the pen in order to produce type that conformed better to the 'rules of the eye' than any handwriting.

If I remember Southall rightly (I read a library copy), his account was that in order to adjust for optical effects, eg the need to thin strokes at joins--and a hundred others--it became so complex to program the effects that it was more efficient just to sculpt.

My philosophy is 'let a hundred flowers bloom', so I will be happy if you can make this approach work. But as I say, I am skeptical.

As an example, to my eyes your printer's device does not look satisfactory from a typographic point of view. It lacks balance and good color in my opinion. For instance, for the strokes in a + sign to look balanced the vertical has to be thicker than the horizontal. But in your icon, the vertical cross in the middle has the vertical look considerably thinner. This not only makes the middle weaker, but also goes against the 'logic' of the roman capitals. Of course, I am looking at it on screen, my assessment might be unfair.

By comparison, at left in my icon is my version of Caslon's italic ampersand in his Pica II type. It looks very pen drawn, but I doubt very much if you could draw it with one pen moving continuously, even with complex rotations. Of course with the combination of any mathematically possible rotation and expansion of a moving front you can describe any closed two dimensional shape. But when it gets so complex, it seems that programming it is much more trouble than just drawing it. The key problem is that the 'rules of the eye' as regards color and balance and harmony with other letters are complex and not fully understood. Hence sculpting and looking, and letting the eye be the arbiter still seems to be the most efficient way, as pains-taking and time-consuming as it is.

The ampersand is 90% Caslon (including with Caslon whomever he was imitating!) so I am not claiming a lot of credit, but I do think it looks more satisfactorily typographic than your icon. And this is a reflection of the by then 200 years of punch-cutting letters, with each person drawing on the achievements of his predecessors.

dezcom's picture

The part of type design which you refer to--making the skeleton--is the easiest and fastest part of the job. The "some degree of sculpting" is what takes the time in drawing the outlines. Type design as a mass-production effort seems pointless to me. There just isn't the need for that much volume. That is not to say that you should not pursue your idea. By all means, do it. But "devising type without this" is certainly possible as well as desirable, unless we want to bury ourselves in only the archaic practice of the broad-nibbed pen. This is not the time to shut out non chirographic possibilities, but the time to embrace them. We should be at least as open to non-calligraphic forms as we are to your theory. It is clearly possible to design type either way and there is no point in building a fence around perceived methods of today and yesterday. There just might be something better out there. My guess would be that scratching in the dirt with a stick may have been the first writing method. We did not stop at the dictates of the stick in mud then, why should we stop at the dictates of the broad-pen on paper now?

ChrisL's picture

William — Though you're viewing my device at a very small scale/resolution, on screen, you're quite right about its fallacies (balance, colour). But we programmed (!) it a few months ago, during our first tray-outs with METAFONT. It was clear from the start that METAFONT is unpractical (e.g. by lack of a proper GUI, you have to rely on the good old command line) and that its concepts are inefficient to design type properly. I am looking forward to learn more about MetaType1 (the Polish project I mentioned), which uses other concepts.

The optical corrections you are rehearsing, can be programmed as well. The "rules of the eye" sure are governed by logic; we do not perceive things randomly. If we can analyse this logic, we can program it. I guess the translation and expansion of a moving front (an elliptic pen or yet something different), determining the transitions from thick to thin, is only part of that, while our perception of what good letter shapes are to be, has become used to those.

ChrisL — The fact that drawing the skeleton is the "easiest and fastest part of the job" implicitly proves my point. Why should we do that over and over again? Apart from probably lots of alternate shapes per character, these skeletons are an unchangeable given (e.g. an uppercase E ought to consist out of one vertical stem, with three cross bars on its right side). They build the core of each and every typeface and are the sole reason why we can read and recognise glyphs, whatever the outer shapes in which they are dressed. Now, couldn't we just build a library of skeletons (some sort of extended Unicode), feed those to a type processor and extract out of it, according to the style parameters of our choice, the typeface we want, just on the fly?

Yes, perhaps programming it all is more complex than just going ahead and sculpting. Time and again. But once this huge task has been done, type design will be a piece of cake. No more laboriously sculpting contour curves. I agree that there is no need for mass production. But then again, the volume is quite big already—which Bodoni am I to use? However, once one decided to go with one particular face, then it becomes clear that there is not enough: no opticals at each and every instance of possible sizes, no Cyrillics or IPA in the glyph palette and so on. And then there is the x-height that I need to be a little larger for this particular job, and the descenders in the bottom line have to be just a bit longer. Just change the value of the proper parameters, and there I am, with the exact font I needed, complete with all those hundreds of glyphs.

Now back to sculpting. I am progressing too slowly.
Adam — FontLab "Expand Strokes": really no workaround?

William Berkson's picture

>If we can analyse this logic, we can program it.

I have a feeling that you have no idea how difficult it is to analyse and pin down visual logic.

Even ideal spacing between letters has never been programmed with full success--and that's just one variable. Design of letters is way more complicated. For example, how you are going know visual logic so well as to program how the cross bar on the A should differ in height and thickness from the H? And how it should vary with the width of the A, the contrast, the degree of taper, the style of serifs? That's just one of thousands of decisions, and only a few rules, such as about overshoots--are known--and these can have exceptions and are debatable.

dezcom's picture

"feed those to a type processor and extract out of it"

Besides the fact that you totally missed my point, good luck marketing your type processer. I am sure it will be a big success.


Goran Soderstrom's picture

Yes, perhaps programming it all is more complex than just going ahead and sculpting. Time and again. But once this huge task has been done, type design will be a piece of cake.

Haha ;-) Good luck!

enne_son's picture

[Ludwig] "the right algorithm for it"

I wonder if the Vinyas code would be of help. It's an old software and I don't have a copy. Not sure if it still exists. But Vinyas implements (I believe) "Type A.3" of Laxima Parida's 'Sweep Rule Variations', shown here along side of Gerrit Noordzij's triad of translation, rotation and expansion; and described here. I think Type A.3 is the one you're after. (There are other nice ones too.)

But, in line with Bill and Chris's comments, read the cautionary notes on the final page of Noordzij's 1991 RIDT contribution The Shape of the Stroke available (by me) here.

Peter Enneson's picture

Peter — Thanks a lot for the Parida article. That's one I didn't knew of. Really interesting!

Theseare the Polish researchers I mentioned; there is a Wiki on their project as wel, here. As you can see, they succeeded in so far that they developed three font families already.

William, Chris and Goran — The fonts generated by MetaType are offered free of charge to the public. Not much marketing needed, isn't it?

In the days that Expert Sets were introduced, I guess, there must have been sceptics like you, who laughed at the idea that within a decade they would be abolished by magic OpenType fonts that would carry a vast amount of glyphs, so much that even the fastest processors of the day would become obsolete, added to the inconceivable miracle of automated contextual glyph substitutions.

Of course I have been exaggerating. I depicted the whole idea as a caricature, since it is very unlikely that we will have such a fully operational piece of software soon. There is yet a long way to go, and in the end, manual editing will be necessary still. But then again, are you, contour sculptors, using Multiple Master technology, interpolations, transformation operators? So, what's the big deal?

twardoch's picture


unfortunately, to me, the MetaType1 project by my good friends Janusz Nowacki and Boguslaw Jackowski is a perfect confirmation of Southall's assertions. Nowacki and Jackowski attempted to revive Adam Poltawski's pre-WWII Polish "Antykwa Poltawskiego" typeface using a parametric approach. IMHO, they failed massively, and ended up with a catastrophically hideous bold style which bears no resemblance to Poltawski's original. When I inquired them why the bold is so hideous, they had to admit that it was too difficult for them to come up with parameters that could effectively describe both the regular and the bold in a pleasant way. Nowacki and Jackowski are really smart people, Jackowski a brilliant mathematician and a great mind. I read it as: if they failed (and so has one of the brightest minds alive, Knuth, because Computer Modern is simply hideous) then I think it is sufficient enough of a proof that the concept has massive flaws.

As for the FLS5 workaround, I can't think of any. But you might want to take a look at the skeletal strokes technology in Microsoft Expression Graphic Designer ( ). Before the application went to Microsoft, it was quite popular among illustrators (it was known simply as "Expression", and before that, "Fractal Design Expression"). The skeletal strokes are vector-based parametric strokes that you can control using a graphic tablet, and also reuse. You can then export the results as EPS and import them into FontLab Studio.

I'd be curious to hear of your findings.

Adam Twardoch
Fontlab Ltd.

dezcom's picture

Thanks for posting the Noordzij article. I found it a good companion to his other books. It shows the thought process of the man at work.


William Berkson's picture

Chris, I agree with you about the article; I think it is one of the best expositions of G. Noordzij's views.

Ludwig, in light of Adam's posting, I think the most that could be hoped for, in light of our weak understanding of the visual logic of type design, is that the 'spine and parametric expansion' approach could give us additional ways of sculpting letters. As you point out, now there are now such tools as interpolation, multiple masters, etc. A tool that would define a spine for a character, or take an indicated one, and then enable manipulation of the expansion rotation, etc of the front for each letter, under the control of the designer, might be helpful.'s picture

Adam — I plan to go to the EuroTeX 2007 conference in Bachotek, Poland. Jackowski and Nowacki will have a talk there. I look forward to meet them and learn more about the concepts behind MetaType1. Do you think they welcome an exchange of thoughts on this topic?

> they had to admit that it was too difficult for them to come up with parameters
> that could effectively describe both the regular and the bold in a pleasant way.

I have no clue on which parameters they are using, neither on the method they use to draw the outlines. I can't really figure out either, reading their articles. (Did they publish something recently?) But judging form your description, to me, it looks the approach is erroneous. Regular and bold can't be expressed by the same parameters, precisely because the bold weight should be a function of a set of parameters that differs from the regular weight. It seems as if they are describing each singular glyph in a parametric way, very much like Knuth 'drew' each glyph separately (in particular the s), rather than really parameterising the concept of a typeface as a whole. Also, I don't expect the program to generate exactly the same shapes in the bold weight, starting from the regular, as those that are in the designs of the original. Revivals, I guess, can't be programmed, simply because the original designer likely wasn't consequent with his own design parameters.

twardoch's picture

> I plan to go to the EuroTeX 2007 conference in Bachotek, Poland.
> Jackowski and Nowacki will have a talk there. I look
> forward to meet them and learn more about the concepts
> behind MetaType1. Do you think they welcome an exchange
> of thoughts on this topic?

Of course. (BTW, I've been attending Bachotek conferences regularly since 1998).


Syndicate content Syndicate content