Offsets by hand, and where the method runs out
Plenty of good menus were built with a spacer font, a calculator and patience. The method works - it just has four places where it goes wrong without telling you.
How the manual method works
You build a font of spacers with known widths, write the glyph at the position you want, and pad with negative space until it sits right. Then you rebuild the pack, restart the client, and look.
For a single icon in a chest title, that is a perfectly reasonable afternoon. It stops being reasonable when the design has twenty elements, or when it has to work on three Minecraft versions.
Where it goes wrong quietly
Four of these are not visible in the font file and not obvious in the game either - you only see that something is off:
- bold widens spaces too. The bold offset is added per glyph, and the space glyph is one of them. A design that fits suddenly runs three pixels long.
- italic drifts when you move text. The client shears italic glyphs from the baseline, a quarter pixel per pixel of vertical offset - move a line up by eight and it sits two pixels to the side.
- a dialog wraps one pixel early. The client breaks the line when the running advance *exceeds* the declared width, and every glyph carries a pixel of spacing behind it.
- an ascent above the height kills the whole font. Not the glyph - the font. Every other glyph in it disappears too, and nothing says why.
What changes with a preview
Not the method - the loop. The arithmetic is the same arithmetic; the difference is that you see the result while you place things instead of after a client restart, and that the four traps above are checked on every change.
The parts the editor cannot check it marks as unmeasured instead of smoothing over. That is the same promise the manual method makes: you know what you know.
When by hand is still the right call
For a one-off tweak to an existing pack, opening the JSON is faster than importing anything. For a font you already maintain in a build pipeline, a second tool in the chain may not be worth it - although the editor can import that pack, keep its codepoints, and hand it back.
Import the pack you already have and see where the design actually sits.
Open the editor Runs in the browser. No installation.