1 Punkte von GN⁺ 2024-08-11 | 1 Kommentare | Auf WhatsApp teilen

Inhaltsverzeichnis

  • Vor dem Megapack
  • Das erste Pack
  • Das zweite Pack
  • Vermächtnis
  • Ziele des Megapacks
  • Größer und besser
  • Unterstützung für mehr Sprachen
  • Stilvarianten
  • Ausgereiftes Kerning
  • Bessere Qualitätskontrolle
  • Einfachere Bereitstellung und Wartung
  • Die Messlatte höher legen
  • Schriftgestaltung studieren
  • Fotoreferenzen
  • PIFO: mein Pixel-Font-Tool
  • Funktionsweise
  • Verwendete Crates
  • Schritt 1: Font-Sheet erstellen
  • Schritt 2: Glyphenkonturen erstellen
  • Schritt 3: Kerning-Tabelle
  • Schritt 5: Export
  • Qualitätstests
  • Veröffentlichung
  • Fazit

Vor dem Megapack

  • 2016 begann er mit der Arbeit an Ikenfell und erstellte dabei sein erstes Font-Pack
  • 2018 veröffentlichte er ein zweites Pack, dessen Qualität sich deutlich verbessert hatte

Das erste Pack

  • 2016 verkaufte er auf itch.io sein erstes Pack mit 12 Schriftarten
  • Damals waren seine Fähigkeiten im Schriftdesign noch begrenzt, trotzdem wurde es häufig in Indie-Spielen verwendet

Das zweite Pack

  • 2018 veröffentlichte er das zweite Pack mit 40 Schriftarten
  • Er ergänzte Kerning-Tabellen und bot Formate für verschiedene Engines an
  • Gemeinsam mit Indie-Entwicklern bewarb er das Pack mithilfe von Spiel-Screenshots

Vermächtnis

  • Das zweite Pack war sehr beliebt und wurde sogar in größeren Spielen wie Nintendos Cadence of Hyrule verwendet
  • Auch in Love Conquers All Games' Get in the Car, Loser kamen mehrere Schriftarten daraus zum Einsatz

Ziele des Megapacks

  • Nach dem Release von Ikenfell war er zwar ausgebrannt, verbesserte aber weiterhin seine Rust-Programmierkenntnisse
  • Dabei schmiedete er den Plan für ein noch größeres Font-Pack

Größer und besser

  • Diesmal setzte er sich 100 Schriftarten als Ziel und wollte Fonts für verschiedene Spielgenres erstellen

Unterstützung für mehr Sprachen

  • Frühere Packs unterstützten nur ASCII-Zeichen, diesmal wurde das auf EFIGS (Englisch, Französisch, Italienisch, Deutsch, Spanisch) erweitert

Stilvarianten

  • Jede Schriftart sollte verschiedene Größen und Strichstärken unterstützen, um stilistische Konsistenz bei gleichzeitig mehr Variation zu ermöglichen

Ausgereiftes Kerning

  • Die Kerning-Arbeit wurde automatisiert, um Zeit zu sparen und Fehler zu reduzieren

Bessere Qualitätskontrolle

  • Es wurde eine Methode eingeführt, mit der sich die Gesamtqualität der Schriftarten leichter bewerten ließ

Einfachere Bereitstellung und Wartung

  • Upload- und Veröffentlichungsprozesse wurden automatisiert, um Fehler zu verringern und die Effizienz zu steigern

Die Messlatte höher legen

  • Er studierte Schriftdesign und sammelte zahlreiche Referenzmaterialien

Schriftgestaltung studieren

  • Er lernte Schriftdesign mithilfe des Buchs "Design School: Type" von Richard Poulin

Fotoreferenzen

  • Als Referenzmaterial nutzte er Fotos mit verschiedensten Texten

PIFO: mein Pixel-Font-Tool

  • Um Pixel-Fonts zu erstellen, entwickelte er in Rust ein Tool namens PIFO

