
A command-line (with desktop in mind in the future) tool that modifies fonts through a composable pipeline of transformations, where we configure each step with typed parameters, chain them in any order, and export the result. Written in Go with no dependencies outside of the standard library.
Why This Project?
Nothing in particular. Just for the love of the game. Want to make fonts, the tool chain is a bit overwhelming for me. So wanted to create something simpler that allows me to do everything that I could possibly want and help me learn everything that I could possibly need about fonts.
Usage
Run a pipeline:
handyman run pipeline.json input.ttf output.ttf
Pipeline file:
[{ "bold": { "amount": 50 } }, { "monospace": { "target_width": 600 } }]
Planned Transformations
| Name | What it does |
|---|---|
bold | Expands stroke outlines to increase visual weight |
width | Scales glyph X coordinates and advance widths |
monospace | Normalizes all advance widths to a single value |
bounce | Alternates vertical glyph offset for a bouncy look |