This is a simple little tool that will help you plan the stems weights values across a 9 styles family.
Input your thinnest and boldest stems values, and it will show you a wide range of possibilities to get you started.
The first column will provide steps of equal size.
The last column will provide progressive steps.
The 3 columns in the middle will provide intermediate steps.
You can use this values as a starting point to plan your family.
The final decision, of course, is up to you!
http://www.impallari.com/familysteps/
Comments
Currently I've chosen those 9 weights as to match the CSS3 specs.
The option to specify the number of steps is in my To-Do list, maybe in the next update.
Please, take a few minutes to analyze the results, compare to your own families, and let me know what you think, or what can be done to improve it.
If you wants to contribute the data from your own fonts (will be helpful to further improve the results) you can do it like this:
MyFontName = 20, 40, 60, 80, 120, 140
Thanks so much for this tool; it's saved me a lot of wasted time.
That's why I made this, my eyes were not happy with the Lucas formula. It works great when the difference from Black-Thin is small, but it fails when the range is bigger, as the Thin steps get too close together, while the Bolder weights get too far apart.
I hope this ones get closer to better result, but of course there is room for improvements.
All in all, I think my tool offers a good starting point, and then we can refine from there. That's the whole idea.
I'm open to make modifications and improvements.
Which values would you like to be able to tweak?
As it exists, it won't do this and generate similar curves based on a test I did. One additional bit of information it would require would be the EM size. Is it doable?
A) Thin 220, Black 20, Steps 8 will produce:
200, 148, 116, 95, 79, 62, 43, 20
As another option, you can load your thin sidebearing value in the Black input field, and your black sidebearing value in the Thin input field, and sort the result in reverse.
200, 170, 136, 102, 72, 48, 30, 20
One will be and S-shape, the other an Inverted-s shape (not sure which is which).
Try both options, and let us know which one works best for sidebearings... or if both fail
Try these values and you will see what I saw: 7 steps, 105, 101, 97, 93, 89, 86, 78. If you invert it then it becomes quite different.
The "lines and peaks" are the effect of rounding values in small ranges.
Choose "2 decimals" and the graph will be smooth again
In the "Decimals" option you can choose: to use 1 or 2 decimals, to round numbers, to round-up (ceil) and to round down (floor).
Forget what I wrote about specifying an EM value. Since the resulting curves are so different from the weight curves it won't matter, everything being relative. The tool is perfectly useful as it is.
BTW, the Lucas formula numbers break down if I enter 0 and 1000 as the two numbers.
Why would I do that, you ask? Because I don't want to know what the stem thicknesses are, I want to know what values to use in FontLab Studio for the instances in a multiple master space which uses labels of zero and 1000 by default....
Mind you, I can just enter 1000 and 2000 instead. Easy enough to subtract 1000 from the results.
I always struggle with decimals in FL/Superpolator to get the instances in the exact point. In Superpolator is easier than FL, as you can live-preview the stem weight measurements. Georg's Glyphs app is super nice, as you can simply use the stem values for creating the instances.
Insert your masters with a value == stem width
Insert your lightest master a second time with a value == 0
Easy