How do you folks handle quality control?
Matthijs Herzberg
Posts: 154
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!
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!
Tagged:
1
Comments
-
I proof on paper at each stage of the design. Before I start kerning I run through huge brute force proofs that show combinations of letters and punctuation. I do those proofs again after kerning. Then I go through every single exported font and review every single glyph. Here’s a link to my proofing files.7
-
@James Puckett Thanks a lot for sharing those files, very helpful.0
-
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.
4 -
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.2 -
It can become overwhelming and almost unmanagable with more extended font families. I found it most helpful a) to establish a structured plan of work steps in advance and write them down in a records text file; b) stick rigidly to a given order of steps: glyph drawing, components/accents work, spacing, kerning, feature definition works; c) to protocol what I have done already and wether it has been done completely. One may add under d) a most thorough and concentrated work on the most principle and fundamental decisions, such as the drawing of the most important glyphs (e.g. n, o, l), and of course their spacing.For testing spacing and kerning I use my own text string files which also follow a certain structure and order, not to miss anything important.With comprehensive families, I finalize and review and test the first 3 or 4 fonts very carefully first before I turn to create the derivative weights or additional fonts. To avoid the situation that I spot an error late which made it into a bunch of fonts and I then have to open up all the bottles again (and again).But a firm plan of steps and a written protocol of what I have executed, is of the essence.
6 -
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.
5 -
@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?
0 -
@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.0 -
Matthijs Herzberg 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?
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/
2 -
Alex Visi said:Matthijs Herzberg 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?
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/
0 -
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.2 -
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.1 -
Thomas Phinney said: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.0 -
Don't learn Python 2 - it's very similar, but it's also like learning Latin to get fluent in English
4 -
The ONLY reason to learn Python 2 is, if you are wanting to script in FontLab 7 today.
2 -
Thomas Phinney said:The ONLY reason to learn Python 2 is, if you are wanting to script in FontLab 7 today.1
Categories
- All Categories
- 43 Introductions
- 3.7K Typeface Design
- 803 Font Technology
- 1K Technique and Theory
- 622 Type Business
- 444 Type Design Critiques
- 542 Type Design Software
- 30 Punchcutting
- 136 Lettering and Calligraphy
- 83 Technique and Theory
- 53 Lettering Critiques
- 485 Typography
- 303 History of Typography
- 114 Education
- 68 Resources
- 499 Announcements
- 80 Events
- 105 Job Postings
- 148 Type Releases
- 165 Miscellaneous News
- 270 About TypeDrawers
- 53 TypeDrawers Announcements
- 116 Suggestions and Bug Reports