Déballage des polices raster Macintosh originales
Je suis un grand fan du casque raster Susan Kare
Chicago . Si vous avez plus de 25 ans, elle vous est familière en tant que police système Macintosh des années 1980 aux années 1990, puis elle a également été appelée dans un rappel pour les petits écrans des premiers iPod. La renommée du casque cache un travail solide. Les petites lettres raster sont difficiles à donner une personnalité unique et harmonieuse, mais
Chicago le fait: une police hachée à contraste élevé avec une poignée de boucles de touches qui créent une impression amicale. Cela ressemble à ceci:

J'adore son contrôle u, v, w, m, n. J'ai récemment préparé un cours très utile
sur la conception de polices modernes , après quoi je voulais démonter
Chicago et voir si je pouvais en savoir plus sur le fonctionnement de cette conception. Cette police n'est pas sur un MacBook moderne. J'ai cherché en ligne, mais j'ai rapidement réalisé que dans toutes les collections de polices gratuites, il n'y avait que des faux.
Étant donné que la police n'est pas seulement ses pixels, mais aussi les intervalles, je voulais voir le matériel source d'origine pour
Chicago . Pour ce faire, une enquête archéologique numérique était nécessaire: le Macintosh original de 1984 était le premier ordinateur de masse avec une typographie proportionnelle à l'écran, et il avait une façon tout à fait unique de stocker et de gérer les polices. (Des normes comme TrueType ne sont pas encore apparues).
J'ai une certaine expérience dans la programmation de polices, j'ai donc pu extraire de véritables données de polices de 1984 à l'aide de mon ordinateur 2018 (les détails techniques dépassent légèrement le cadre de cet article, mais si vous êtes intéressé, ils se trouvent à la fin du texte dans une note). Après avoir obtenu les données de police, de raster et d'espacement pour
Chicago , j'ai utilisé le même petit programme pour extraire toutes les autres polices bitmap Macintosh.
Voici la table complète de
Chicago dans sa seule taille native de 12 points:
M majuscule le fait vraimentL'espacement des caractères ci-dessus s'affiche comme prévu. Cela fonctionne bien, mais si vous regardez attentivement, à certains endroits, ce n'est pas parfait. Par exemple, les lettres majuscules H et I sont trop éloignées l'une de l'autre. Comme les caractères minuscules i et j. Si vous développiez cette police aujourd'hui, vous voudriez configurer le
crénage (intervalle) de ces paires spécifiques lorsqu'elles apparaissent côte à côte.
Mais les polices bitmap Mac ne prenaient pas en charge le crénage moderne pour les paires simples. Au lieu de cela, chaque symbole bitmap était accompagné d'un espace fixe à gauche et à droite, ainsi que des instructions sur l'endroit où commencer à dessiner le symbole par rapport à l'emplacement du stylo.
Voici une explication visuelle de la spécification et du rendu des caractères, tirée de la documentation
Inside Macintosh d'Apple:
Source: Inside Macintosh, Volume I (1985)Il y avait une certaine variété dans les intervalles, mais elle devait être fixée dans chaque symbole. Cela était compliqué par le fait que les polices bitmap coïncident nécessairement avec les pixels à l'écran: vous ne pouvez pas avoir d'intervalle fractionnaire, donc par définition, un positionnement parfait est impossible.
Ce que nous voyons est un conservatisme forcé avec le crénage: regardons tout le temps plus ou moins normal que vraiment mauvais dans certains cas. À
Chicago , l'espacement des caractères est généralement de deux pixels. Il y a quelques exceptions prudentes: regardez attentivement, par exemple, le T majuscule et le r minuscule.
Voici un petit exemple qui montre à la fois les forces et les faiblesses des intervalles de
Chicago :

