Offsets von Hand - und wo die Methode aufhört
Viele gute Menüs sind mit einer Abstands-Font, einem Taschenrechner und Geduld entstanden. Die Methode trägt - sie hat nur vier Stellen, an denen sie danebengeht, ohne es zu sagen.
Wie die Handarbeit geht
Man baut eine Font aus Abstandszeichen mit bekannten Breiten, schreibt die Glyphe an die gewünschte Stelle und füllt mit negativem Leerraum auf, bis es passt. Dann Pack neu bauen, Client neu starten, schauen.
Für ein einzelnes Symbol in einem Kistentitel ist das ein vertretbarer Nachmittag. Unvertretbar wird es, wenn der Entwurf zwanzig Elemente hat - oder auf drei Minecraft-Versionen stimmen soll.
Wo es still danebengeht
Diese vier stehen in keiner Font-Datei und fallen auch im Spiel nicht auf - man sieht nur, dass etwas nicht stimmt:
- Fett macht auch Leerzeichen breiter. Der Fett-Zuschlag gilt je Glyphe, und das Leerzeichen ist eine. Ein Entwurf, der passte, ist plötzlich drei Pixel zu lang.
- Kursiv wandert, sobald Text verschoben wird. Der Client schert kursive Glyphen von der Grundlinie aus, ein Viertelpixel je Pixel Versatz - acht Pixel höher heißt zwei Pixel zur Seite.
- Ein Dialog bricht einen Pixel zu früh um. Der Client bricht, sobald die laufende Advance die erklärte Breite *überschreitet*, und jede Glyphe trägt einen Pixel Abstand hinter sich.
- Ein Ascent über der Höhe killt die ganze Font. Nicht die Glyphe - die Font. Alle anderen Glyphen darin verschwinden mit, und nichts sagt warum.
Was sich mit einer Vorschau ändert
Nicht die Methode - der Kreislauf. Die Rechnung ist dieselbe; der Unterschied ist, dass man das Ergebnis beim Setzen sieht statt nach einem Client-Neustart, und dass die vier Fallen oben bei jeder Änderung geprüft werden.
Was der Editor nicht prüfen kann, markiert er als ungemessen, statt darüber hinwegzugehen. Das ist dasselbe Versprechen, das die Handarbeit gibt: man weiß, was man weiß.
Wann Handarbeit richtig bleibt
Für eine einzelne Korrektur an einem bestehenden Pack ist die JSON schneller geöffnet als irgendetwas importiert. Für eine Font, die ohnehin in einer Bau-Pipeline liegt, lohnt ein zweites Werkzeug vielleicht nicht - wobei der Editor genau dieses Pack importieren, seine Codepoints übernehmen und es wieder herausgeben kann.
Importiere das Pack, das du schon hast, und sieh, wo der Entwurf wirklich sitzt.
Editor öffnen Läuft im Browser. Nichts zu installieren.