Font weights and font weight scaling

ebensorkin's picture

Does anybody have any sources for the theory behind exponential or ( or interpolation curve) font weight scaling?

Does anybody use mathematical formulas for determining a weights up or down?

Does anybody have anything good to say about linear font scaling?

Do you think that theories can't be trusted & only the eye can tell?

What am I talking about? Go to and follow the links to 'font families' & 'the sans' & then 'info & samples' & then 'interpolation curve'. He even offers some formulas for making weights.

What do you think is the limits are of the genuinely useful weight range? I got thinking about this because I was reading (in that Jean-Fran

hrant's picture

Nobody's taking this?


.00's picture

If the weights look good, they are good.

ebensorkin's picture

James, I agree with you as far as perception is concerned. But thats where it ends. Think of the labour. There is more to this issue than just thinking: 'There it is! I have a nice set of weights.'

Obviously if you are making two or three faces for a font then you may be able to wing things a bit - but what about 20 weights?

You might want to try to automate production. Then check results of course. (I am not advocating using blind dogma to replace the evidence of your senses) You might save maybe 100 or even 1000+ hours of work! Also you might have more time to critically look at the work - as opposed to slogging away.

Also, a theory which explains why something looks good & is helpful in general is worthwhile to know about - even if you decide to leave it behind for some reason another. Ever heard of the 'golden mean'? I don't think it's the be all & end all. But it can be helpful in some cases.

I will post some experiments I have done over the next few days & explain my current & probably naive thinking a bit more.

If only I had more math in highschool!

Hrant? Surely you have ideas about this? :-)

John Hudson's picture

Is anybody making new font weights using python scripts for in Font Lab?

I'll sometimes do this to rough out a weight. Generally, I'll start with a single weight, use Python to extrapolate bold and light versions, and then make these axis extremes for a Multiple Master font. The results are pretty messy, and not useable for final fonts, but the MM font is useful for guaging basic stems and trying different weights.

.00's picture


You asked the question, I gave an answer. And personally "There it is, I have a nice set of weight." Is the only issue.

As far as the labor, I have done and continue to do the labor. Have you? Maybe what you are really seeking is a way out of all the labor.

If you build a proper font MM database you don't need an underlying theory, just you eyes, and a problem that needs solving.

I have never trusted any theory that explains why something looks good.

Not only am I sure Hrant has an idea about this. He no doubt has his own name for the process.

hrant's picture

"Before I invent something, I need a good name for it", some famous guy once said. But even though I actually haven't "invented" any ideas about optimal weight gradations (yet), I still don't have a name for it either! :-)