Il serait intéressant de recréer
Chicago avec des bitmaps identiques, mais en ajoutant le crénage par paire. Cela peut améliorer la police, même si elle perdra une partie de son identité unique. Voici ma version du même texte avec quelques paramètres d'espacement manuel:
(Je veux voir un intervalle d'un demi-pixel ici avant la mort)
Il existe plusieurs autres polices bitmap Macintosh originales, presque toutes conçues par Caret et
nommées d'après les villes du monde .
Geneva est une police hachée à faible contraste (soi-disant une référence délicate à
Helvetica , mais ce n'est certainement pas faux).
New York est un texte serif strict disponible en plusieurs tailles.
New York illustre la créativité et la conception grossière d'une police bitmap. Il a beaucoup de détails (contraste) sur les grandes tailles qui disparaissent soudainement en dessous de 18 points:
Pourquoi les lettres minuscules perdent-elles leur chevauchement sur les tailles 12 et 14, ne restituant que 10?(Hmm,
c'est quelque chose qui rappelle ).
San Francisco est le nom de la police
standard actuelle d'Apple pour la marque d'entreprise, ainsi que pour l'interface utilisateur sur toutes les plates-formes. Mais les utilisateurs de longue date de Mac peuvent se souvenir de la police de style de note de rançon d'origine avec ce nom:
Les résidents de longue date de San Francisco peuvent également voir une métaphore dans la même police, mais c'est une autre histoire.
En tout cas, quel genre de mouton caché y a-t-il, demandez-vous? Eh bien, la déconstruction des ressources de polices Mac originales a révélé quelque chose de mystérieux: dans plusieurs polices, mais pas dans toutes, il y a un symbole secret inattendu caché à côté des polices régulières.
Le fait est que dans les années 80, pas plus de 256 caractères étaient disponibles. Différentes plates-formes ont attribué des codes aux personnages de manière légèrement différente. Le Macintosh d'origine utilisait un système qui allait finalement s'appeler Mac Roman. En 1984, elle n'avait toujours pas de nom, mais elle ressemblait à ceci:
Source: Inside Macintosh, Volume I (1985)Si vous lisez le tableau de haut en bas de gauche à droite, vous pouvez voir qu'il ressemble au jeu de caractères complet de
Chicago ci-dessus. En d'autres termes, Chicago a un symbole de police pour chacun des champs occupés du graphique.
Mais il y a deux zones vides dans le tableau: le côté gauche avec des numéros de code bas est réservé par accord pour les caractères de contrôle non imprimables, et le côté droit, qui est décrit dans la documentation comme suit:
"Les codes de $ D9 à $ FF sont réservés pour une expansion future .
"Ces valeurs supérieures (de la valeur
hexadécimale de $ D9 au dernier $ FF) ne correspondent donc à aucune touche du clavier ni à aucune combinaison de caractères internationaux ou autres. Il n'y a donc aucune raison pour que des informations raster existent dans n'importe quelle police pour un code de caractère inaccessible ... non?
ZhenebeeeeLa version à 18 points de Genève comprend tous les symboles familiers, mais à 9 $ D, il y a un charmant mouton illustré ci-dessus. Sur d'autres tailles,
Genève a différentes petites icônes à cet endroit (lapin, personnage, icône Mac). S'il baisse de 9 points, alors le mouton revient, mais déjà minuscule!
Petit mouton à 9 pointsÀ
Chicago, il n'y a aucun personnage à la position $ D9. Cependant, à
New York, il est différent sur chaque taille de police. Certaines images sont des répétitions d'icônes de polices non alphabétiques (
Le Caire et
Taliesin ). Mais il n'y en a pas d'autres, comme un agneau et comme de jolies empreintes de pattes (en bas) d'
Athènes - ce sont des œufs de Pâques fantaisistes.
Si vous savez quoi chercher,
voici les outils de développement qui peuvent vous montrer des images cachées. Mais je ne pense pas qu'il existe un moyen de voir ou d'utiliser normalement ces caractères $ D9 sur un Mac OS classique.
Les jeux de caractères complets de nombreuses polices Macintosh originales sont
téléchargés ici si vous voulez regarder tous les œufs de Pâques (ou étudier la conception de la grille de pixels dans un format pratique).

Le Mac OS classique avait très peu de mémoire à accès constant et aléatoire, ainsi qu'une puissance de traitement. Susan Kare, Bill Atkinson et d'autres ont fait beaucoup en termes de design et de technologie, avec si peu de ressources, et nous ont même laissé ces griffonnages cachés que les archéologues numériques ont trébuchés après tant d'années.
Remarque: méthodologie . J'ai utilisé l'émulateur Mac sur un MacBook Pro moderne pour télécharger System 7. Là, j'ai monté des images System 1 et 2 et copié leurs fichiers système et fichiers de police sur cet hôte HFS + pour économiser des ressources (et des données de police). L'application pratique Rezycle a aidé à décomposer les données des ressources en fichiers binaires. Le format de ressource binaire FONT est documenté dans Inside Macintosh dans la section Gestionnaire de polices. L'algorithme de rendu de texte QuickDraw de base est également décrit. Cela s'est avéré suffisant pour écrire un petit programme pour analyser les données de police et rendre le texte - avec une grille de pixels supplémentaire pour mieux montrer la conception et l'espacement des caractères. J'ai utilisé ce programme pour créer tous les exemples publiés ci-dessus dans cet article.
J'ai téléchargé le code du programme nettoyé sur GitHub . Il y a un dossier rempli de caractères rendus.