Funktionsweise

  • Mithilfe eines PNG-Tile-Sheets und einer Konfigurationsdatei erzeugt das Tool Schriftarten, berechnet automatisch Kerning-Paare und exportiert sie als TTF-Dateien

Verwendete Crates

  • Verwendet wurden unter anderem clap, image, rayon, serde, glyph-names, ab-glyph und crunch

Schritt 1: Font-Sheet erstellen

  • Die Schriftart wird aus einem Tile-Sheet und einer Konfigurationsdatei erzeugt

Schritt 2: Glyphenkonturen erstellen

  • Pixel werden zu Clustern gruppiert, Konturen erzeugt und anschließend in TTF-Glyphen umgewandelt

Schritt 3: Kerning-Tabelle

  • Die Kerning-Tabelle wird durch manuelles und automatisches Kerning erstellt

Schritt 5: Export

  • Die Schriftarten werden als TTF-Dateien, Tile-Sheets und komprimierte Texture-Atlanten exportiert

Qualitätstests

  • Die Qualität der Schriftarten wird getestet und Probleme werden behoben

Veröffentlichung

  • Es wird ein itch.io-Projekt erstellt und hochgeladen

Fazit

  • Im Dezember 2023 veröffentlichte er das 175 Pixel Fonts Megapack und nutzte eine in Rust gebaute Toolchain, um die Schriftarten zu erzeugen, Qualitätstests durchzuführen und sie zu veröffentlichen

Zusammenfassung von GN⁺

  • Dieser Artikel liefert eine detaillierte Beschreibung des Designs und Herstellungsprozesses von Pixel-Fonts
  • Besonders interessant ist die Entwicklung eines Font-Erstellungstools in Rust sowie eines automatisierten Systems für Kerning und Qualitätskontrolle
  • Für Menschen mit Interesse an Pixel-Font-Design sind die Informationen äußerst nützlich
  • Ähnliche Projekte mit vergleichbarer Funktionalität sind FontForge und Glyphs

1 Kommentare

 
GN⁺ 2024-08-11
Hacker-News-Kommentare
  • Ich frage mich, was der stilistische Grund für den unterschiedlichen Abstand zwischen „Fdj“ und „Fjo“ ist
  • Die Erstellung einer Schrift kann ein Jahr dauern und umfasst viele Varianten wie Großbuchstaben, Kleinbuchstaben, Symbole, Strichstärken und Kursivschnitte
    • Kerning (Zeichenabstand) ist eine sehr wichtige Arbeit und erfordert viel Zeit und Aufwand
    • Eine Schrift, die 176 Zeichen unterstützt, kann 37.976 Kerning-Paare benötigen
    • Das wurde automatisiert, sodass der Großteil des Kernings erledigt wird und bei Bedarf manuell nachjustiert werden kann
  • Es ist eine Arbeit, die an eine Zeit erinnert, in der es keine Grenze zwischen Künstlern und Ingenieuren gab
  • Mit Donald Knuths Software Metafont lassen sich Raster-Schriften erzeugen
  • Mir haben die Schriftarten auf der Website und das schlichte Styling gefallen
    • Es gibt einen Beitrag darüber, wie die Website erstellt wurde
  • Es freut mich zu erfahren, dass diese Arbeit auch finanziell hilfreich war
    • Chevy Ray war ein Indie-Game-Entwickler, der zwischen 2010 und 2012 aktiv war
  • Es scheint Möglichkeiten zu geben, den Algorithmus schneller zu machen
    • Eine Möglichkeit könnte sein, die Hash-Map durch eine Bitmap und ein Byte-Index-Array zu ersetzen
  • Wer sich für Schriften interessiert, sollte sich tomorrow.type.today ansehen
    • Eines unserer Teammitglieder sammelt deren Arbeiten
  • In Rust lassen sich Aufgaben leicht auf mehreren Kernen ausführen
    • Es reicht aus, einen einzigen Aufruf in die Funktionskette einzufügen
  • Typografie ist ein schwer verständliches Feld
    • 175 Schriften zu erstellen und jede davon sinnvoll unterschiedlich zu gestalten, ist erstaunlich