Q&A Tools
Fontbakery
Online checking: http://fontbakery.com
Via command line
fontbakery check-universal --html report.html
Locate a font files after check-universal.
Checking Interpolation
Diffenator
diffenator2 diff -fb -fa --pt size 48 (optional)
It must be ttf file. Locate a ttf after -fb and -fa
fontTools
Subset
fonttools subset font.otf --glyphs=a b c.. --notdef-outline
Locate a font file after subset.
Interpolation Check
fonttools varLib.interpolatable --pdf report.pdf
Locate a font file after varLib.interpolatable.
- –kinkiness (0-1)
- –tolerance (0-1)
Bigger the value is pickier.
It requires at least one variable font file. Locate the font file(s) at the end of the line.
AFDKO
Feature Writers
markFeatureWriter
- -c: –write_classes write mark classes to extra file? (default: False)
- -m: –write_mkmk write mark-to-mark feature file? (default: False)
markFeatureWriter -cm
Locate an UFO at the end.
Check Outlines
- -e: error correction mode
- -all: Force all glyphs to be processed. Makes the tool ignore the stored hashes thus checking all the glyphs, even if they have already been processed.
checkoutlinesufo -e
Locate an UFO after checkoutlinesufo.
Export font
- -f: Source location
- -r: Release mode
- -gs: Exclude glyphs that are not present in GOADB
- -omitMacNames: Don’t know clearly. I saw it on source sans/serif export settings
- -o: Export location
makeotf -f -r -gs -omitMacNames -o
Locate an UFO after -f.
Compiling Binaries
ttf
otf2ttf
Locate otf file(s) at the end.
woff & woff2
- First
ttxthettffiles. - Then
ttxthe ttx files with--flavor (woff/woff2)flag
Fontmake
Convert .glyphs to .UFO
- -i: To generate instances
fontmake -g -o ufo
glyphsfile after -g
Terminal
Venv
python3 -m venv my_venv
source my_venv/bin/activate
OpenType Features
Fraction frac
@figures = [zero one two three four five six seven eight nine];
@figuresNumerator = [zero.numr one.numr two.numr three.numr four.numr five.numr six.numr seven.numr eight.numr nine.numr];
@figuresDenominator = [zero.dnom one.dnom two.dnom three.dnom four.dnom five.dnom six.dnom seven.dnom eight.dnom nine.dnom];
@slash = [slash fraction];
feature frac {
sub @figures by @figuresNumerator;
sub [@slash @figuresDenominator] @figuresNumerator' by @figuresDenominator;
sub slash by fraction;
} frac;