How to assess what optical size(s) a given type style is intended for?

Simon Cozens has blogged some initial thoughts about this at simoncozens.github.io/optical-size

I'm going to do a call with David Berlow to discuss this topic on Wednesday at 2pm Eastern
 Daylight Time (GMT-4), let me know if you'd like to join, and hopefully I'll post a recording :) 

Tagged:

Comments

  • John Hudson
    John Hudson Posts: 3,409
    Count me in.
  • jeremy tribby
    jeremy tribby Posts: 270
    I've been thinking about this a lot lately (seven-size family almost... done...), would be happy to join if you'd have me
  • PabloImpallari
    PabloImpallari Posts: 813
    edited 4:45AM
    I'll like to join!
    Quote from Simon's article:
    "for a given design, there should be some kind of relationship between the stroke contrast, spacing, vertical metrics, and parametric values such that when we measure these values, we can work out the “natural” optical size for the design... ... but if we, as a whole, believe that certain things make a design more suited to text and other things make it suited to display, shouldn’t those “things” be, at least roughly, measurable and reproducible?
    ...
    ...
    we can try to work this relationship out.
    (Spoiler: I haven’t got there yet, and would appreciate input"

    About nine years ago, I explored ways to create a script that could determine the “gray value” of each font. My goal was to sort all the Google Fonts from lightest to darkest. (At that time, there were about 100 fonts, most of them single-style.)

    The first approach was to measure just the stem width.
    Obviously, that didn’t work—stem width is only one factor. Some fonts were more condensed, others wider. And many other variables come into play.

    Eventually, I gave up—but the unsolved problem kept nagging at me.
    Then one day, while practicing calligraphy, I stumbled upon a surprisingly effective solution… a bit of a eureka moment. The solution revealed itself while I was practicing with various nibs of different widths, using the practice sheets that calligraphy books recommend for each nib size and style.

    What I noticed, basically, was that there was a relationship between the nib size and the guidelines on the practice sheets. 


    Not sure how to explain it using words, so i will make a quick sketch...
    This are the typical proportions used in calligraphy for normal text:
    – 5 nib widths for the x-height
    – 1 nib for the stem
    – 3 nibs for the counter

     


    In the second sketch is more display-oriented, the proportions are:

    – 3 nibs for height
    – 1 nib for stem width
    – 1 nib for the counter



    What’s interesting here is that these measurements aren’t absolute and they’re not based on any standard unit. Instead, they’re all relative to the nib size. And while there are many other proportions that can be measured, these three are the key ones, they define most of the visual relationships in the texture of the text.

    With this insight, I was able to write a Python script that measured the proportions and calculated a value using <b>x-height</b> × <b>stem width</b> × <b>counter width</b> across all the fonts I fed into it.
    That way, I got a “darkness” value for each font, and I could sort them from the most compact and heavy to the lightest and most open.

    The script isn’t perfect—it doesn’t account for serifs, for example—but overall, the results were pretty solid.
    It’s not a definitive method, but the idea of multiplying x-height by stem width by counter width might be a good starting point if you want to refine it and improve the concept.

    Here is the old script FL5 script. It also normalizes the values according to the EM units.
    https://github.com/impallari/Impallari-Fontlab-Macros/blob/master/IMP Measures/All Darkness.py


  • PabloImpallari
    PabloImpallari Posts: 813
    edited 5:03AM
    To sum it up:
    The 5×1×3 proportion may be the ideal range for body text (at least in calligraphy)
    As the resulting value goes up or down, it moves into the display or petit range.