1 points par GN⁺ 2024-08-11 | 1 commentaires | Partager sur WhatsApp

Sommaire

  • Avant le Megapack
  • Premier pack
  • Deuxième pack
  • Héritage
  • Objectifs du Megapack
  • Plus grand et meilleur
  • Prise en charge de plus de langues
  • Variantes de style
  • Finition du kerning
  • Meilleur contrôle qualité
  • Déploiement et maintenance facilités
  • Relever le niveau
  • Étudier le design typographique
  • Références photo
  • PIFO : mon outil de police pixel
  • Fonctionnement
  • Crates utilisées
  • Étape 1 : générer la feuille de police
  • Étape 2 : créer les contours des glyphes
  • Étape 3 : table de kerning
  • Étape 5 : export
  • Tests qualité
  • Déploiement
  • Conclusion

Avant le Megapack

  • Le premier pack de polices a été créé en 2016, au début du travail sur Ikenfell
  • Un deuxième pack a été lancé en 2018, avec une qualité nettement améliorée

Premier pack

  • En 2016, un premier pack contenant 12 polices a été vendu sur itch.io
  • À l’époque, le niveau en design typographique était encore limité, mais elles ont été beaucoup utilisées dans des jeux indépendants

Deuxième pack

  • Un deuxième pack a été lancé en 2018, avec 40 polices
  • Des tables de kerning ont été ajoutées et les polices ont été proposées dans des formats adaptés à différents moteurs
  • La promotion a été faite en collaboration avec des développeurs indépendants, en utilisant des captures d’écran de jeux

Héritage

  • Le deuxième pack a été très populaire et a même été utilisé dans de grands jeux comme Cadence of Hyrule de Nintendo
  • Plusieurs polices ont aussi été utilisées dans Get in the Car, Loser de Love Conquers All Games

Objectifs du Megapack

  • Après la sortie d’Ikenfell, l’auteur était en burnout, mais a continué à progresser en programmation Rust
  • Un plan a été établi pour créer un pack de polices plus ambitieux

Plus grand et meilleur

  • Cette fois, l’objectif était d’atteindre 100 polices et de créer des polices adaptées à divers genres de jeux

Prise en charge de plus de langues

  • Les packs précédents ne prenaient en charge que les caractères ASCII, mais celui-ci a été étendu à l’EFIGS (anglais, français, italien, allemand, espagnol)

Variantes de style

  • Chaque police a été conçue pour prendre en charge différentes tailles et graisses, afin d’apporter de la variété tout en conservant une cohérence stylistique

Finition du kerning

  • Le travail de kerning a été automatisé afin de réduire le temps nécessaire et les erreurs

Meilleur contrôle qualité

  • Une méthode a été mise en place pour évaluer plus facilement la qualité globale des polices

Déploiement et maintenance facilités

  • Le processus d’upload et de déploiement a été automatisé afin de réduire les erreurs et d’améliorer l’efficacité

Relever le niveau

  • L’auteur a étudié le design typographique et rassemblé de nombreuses références

Étudier le design typographique

  • Le design typographique a été étudié à travers le livre de Richard Poulin, "Design School: Type"

Références photo

  • Diverses photos de texte ont été utilisées comme références

PIFO : mon outil de police pixel

  • Un outil nommé PIFO a été développé en Rust pour créer des polices pixel

Fonctionnement

  • L’outil génère des polices à partir d’une feuille de tuiles PNG et d’un fichier de configuration, calcule automatiquement les paires de kerning, puis exporte en fichier TTF

Crates utilisées

  • clap, image, rayon, serde, glyph-names, ab-glyph, crunch, entre autres, ont été utilisés

Étape 1 : générer la feuille de police

  • Les polices sont générées à partir d’une feuille de tuiles et d’un fichier de configuration

Étape 2 : créer les contours des glyphes

  • Les pixels sont regroupés en clusters, des contours sont générés, puis convertis en glyphes TTF

Étape 3 : table de kerning

  • La table de kerning est générée à l’aide d’un kerning manuel et automatique

Étape 5 : export

  • Les polices sont exportées sous forme de fichiers TTF, de feuilles de tuiles et d’atlas de textures compressés

Tests qualité

  • La qualité des polices est testée et les problèmes sont corrigés

Déploiement

  • Un projet itch.io est créé puis mis en ligne

Conclusion

  • En décembre 2023, le Megapack de 175 polices pixel a été lancé, avec une toolchain en Rust pour générer les polices, effectuer les tests qualité et assurer le déploiement

Résumé de GN⁺

  • Cet article fournit une explication détaillée du processus de conception et de création de polices pixel
  • Le développement d’un outil de génération de polices en Rust, ainsi que la mise en place d’un système automatisé de kerning et de contrôle qualité, sont particulièrement intéressants
  • C’est une ressource très utile pour les personnes qui s’intéressent au design de polices pixel
  • Parmi les autres projets offrant des fonctions similaires, on peut citer FontForge et Glyphs

1 commentaires

 
GN⁺ 2024-08-11
Avis Hacker News
  • Je me demande s’il y a une raison stylistique à la différence d’espacement entre « Fdj » et « Fjo »
  • La création d’une police peut prendre un an et inclut de nombreuses variantes, comme les majuscules, les minuscules, les symboles, les graisses et les italiques
    • Le crénage (espacement entre les lettres) est un travail très important, qui demande beaucoup de temps et d’efforts
    • Une police prenant en charge 176 caractères peut nécessiter 37 976 paires de crénage
    • On peut automatiser cela pour traiter l’essentiel du travail de crénage, puis ajuster manuellement si nécessaire
  • Cela rappelle une époque où il n’y avait pas de frontière entre les artistes et les ingénieurs
  • Le logiciel Metafont de Donald Knuth permet de générer des polices raster
  • J’ai aimé la police du site ainsi que son style minimal
    • Il existe un billet expliquant comment le site a été réalisé
  • Je suis heureux d’apprendre que ce travail a aussi aidé financièrement
    • Chevy Ray était développeur de jeux indépendants entre 2010 et 2012
  • J’ai l’impression qu’il doit y avoir un moyen d’accélérer davantage l’algorithme
    • Remplacer la table de hachage par un bitmap et un tableau d’index d’octets pourrait être une piste
  • Je recommande à ceux qui s’intéressent aux polices de jeter un œil à tomorrow.type.today
    • L’un des membres de l’équipe collectionne leurs créations
  • En Rust, il est facile d’exécuter du travail sur plusieurs cœurs
    • Il suffit parfois d’insérer un seul appel dans une chaîne de fonctions
  • La typographie est un domaine difficile à appréhender
    • Créer 175 polices et rendre chacune d’elles significativement différente est remarquable