Local Models
Run a model on your own machine, over your own sources. Nothing is sent anywhere.
| Status | Experimental. The mechanism works; the models are early |
|---|---|
| Stability | The workflow is stable; what a model predicts is not |
What This Is
A model here is a directory on your disk. You point at it, and it runs on your machine against the font you have open. Nothing is downloaded, no account is needed, and your drawings are not sent anywhere.
This is experimental in a way the rest of the editor is not. The mechanism is sound and the guardrails are real, but the models are small and early, and what they propose is often wrong. Treat every result as a suggestion to judge, never as an answer.
Getting a Model
There are no models to download yet. You either train one, or you have been given a directory by someone who did.
Put it in ~/.runebender/models and the editor lists it at startup.
Installing a model is dropping the folder there. Set
RUNEBENDER_MODELS to keep them somewhere else.
A model is three files:
config.json | Shape of the network, and which kind of model it is. |
|---|---|
weights.safetensors | The trained weights. |
vocab.txt | The glyph names it was trained on. |
Nothing else is read, and the directory is inspectable: cat the
config to see what you have.
Boldening
Open the Local AI section of the left panel, then click the model row and choose a model directory. The editor remembers it for the session.
Open a glyph in the lighter master and click Bolden this glyph. The editor predicts a heavier version and installs it. The button stays inactive until a glyph is open.
The result is an ordinary edit. To reject it, undo.
Glyph → Bolden With Model… does the same thing from the menu.
| Status line | How many points moved, of how many, and the change in advance width. |
|---|---|
| The glyph | The proposal, in place, undoable. |
Why It Cannot Break Compatibility
A Bold master has to stay point-compatible with its Regular: the same contours, the same points, in the same order. Break that and the family stops interpolating.
The prediction cannot break it. Every drawing command and every source coordinate is fixed from the glyph you already have. The model fills in only the offsets between them, chosen from a range of distances. There is no point in the process at which it could add, remove, or reorder a point. It moves points, and that is all it can do.
The editor checks the result anyway before writing, and refuses if the number of offsets does not match the number of points.
The risk is not a broken font. It is a bad drawing, which you can see and undo.
Strength
The slider under the model row scales how far the predicted points move. 1.00x applies the prediction as it came.
Leave it at 1.00x unless you have a reason. Measured over 71 held-out glyphs, raising the strength made the result worse at every step. The model does not under-move uniformly. Scaling amplifies its mistakes along with its good guesses.
The slider is for a model that is right about direction and short on distance. That is a property of one model, not a general fix.
Scoring a Prediction
Click Score against the other master when both masters have the glyph drawn. The editor compares the prediction to the drawing you already made. It reports two numbers: the model’s average error per point, and the error from shifting every point by the average amount.
Lower is better, and the second number is the one to beat. A model that cannot beat a uniform shift is not telling you anything a constant could not.
This works only on glyphs you have already drawn in both masters. It measures a model on known work before you trust it on unknown work.
What to Expect
Quality varies by glyph, and not evenly. Running the Virtua-12M model
on Virtua Grotesk, H moves all 25 of its points and thickens
sensibly; eight moves only 15 of its 53, and the result needs work.
Straight stems are easier to be right about than curves.
Read the moved-point count in the status line as a rough confidence signal. A glyph where most points stayed put is one the model had little to say about.
A good average score does not mean a usable drawing. Average point error says nothing about whether stems landed on the weights the family uses, which is what decides if a glyph reads correctly. Judge the drawing with your eyes and use the score to compare models.
From the Command Line
The same models run outside the editor through font-ml, which is where the inference lives. Useful for trying a model over many glyphs before bringing it into a drawing session.
font-ml describe <model>font-ml run bolden --model <model> --source Font.ufo --glyph eight describe reports what a model is and which jobs it can do, and every
command takes --json.
What Is Not Here
No chat, no assistant, no generation from a description, and no way to add a model to a menu as a plugin. Kerning and spacing models are named in font-ml and not built. See Scripting for what automation is possible today.