Eben, keep asking (and I don't mean me).


ebensorkin's picture

John, That helps alot - I had a feeling that there might be a way to steamline the process of looking & comparing the possibilities - even if it doesn't give finnished results.

Do you have any suggestions for sources of python scripts?

An aside about MM fonts: I think that MM instances are generated using a linear process. When you make a MM font you have to decide as the maker where the 50% mark is & if you will have additional defined midpoints & if so, where they are - which lets you establish a sort of curve. Not a true curve but something more like one.

As a user of MM font you have to generate a font & decide what values it will have and if the maker has only two extremes & no strategically placed midpoints built in to cause sort of psudo curve then you might think a 75% value is going look like 75% - which it isn't. Linear scaling does not equal optical scaling.

I'll talk more about that in another posting because I see MM as (maybe) flawed when it comes to generating weights in a purely theoretical sense both with & without midpoints because it is a linear process.

There is more to this but I am going to hold off for now. MM per se is really a side issue & not too important in a practical sense at this point.

James, Sorry if I came off as snotty. I didn't mean to be. I just thought your answer was incomplete. I see now that theory isn't your thing. Fair enough. I don't 'trust' theories either. I don't reject them out of hand either. Dogma is a bad thing because it closes your eyes to your own authentic aethetic perception. Dogam about rejecting all theories is equally dubious in my opinion.

Am I seeking a way out of *all* the labour? No.

Some of it? - Definitely.

If I dig a ditch I might choose a shovel rather than a spoon. Does that make me less nobel or my ditch less good because it took me 3 hours vs. 6 days to dig my ditch?

I want to avoid the drudgery that computers are good at so I can do what I hope am good at - looking & judging.

In the end I think you are right that the eye has the be the final arbiter. I am admittedly new to this. I see that you are not. (Nice stuff BTW).

I also see how doing most things yourself by hand & not leaving it to machines is the only way to make really solid wothewhile stuff in nearly every case - even when making something like a handwriting font from scans.

On the other hand if I can look at lots of sets of weights made with different equations (& therefore different weight curves) then I imagine I can do a better job of making multiple weights - particularly if there are lots & lots of weights.

Quite apart from whether you want math in your font process - you could talk about which model of weights looks better to you; Porchez, DeGroot, someone else, or maybe your own weight system. And you could talk about why you think that. You could talk about how you decided to make the weights you made for Alfon.

You could talk about really skinny or fat fonts & why you don't make them - or haven't so far from what I can see on your web site.

This kind of info could be seen as a trade secret too I suppose...


Do you work in multiple weights much or are you concerned with middle/normal weight forms for the most part?

All, sorry this entry is so long winded. When I post some examples & test images with the formulas behind them I am sure they will clarify what I am after & why better than my typing here has for the past two postings.

rs_donsata's picture

There was a very illustrative post about weight gradation written once (if I don

ebensorkin's picture

Here is the first of the examples: Jonathan Hoefler's Gotham

Captured from:

ebensorkin's picture

Here is the second example. Taken from Lucas De Groot's site:

ebensorkin's picture

Here is the 3rd image it is of Anisette from Jean-Fran

ebensorkin's picture

What I have done so far to make sense of this issue is to take the sample I found on the De Groot page (See above with the arrows) & measure the density of pixels that compose the arrow's horizontal lines. A black pixel is 100 units & grey one might be worth between 1 & 99 units. Two black pixels measure as '200'.

When I had estimated relative widths I looked for a rule or equation that could describe & predict the changes that I saw from the thinest to the thickest.

The rule that seemed to be used for weight increase was: take 1+1/3 of the weight of a charcter add it to get the target weight of the next charcter. In excel the formula is =Cx/3+Cx where C is the column & x is the number of the starting weight.

In this way 21 is converted to 28 & so on. Not all number convert cleanly like this. For instance 28 becomes 37.33333...

Because points in FontLab or Fontographer do not come in fractionally numbered positions some rounding must be done and an ideal curve/formula would therefore:

- Provide a pleasing optical 'one step' increase.

- Provide numbers that either were either whole or were as close to a whole number as possible eg 1.1 (1)is better than 1.4 & 1.9 (2) is better than 1.5.

- Provide a whole pixel em unit number at 9 or 12 points or whatever screen size you might be targeting. For the font I am working on now ( monoline ) that would be 100 em units for a target of 9 pixels on screen. This last point is irrelevant if you are making a font with no focus on screen rendering such as a display face.

The em units I calculated using my hypothetically 'De Groot style' curve & 1 as a base with every 2nd number sampled starting with 1 are


These are also the rounded or clean numbers. The unrounded mathematical result is:


Probably none of these numbers match the Thesis fonts exactly either in terms of their actual ratios to each other. If I have sussed the formula he used that would be interesting especially since it yeilds mostly nice #s. I like the fact that it yields a 10 & a 100 for instance.

Here is what the rule/formula looks like as a curve charted in excel:

Here is the same formula rendered to screen using a cross & circle as examples. I have4 used weights 1-177 for 10 weights:

My reaction to this curve is that it emphasizes the light & dark too much in 10 steps. A flatter curve would be better. The steps do feel even though - that much is good. A smaller fraction than 1+1/3rd might give better results. It would be nice to sample every number too. It might be better to start with 2 or 3 or even 5 rather than 1. These are the ideas I will be testing next.

It seems like a golden mean ratio could be tried too. I have to look into it.

If I owned thesis I could measure it directly - but I don't. As you can see it wasn't really crucial to know what he did exactly to be able to start experimenting. I am not sure I like his formula so well that I would want to use it in any case. I mean I really like & respect his stuff, but Porchez may have something in that crit.

Also I'd rather work out my own rationale. It more fun, it's valid intellectual property ( if I was keeping it to myself ) and maybe it's even a noble kind of labour or something like that.

BTW : DeGroot actually provides three equations on his site but I have not been able to make anything out of it so far. If anbody else can explain them please let me know!

I will do some additional experiments and post them if folks are interested - especially if I make something I like.

I could also post the my excel sheet somewhere if it could help anybody work out formulas/weight curves they like.

Does my original question make better sense now? Am I just nuts?

Do you think a split curve would make better sense or give better results? eg: One curve for the bolds & one for the ligher weights with a normal weight in the middle. If you think so, why?


ebensorkin's picture

Check out this thread

Typophile Forums

eomine's picture

> BTW : DeGroot actually provides three equations on
> his site but I have not been able to make anything
> out of it so far. If anbody else can explain them
> please let me know!

Actually it's only one equation, in different 'arrangements'.
I don't know what you want to be explained, I think it's
pretty simple.

In any case, I've applied his equation to some of your data,
and it's surprising. For example:

Your data:
a = 1.333333333
b = 1.777777778
c = 2.37037037

Result from De Groot's equation b = sqrt(a*c):
b = 1,777777777

Another try, your data:
a = 74.83091388
b = 99.77455184
c = 133.0327358

De Groot's equation:
b = 99,77455184 !!!

jfp's picture

I don't have read all this page, but what I can say is it more simple than formula and so on. Each new font require different way, just because the contrast is variable and some have Serifs, others not. Some need to be used in small size, so large counters in Black when others mostly for display.

Don't miss also that a real letter is not just a + or a circle.
When designing a Black, I say BLACK not b l a c k as in many case, most of the job is to achieve the perfect visual weight, not the mathematical weight: So a g lc will be very different than n. Same for the horizontal of a B or E compared to vertical of a N, etc.

And in Thin weight it will be more mathematical adjustment, as less contrast by definition.

So, when you interpolate such extrems, your regular or demi can suddenly appear to contrasted when x an y interpolation are same values. So, again some adjustment need to be made.

Not also that an interpolate curve is not straight, the regular between thin and black is not at 50%!

Here after some adjustement made for Anisette intermediate weight.

rs_donsata's picture

Maybe then the post was made by John Hudson.

hrant's picture

No, it was... James!!


ebensorkin's picture

Hrant, Where was James' post? The one I referred to earlier?

Jean Porchez, thanks for looking in!

I hope you have time to look closer at my arguement later. If you have anything else to say I would love to hear it - especially anything theoretical in nature, even it turns out that you, like James, reject outright using any sort of theory or math to design fonts.

Actually, I think I can prove my basic point about curves in general if only because DeGroot clearly used a formula to make some *really* nice fonts & clearly didn't use some sort of crude global process as James assumed I was inquiring about.

Maybe, if I am fortunate, I can find a better curve than De Groot did & show how an improved curve can work to make something really nice & really functional.

Actually, I think finding a better curve will probably be easy. Applying that curve in a sensitive, inteligent & inspired manner will probably be much, much harder.

Using a formula for a major element such as acenders will probably be straightforeward. A modified set of formulas could probably be developed to handle many other aspects of develping a bold ( or light) face. Maybe a different curve can or should be invented for altering each major aspect of a font. I don't know if I will do it - but that it is possible to do & that some mathematical process' can help a typographer's initial process' both seem obvious to me now.

I still wonder which aspects of DeGroot's face were subject to his formula. Maybe all of them were - in some way. Maybe he will enlighten us. Wouldn't that be excellent?

I'll post to this thread if I find anything in my experiments that seems useful.

If anybody owns a license to a thesis series font & can hypothesize about the weights work for different aspects of the fonts that would be fun to hear about!

jfp's picture

Well, without try change original Luc[as] view about his own theories: I have the feeling that the interpolation theory he published in 1995 (I remember clearly when he gave it to me during ATypI Barcelona) on his Thesis specimen is more a non serious thing and nice illustration than anything else. It need to be in the context of the specimen, nothing more and that case, the theory illustration work.

Building mathematic methods and systems for typeface design is a really a funny idea! Sound building mathematic theories for Jasper Jones projections (positions in spaces) or Picasso drawings (relationship of the sizes of eyes and mouths).

eolson's picture

JFP's post with Anisette sums up the reality of this
situation. The Black is usually very different than
the thin. For instance, compare the shared stroke
weights on a black to that of a thin. It's common to
slightly reduce the stroke weight on letters like e and a
in the black but not in the thin. These irregularties will
in turn create less than perfect interpolations. This is
where the labor comes in! I recomend coffee
in the mornings followed by green tea in the afternoons :-)

Recently I've been using MM to create my intermediate
weights. I've had much better results than just a Blend.
I'm not actually making MM fonts, just using MM to
define the weights.

.00's picture

I share Eric's observations on creating accurate interpolations between Extra Thin and Black.

For that reason, I usually created the Xtra Thin and the Black separately and use less extreme masters for any interpolation. This started by creating heavy weights that were ultimately not heavy enough, and using extrapolation to create the beginnings of a black weight.

This extrapolation also helped create very light weights. I say helped because extrpolated outlines need a lot of additional labor to look good.

eomine's picture

I guess this is what you guys are looking for.

ChuckGroth's picture

this is totally brilliant

ebensorkin's picture

What is? The thread or a link?

joseph0's picture

I found this post by searching the web, hope no one minds.
I have very bad eyes and can see well when fonts are very very small, thin, dark, curved and spaced; any suggestion is appreciated.

Thanks You in advanced,

Florian Hardwig's picture

Hi Joseph,
I advise you to start a new thread for your concern; as this one is 1) quite old and 2) about font production methods. I presume you are not interested in that – but what do I know?

Syndicate content Syndicate content