How do you folks handle quality control?

Matthijs Herzberg
Matthijs Herzberg Posts: 154
edited December 2020 in Technique and Theory
One thing I've realized in my type design journey is how tricky it is to prevent little errors. Be it an inconsistency in spacing, a random glyph not quite sitting on the baseline, an odd curve, there's so much room for things to go wrong unnoticed. This is becoming most apparent in a typeface family that I've been working on for almost a year, mainly because I might still make systemic changes later in the process, which then get implemented inconsistently. For instance, I tightened up the spacing considerably, and am now finding tons of little errors in the spacing of diacritical characters.

I'm using FontLab, which has FontAudit for finding inconsistencies in the actual drawing quality, but this doesn't help kerning, metrics, or glyphs that may be drawn just fine but have a subjective error which the software doesn't recognize as such.

So, how do you folks handle this? Is there a smarter way to go about things than "look closely at every single glyph in every single master, and then again at every single glyph in context"? Any quality control tips and discussion are welcomed!

Comments

  • @James Puckett Thanks a lot for sharing those files, very helpful.
  • For metrics, on Science Gothic (36 masters, 4 axes, 1200 glyphs per master) I originally went deep into linked metrics. I was pretty happy with that approach in principle. Some pretty long chains of linking off of just a few key glyphs. That helps create consistency.

    Kerning though... ugh. I built big kerning classes to start with. And one trick I use is to separate accented lowercase from their unaccented compatriots in separate classes, because otherwise I have issues in cap-to-lowercase combinations.

    @Vassil Kateliev took over the kerning though—have to let him explain his process. IIRC it involved URW KernMaster plus the classes I had already built.

  • Simon Cozens
    Simon Cozens Posts: 740
    edited December 2020
    For my Nastaliq work I use a combination of automated testing (the computer finds problems by looking for overlaps and outline errors) and semi-automated testing (the computer produces combinations of letters and glyphs to create test files).

    The automated testing is done with a program called Collidoscope, but this may not be too interesting for non-Nastaliq. The semi-automated testing may be interesting, because it uses a pattern language to create the test strings. For example:

    
    (DotsAbove|DotsBelow){0,3} TrickyEndCharacters
    (NoDot Kasra|DotsBelow Kasra|DotsBelow){0,3} TrickyEndCharacters
    Isols DotsBelow{0,3}
    
    NoDot = م,ں,ل
    DotsBelow = ب,ی,پ,ج
    DotsAbove = ت,ن
    Kasra = 0650
    TrickyEndCharacters = ی,ے,ج
    Isols = ر,و,ا,ہ
    

    This will produce every single possible string made up of zero-to-three character combination of glyphs with dots above or below followed by one of the tricky end characters, then every possible string of zero-to-three characters with kasras or dots below followed by the tricky end characters, and then every possible sequence of isolated letter followed by one-to-three characters with dots below - those three rules produce 5509 strings in all. (My font correctly renders 4208 of them, which is a bit annoying.)

    The software behind that is Stringbrewer.
  • @Andreas Stötzner I definitely haven't been rigorous enough in initial planning of fonts, usually opting to sketch a few glyphs, open FontLab, and just have at it. I was already coming to the conclusion that I need to prepare more beforehand, so this definitely helps.
    @Alex Visi I've been trying to automate as much as my font editor allows me, but I know I'm not utilizing every option. Are you also talking about custom scripts and the like? If so, where do you get started with those?
  • @Andreas Stötzner's suggestions are precious… in fact I am trying to learn to become methodic myself, as I definitely don’t want to lose precious time in adjusting errors afterwards.
    One of the resources that I have found more precious to stay on track for the most important glyphs, to decide what to prioritize, is Microsoft Typography’s "Character Design Standards”. From there, you can deepen your knowledge on specific glyph designs, but it is a great resource.
  • Alex Visi
    Alex Visi Posts: 185
    edited January 2021
    @Alex Visi I've been trying to automate as much as my font editor allows me, but I know I'm not utilizing every option. Are you also talking about custom scripts and the like? If so, where do you get started with those?
    Learning scripting is the best case scenario, since it gives endless possibilities and doesn’t depend on any software or other people :smile:
    Here are a few useful resources for learning python in type-related context:

    https://pythonfordesigners.com/
    https://www.drawbot.com/
    https://glyphsapp.com/learn/scripting-glyphs-part-1
    https://robofont.com/documentation/building-tools/
  • Alex Visi said:
    @Alex Visi I've been trying to automate as much as my font editor allows me, but I know I'm not utilizing every option. Are you also talking about custom scripts and the like? If so, where do you get started with those?
    Learning scripting is the best case scenario, since it gives endless possibilities and doesn’t depend on any software or other people :smile:
    Here are a few useful resources for learning python in type-related context:

    https://pythonfordesigners.com/
    https://www.drawbot.com/
    https://glyphsapp.com/learn/scripting-glyphs-part-1
    https://robofont.com/documentation/building-tools/
    I don't feel very good at programming. Is Python installed by default when you install, e.g. Fontlab?
  • Python 2.x (which is what FontLab 7 uses) is already installed by default on macOS. However, I think Glyphs (as of Glyphs 3) and RoboFont require Python 3.x, not sure if they install it for you.

    On Windows, IIRC FontLab offers to install Python when you install FontLab.
  • Maybe useful info on this is that Font Lab is also planning to migrate to Python 3. I am mentioning this for those who plan to start to learn Python (as I do). Python 2 and 3 are allegedly not so different, but the available resources like this one:

    http://pythonfordesigners.com/

    are mostly about Python 3. 
  • Claudio Piccinini
    Claudio Piccinini Posts: 681
    edited January 2021
    Python 2.x (which is what FontLab 7 uses) is already installed by default on macOS. However, I think Glyphs (as of Glyphs 3) and RoboFont require Python 3.x, not sure if they install it for you.

    On Windows, IIRC FontLab offers to install Python when you install FontLab.
    Thanks much, Thomas.
    Maybe useful info on this is that Font Lab is also planning to migrate to Python 3. I am mentioning this for those who plan to start to learn Python (as I do). Python 2 and 3 are allegedly not so different, but the available resources like this one:

    http://pythonfordesigners.com/

    are mostly about Python 3. 
    So, if Fontlab does, will it install Python 3? At the current state, if one wants to use Python (at this point, 2, given I use Fontlab 7) are there similar resources for Python 2?
  • Don't learn Python 2 - it's very similar, but it's also like learning Latin to get fluent in English :)
  • The ONLY reason to learn Python 2 is, if you are wanting to script in FontLab 7 today.
  • The ONLY reason to learn Python 2 is, if you are wanting to script in FontLab 7 today.
    Yes, that was the point. But at this point I can wait, and concentrate on design while Fontlab decides to migrate to Python 3. :)