Optical scaling: how to?

ishamid's picture

Hi all,

I am interested in optical scaling: Aside from MultipleMaster, are there any techniques for developing fonts finely tuned to point size?

Related, given two fonts of one general design, each tuned to a particular and specific point size, how does one determine whether the two fonts are, indeed, appropriate at their respective sizes? I am aware that the differences between, e.g., 8pt and 12 pt are not linear. Are there any guides or tools besides direct observation?

In particular, I would be interested in how I can use either Studio5 or FontMaster (I have the light version) to pull this off.

Is anyone working on parametric or other font development tool that does this? The open source FontForge has a "metafont" utility that tries to do something in this regard, but it's still quite rudimentary.

I really don't want to spend countless hours mastering the MM method if there is a better alternative...

Best to all

andreas's picture

The best way to learn is, to compare different sizes auf the "same" design form "good" sources - mostly lead metal specimens.

There are many ways you can go, depending on the nature of the design. Some designers made the steams and the spacing wider the lower the optical size goes. For a sans the right way, but many designers perform the same for serif faces. But on serif designs you have more options. You can all combine it for your personal taste.

1. change the steam wide
2. change the serifs boldness (higher/bolder)
3. change the character (roundness) of the serifs
4. change the length of the serifs (affects the spacing issue)

A lot of the old serif faces seem to prefer a medium grow in the steam wide and a strong grow on the serifs plumpness (high) and/or serifs length. (On designs for the Linotype system you will note, the serifs are more plumper compared to hand setting designs - because the spaceing was not so fexible.)

The "disadvantage" of this (compared to made the steams and spacing wider only) could be, if the user uses this typeface on the wrong size (a 9pt optimized face in 14pt or more) it will look really clumsy. The other way would look sharp but bolder.

Some Glyphs like g,f,t and r need more attention, they will change their character more than other glyphs, if they become more optimized for lower sizes - 8,9,10 pt.

Punctuation marks and accents need to be more enlagered than other parts of the design. The accents have to be really high compared to display sizes (20pt and more). A gap you will note very often on todays optical tuned book faces.

All this and more should you help. A clever program can be the first step - I don't know such a program :-), but it will not free you from your own brains work!

Since this is really an interesting question, I hope others will join too and enlighten us all.


ishamid's picture

I am a bit green, so I ask everyone's indulgence if I am rehashing the well-known, but I came across an old Nicolas Fabian article on the subject:


Seems like the effort to do develop and maintain parametric tools has been cursed-(

For the record, I come from the TeX world and Metafont (perhaps the most advanced parametric system ever), but I think that Metafont is virtually dead as far as making new fonts is concerned (unless some genius comes up with a graphical interface).

So I guess I'm left with MM as a design tool for optical scaling. Does anyone here have experience with using MM for that purpose? Any tips?


andreas's picture

MM technologie is build into FontLab and works very well as long as the source and the destination using the same points. The Letterror guys have developed Superpolator, worth a look.

ps. Now you have the full version of FLS5, so load two fonts and go to Mainmenu/TOOLS/BLEND FONTS

The manuel and the FontLab support board would be help.


ishamid's picture

Hmm, the Superpolator links are down, are there any updates?

Again, parametric software seems to be cursed (as least as far as my luck in seeing any before they're gone->)

Thanks, andreas, for the rest of your advice and pointers. I do have the FL manual (nearly 1000 pages!) printed and by my side (the FontMaster manual too).


Mel N. Collie's picture

" anyone working on parametric or other font development tool that does this?"

I have been working on a biological tool that does this, for 28 years now.
Here's my method:
1. draw a font for a particular size and "make it right."
2. take the same font, set it at 1/2 the size you designed it for originally, or 2x that size.
3. Correct the second size so it has the same color as the first,
4. look at your new size range.
5. Improve it.
6. make other sizes in between or extrapolate for sizes outside the existing range.
7. edit.

"make it right" being a relative term that only you (and your client), can determine, "the same color" is achieved by making smaller sizes wider, darker and more generously spaced (there are further tips elsewhere I'm sure), while making larger sizes involves the opposite effects.

ishamid's picture

Thanks, David. I found this general comment in "TeX Unbound" by Alan Hoenig, pp. 272--273:

"The letter spacing---space between characters---must be increased, strokes must be thickened, contrast between thick and thin strokes reduced, and counters (islands of space surrounded entirely by ink, like the interior of the `o' or the top of the `e') need to be larger".

There is also a nice graph on page 86 illustrating the nonlinear variation of optical scaling parameters with respect to design size.

I invite anyone else with other tips/references to bring them forth-)


PS single quotes look really bad in this web font. Is there a better to do, e.g., `o'?

raph's picture

95% of optical scaling is just the following:

1: Making strokes thicker and contrast less. Doing a stroke offset operation is very close to the way ATF did this a hundred years ago.

2. Increasing the letterspacing.

3. Stretching the shapes to be a bit wider. The ATF examples do quite a bit of this, to my eyes too much. I think the "how much" depends on the font.

4. Shortening the extenders, especially descenders.

I've been experimenting with FontForge scripts to automate steps 1-3; the descenders you'll have to do by hand. Unfortunately, the stroke offset operation in FontForge (there called "Expand Stroke") is slow and buggy, so the results are not that great. I'm sure FontLab could do the job way better.

Of course, the remaining 5% is hand-tweaking the results so that they're really good.

I'm not convinced that opening the counters is all that important. Probably depends on whether the counters are smallish in display sizes, as they are in most Garamonds. There's a bit more writeup on the ATF Garamonds in the optical scaling wiki entry here.

The other issue is the size of the apertures, which are really small in some geometric sans families like Avant Garde. You'd want to open those up when doing an optically scaled variant. I notice that almost all of the classic ATF fonts have nice large apertures, so this wasn't a serious problem for them.

raph's picture

I just thought I'd post more details on my experiments with scripted optical scaling using FontForge. Here are two PDF files intended to more or less replicate the 1923 specimen page for ATF Century Catalogue (p210 in this folder), one optically scaled, the other not.



And the FontForge script I used is here:


Basically, I just used the script, but with a few tweaks. First, I took 14 units off both left and right sidebearings, because I spaced the font for a 10pt intended size, while the outlines are at a design size of 18pt. There's more spacing work to be done. Incidentally, in this sample there is no kerning, which of course is important. Of course, kerning was not standard in 1923, and my purpose here was more about seeing how closely I could match the metal than making the best digital font.

Second, I faked the small caps using the following recipe: use normal caps from scaled size of about 1/2 the normal size, enlarged mathematically to 2/3 the normal size. So, for 12pt, I used caps from the 6pt scale, printed at 8 points.

Third, I tweaked the descenders on the 6pt size by hand. For jpq, I lifted them up 40 units, and for gy I squooshed by 96% vertically, origin set to x-height line. Then, I squooshed everything by 104% vertically. I would do things a little differently, but it's surprising how closely this matches the color of the ATF original, down to the relative darkness of a couple of glyphs including 'g' and 'R'.

ishamid's picture

Hi Raph,

Just wanted to thank you for sharing your method with us. I have been studying the differences between cent.pdf and cent_noscale.pdf with interest. One of several interesting things I notice is that the 8pt and 6pt optical variants are much more readable than the no-scale variants (viewing side-by-side in Acrobat).

Thnx again, and thnx 2 all 4 for teaching me so much!

Syndicate content Syndicate content