Monaspace : la police monochasse mais pas monotone de GitHub

Anthony Nelzin-Santos |

Les premiers terminaux n’étaient guère plus que des machines à écrire informatisées, dont les capacités (typo)graphiques étaient fort limitées. Les développeurs en ont gardé l’habitude d’utiliser des polices à chasse fixe, qui possèdent l’avantage d’une régularité facilitant l’indentation des blocs de code, mais l’inconvénient d’une monotonie qui peut nuire à la lisibilité. GitHub veut joindre l’utile et l’agréable avec sa police Monaspace, dont certains caractères sont plus égaux que d’autres.

La chasse comprend la largeur d’un glyphe augmentée de ses approches, le blanc qui entoure le glyphe pour dégager des espaces entre les caractères. Dans une police à chasse fixe, un caractère aussi étroit que le « l » prend autant de place qu’un caractère aussi large que le « m ». L’un doit être ornementé pour remplir le blanc et l’autre doit être comprimé pour rester dans ses bornes. C’est l’inconvénient de l’avantage de ces polices, leur parfaite régularité qui convient parfaitement à la mise en page des blocs de code.

Les technologies de composition permettent pourtant de varier l’approche de paire (entre deux caractères) voire l’approche de groupe (entre trois caractères) pour apporter un peu de variété sans rompre la régularité. Dans le triplet « moi », le « o » peut réduire son approche droite pour glisser vers le « i » et laisser respirer le « m ». Commit Mono, une nouvelle police tout juste publiée par Eigil Nikolajsen, utilise cette méthode pour améliorer la lisibilité.

GitHub va plus loin avec son « traitement de la texture », qui utilise le mécanisme des « alternatives contextuelles » pour changer les glyphes en fonction de leurs voisins. Ainsi dans le triplet « lmi », le « l » et le « i » réduisent leurs approches en adoptant des glyphes plus étroits pour laisser le « m » s’étendre en adoptant un glyphe plus large. La chasse reste fixe, mais le blanc entourant les glyphes change pour faire varier le rythme horizontal.

Ce sera plus clair avec une vidéo.

La police comprend de nombreuses ligatures pour les opérateurs les plus courants, un choix esthétique plus que pratique. GitHub propose cinq déclinaisons (dont une mécane et une scripte furieusement néorétro) et trois axes de variation (graisse, largeur et inclinaison) pour un total de 640 000 combinaisons. Monaspace est distribuée gratuitement sous licence OFL, sur GitHub bien entendu.

avatar Nicol8s | 

Au premier abord le sujet de la typographie paraît aride, autant l’article le rend accessible.
C’est pour ça qu’on aime Macg, des articles très intéressants sur des sujets qui vont bien au delà de l’écosystème Apple.
Merci d’élargir régulièrement ma culture informatique 🙏🏻

avatar alastorne | 

@Nicol8s

👍🏻

avatar Bilbo | 

Oh la divine surprise !

On peut être dans l'informatique et être sensibilisé à la belle typo, ce qui est mon cas. Je garde la Menlo dans mon terminal parce qu'elle tolère mieux les petits interlignes. Mais pour tout ce qui est code, la Monaspace va devenir ma typo de prédilection, je le sens. :)

À+

avatar R-APPLE-R | 

@Bilbo

La Fiat Typo était laide pardon 😈

avatar vince29 | 

Que dire du multipla alors ?

avatar R-APPLE-R | 

@vince29

👍😈

avatar occam | 

@vince29

"Que dire du multipla alors ?"

Oh, pelle !

avatar occam | 

@Bilbo

Pour ceux qui s’intéressent à l’histoire et à l’évolution des polices à chasse fixe, une référence visuelle indispensable :
https://www.slanted.de/product/mono-moment/

Et si vous avez la chance de pouvoir encore accéder à une IBM Selectric dotée d’un golfball Courier, tapez une page.
Retapez et imprimez le même texte, à l’identique, avec la police Courier de votre ordi. Comparez les deux.
Courier sur nos ordinateurs est symptomatique de ce qui a mal tourné lors de la première adaptation informatique des polices à chasse fixe, et indicateur de l’intérêt d’en créer de nouvelles.

avatar Lightman | 

@occam

Très intéressant. Dommage, rien en français.

avatar radeon | 

Perso j’aime bien mono de jetbrains, avec les ligatures c’est sympa à lire

avatar pboudoin | 

Dans le même genre, il y a également FiraCode: https://github.com/tonsky/FiraCode

avatar marc_os | 

@ pboudoin

FiraCode c'est autre chose.
Cette police permet de remplacer à l'affichage des "caractères doubles" comme: -> par des caractères "simples" comme: .

avatar occam | 

@marc_os

+1 pour FiraCode.
Dans R, à condition d’utiliser l’environnement RStudio, les ligatures fournies par FiraCode améliorent la lisibilité des opérateurs à double caractère.
Edit : je voulais ajouter quelques autres exemples où les ligatures de FiraCode facilitent la lisibilité, mais l’interpréteur HTML de MacG les lit comme balises et les transforme en balais.

avatar marc_os | 

@ occam

"en balais" ? 🧹
😳

avatar DG33 | 

@marc_os

Il a pris peur

avatar marc_os | 

SF Mono de Xcode me convient très bien.

Monaspace évite peut-être de "compresser" les lettres du type "m", en les rendant ainsi plus lisibles, mais le fait que la largeur ne soit pas respectée fait que tout l'intérêt des polices "mono space" est perdu; vu que les colonnes de lettres ne sont plus bien "alignées" en colonnes.

avatar MilesTEG | 

@marc_os

Ce n’est pas ce que j’ai compris.
Le m va prendre un chouilla plus de place en prenant sur ses deux voisines qui du coup auront un empattement un pool plus faible . Mais au final , sur la ligne , les caractères arriveront au même endroit que sur une autre ligne sans le m.
La chasse fixe me semble donc globalement respectée.
Précision : ça n’est que les variations taguées de « var » que ceci est présent, sur les autres il n’y a pas ça.

avatar Oracle | 

Merci pour cet article simple et efficace, c’est très rafraîchissant !

avatar Workke | 

Et on augmente notre vocabulaire au passage

Merci Anthony

avatar tupui | 

Ça fait toujours plaisir d’avoir de nouvelles options ! Mais je reste avec Dank Mono

avatar Tatooland | 

Le game a été plié avec JetBrain qui a sorti JetBrain Mono en open source et sous license libre.
La police a été étudié pour le code et les IDE, et il faut avouer qu’on trouve rarement mieux une fois essayé.

Après, les gars de GitHub ne sont pas des guignols donc à essayer et voir ce qu’on préfère.
Cette histoire de taille variable a l’air très intéressante. A voir comment les IDE gèrent ça.

avatar tupui | 

Sinon l’article aurait pu mentionner que le travail a en fait été fait par Lettermatic. C’est apparemment eu qui ont fait la police de certains produits de Google.

https://lettermatic.com/custom/portamento-case-study

avatar marc_os | 

I had never designed a monospace typeface when this project began, and so I began daydreaming about how I would go about it.

avatar tupui | 

@marc_os

lol oui choix intéressant de Google. Mais du coup c’était au moins la deuxième police pour GitHub 😅

avatar BeePotato | 

Je pense que j’en resterai à ce bon vieux Monaco (sans antialiasing, si possible).

avatar ataredg | 

Le JetBrain Mono est aussi très très très sympa : https://www.jetbrains.com/lp/mono/

CONNEXION UTILISATEUR