How do you folks handle quality control?

Matthijs HerzbergMatthijs Herzberg Posts: 72
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 CozensSimon Cozens Posts: 503
    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.
  • Alex VisiAlex Visi Posts: 69
    edited January 5
    Automation is king. Consider writing down all the bugs and problems you have and see if there are any patterns. Chances are repeatable issues can have an automated solution either with a script or even simple proof lists.

    It can also help you to adjust your design process in the future, even the way you draw stuff. I always try to get as far as possible without kerning and only kern when there’s no other way around. And this is in fact not about kerning, it’s about getting everything else. Treating drawing and spacing and proofing as once process (which it in fact is) really helps to get more consistency from the beginning. Also, contextual alternatives are underrated as well as narrow marks for accented i’s. It may seem like it adds more characters to manage, but it minimizes other work and potential problems.
  • @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 VisiAlex Visi Posts: 69
    edited January 13
    @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?
  • Thomas PhinneyThomas Phinney Posts: 1,959
    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 PiccininiClaudio Piccinini Posts: 456
    edited January 14
    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 :)
  • Thomas PhinneyThomas Phinney Posts: 1,959
    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. :)
Sign In or Register to comment.