Halfkern ist im Wesentlichen ein automatisches Kenner-Tool, das sich als Kerning-Audit-Tool tarniert hat.
Die Art und Weise, wie das Werkzeug funktioniert, ist, dass es für jedes Buchstabenpaar, die berücksichtigt werden, ihre Renderings verwischen und die beiden so weit wie möglich aufnehmen, dass sich die verschwommenen Bilder über eine bestimmte Menge überlappen. Diese bestimmte Menge wird durch das erste Kalibrieren mit den Paaren "LL", "NN" und "OO" gefunden.
Das Tool speichert derzeit keine Autokering -Ergebnisse in der Schriftart.
$ python3 kern_pair.py FontFile.ttf --dict dictionary.txt
$ python3 kern_pair.py FontFile.ttf PairString
$ python3 kern_pair.py Roboto-Regular.ttf --dict /usr/share/dict/words -l
fi 0 -4
yt 4 0
Te -9 -5
To -9 -5
TA -8 -4
DT -5 -1
Der erste Wert ist der Buchstabenpaar an Kern. Der zweite Wert ist in EM -Einheiten der vorgeschlagene Kerning -Wert, und der letzte Wert ist der Kerning, der derzeit in der Schriftart ist. Es werden nur Paare gezeigt, bei denen sich die beiden Kerning -Werte durch eine Toleranzmenge unterscheiden. Diese Toleranz kann mit -t oder --tolerance festgelegt werden. Die Standardtoleranz beträgt 3,3%.
-l --letters-only durch das Tool ist das Tool Kerning zwischen zwei Buchstaben (dh keine Interpunktion) in Betracht gezogen. Das Werkzeug ignoriert auch Ziffern, da sie normalerweise eine feste Breite haben und keine Kerning by Design.
Eine Datei kerned.pdf wird immer generiert, wobei jede Seite ein Paar zeigt, das das Tool glaubt, dass sie angepasst werden müssen: kerned.pdf
Um die gemeldeten Paare zu inspizieren, können Sie das kern_pair.py -Tool erneut verwenden:
$ python3 kern_pair.py Roboto-Regular.ttf To
To autokern: -9 (-184 units) existing kern: -5 (-99 units)
Saving kern.png
In diesem Fall ist das Tool in Roboto nicht ausreichend kernreich. Offensichtlich schmeckt das. Aber hier sind die beiden Dateien kern.png und kerned.pdf die vom Tool generiert wurden:

Im kern.png -Bild ist die erste Zeile ohne Kerning. Die zweite Zeile ist der Vorschlag des Werkzeugs, und die dritte Zeile ist die vorhandene Schriftkerning. Das Paar kerned.pdf wird zwischen unteren und oberen Buchstaben gezeigt. In ähnlicher Weise zeigen die drei Zeilen No-Banning, Tools Vorschläge und vorhandenen Kern.
Das Tool verfügt über zwei verschiedene Möglichkeiten, um einen Umschlag um jede Glyphe zu bilden. Dies kann mit --envelope sdf (Standard) oder --envelope gaussian festgelegt werden.
Es gibt auch zwei verschiedene Möglichkeiten, die Überlappung zweier Glyphenumschläge zusammenzufassen. Dies kann mit --reduce sum (Standard) oder --reduce max festgelegt werden.
Dies ergibt vier verschiedene Kombinationen von Modi, um das Tool auszuführen. Welches man für ein Projekt am besten funktioniert, ist subjektiv und sollte experimentiert werden. Die Standardeinstellungen generieren meiner Meinung nach die besten Ergebnisse
Um mit diesem Tool Wörterbücher zu produzieren, können Sie das AOSP-Test-Texts-Repository oder die LibreOffice-Zaubersprüche oder die Harbbuzz-Wikipedia-Tests verwenden.
TODO: Erweitern Sie, wie diese verwendet werden.
Für eine einfache englische WordList unter Linux- und Mac -Plattformen können Sie /usr/share/dict/words verwenden.
Verwenden Sie: Um den Umschlag für einen Charakter zu sehen, verwenden Sie:
$ python3 kern_pair.py fontfile.ttf X
Dadurch wird das Umschlagbild für X erzeugt und es in envelope.png speichern.