MonoLisa, une police de caractères conçue pour améliorer la productivité des développeurs et réduire la fatigue
Quelle est votre police de caractères préférée pour le développement en 2022 ?
Être développeur revient à travailler de longues journées sur du code source. Un exercice fatiguant pour les yeux. De plus, le moindre caractère mal placé provoque une erreur. Mais le développeur cherche à faire le moins d'erreurs possible.
En effet, il peut y avoir des risques de mauvaise lecture du code, par exemple en confondant :
- 0/O (le chiffre "zéro" et la lettre "O" majuscule) ;
- 1/l (le chiffre "un" et la lettre "L" minuscule) ;
- B/8 (la lettre "B" et le chiffre "8").
De plus certaines polices ne facilitent pas la lecture des accolades ou parenthèses correspondantes, ou tout un tas d'autres petits défauts qui alourdissent la lecture du code.
Dans cette optique, les polices de caractères spécialement pensées pour les développeurs ont été créées, certaines par des développeurs eux-mêmes, d'autres par des designers, etc.
MonoLisa
MonoLisa est conçu par Marcus Sterz, un concepteur de caractères professionnel et cofondateur de la fonderie FaceType, en collaboration avec les développeurs de logiciels Andrey Okonetchnikov et Juho Vepsäläinen qui ont apporté leur vaste expertise en programmation.
« En tant que développeurs de logiciels, nous nous efforçons toujours de trouver de meilleurs outils, mais nous considérons rarement la police en tant que telle. Pourtant, nous passons la plupart de nos journées à regarder des écrans en lisant et en écrivant du code. L'utilisation d'une mauvaise police peut avoir un impact négatif sur notre productivité et entraîner des bogues. MonoLisa a été conçu par des professionnels pour améliorer la productivité des développeurs et réduire la fatigue ».
Caractéristiques
Les auteurs notent que concevoir une police à espacement fixe est beaucoup plus difficile qu'une police proportionnelle traditionnelle : être contraint par la même largeur de tous les glyphes peut entraîner une police ennuyeuse ou illisible. Aussi, ils indiquent que MonoLisa propose quelques techniques uniques qui augmentent la lisibilité et la rendent visuellement agréable à regarder pendant de plus longues périodes.
Largeur accrue
Selon les auteurs, l'augmentation de la largeur des caractères les a aidés à concevoir une police de caractères avec des formes plus naturelles et plus ouvertes. Les formes sont plus détendues, ce qui réduit la fatigue oculaire sur de longues périodes.
Distinction
La distinction est essentielle pour une bonne police de codage, car elle réduit l'ambiguïté et aide à éviter les erreurs pouvant entraîner des bogues logiciels. MonoLisa a un ensemble de glyphes qui s'emboîtent, mais sont en même temps suffisamment distincts pour que vous puissiez les distinguer.
Espace
« Les polices à espacement fixe ont tendance à avoir des espaces sombres et clairs inégalement répartis par rapport aux polices de caractères ordinaires. MonoLisa compense soigneusement le problème en utilisant des formes de lettres uniques pour maintenir l'équilibre ».
Flux de lecture
MonoLisa utilise des formes ouvertes et des terminaux (points de départ et d'arrivée) qui pointent vers les lettres voisines pour permettre à l'œil de suivre la ligne de texte avec fluidité.
Italique
Les auteurs affirment que italiques de MonoLisa ne sont pas simplement des versions inclinées de la police verticale. Certains glyphes clairement construits différemment font la différence.
Script
Si de simples italiques ne suffisent pas, une version script est disponible.
Codage des ligatures
MonoLisa est livré avec plus de 120 ligatures de codage spécialement conçues. La ligature est un symbole spécial qui combine deux caractères ou plus pour qu'il ressemble à un jeton. Les ligatures aident à réduire le bruit visuel et à équilibrer les espaces blancs en alignant les symboles spéciaux de manière appropriée.
Symboles
MonoLisa a été conçu en pensant aux développeurs. C'est l'une des rares polices à contenir des symboles à utiliser dans les CLI, y compris PowerLine.
Fonctionnalités OpenType
MonoLisa inclut de nombreuses fonctionnalités OpenType pour permettre une grande personnalisation pour les esthètes les plus exigeants.
Langues
MonoLisa prend en charge plus de 200 langues et différents alphabets, notamment le latin, le cyrillique, le grec et le vietnamien. Le français est également supporté.
Victor Mono
Victor Mono est une police à espacement fixe open source avec des italiques cursifs semi-connectés en option et des ligatures de symboles de programmation.
« La police de caractères est mince, nette et étroite, avec une grande hauteur d'x et une ponctuation claire, ce qui la rend lisible et idéale pour le code. Elle existe en sept graisses (épaisseur d'un trait ou d'un caractère) et en styles romain, italique et oblique ».
JetBrains Mono
« Pendant la majeure partie de notre journée, en tant que développeurs, nous examinons le code. Et il n'est pas étonnant que nous soyons toujours à la recherche de la meilleure police pour rendre la lecture du texte à l'écran plus agréable à nos yeux. Cependant, la logique de nombreuses polices populaires ne prend pas toujours en compte la différence entre la lecture du code et la lecture d'un livre. Nos yeux se déplacent le long du code d'une manière très différente, devant souvent se déplacer verticalement aussi souvent qu'horizontalement, ce qui s'oppose à la lecture d'un livre où ils glissent le long du texte toujours dans la même direction.
« Par conséquent, tout en travaillant sur JetBrains Mono, nous nous sommes concentrés, entre autres, sur les problèmes pouvant provoquer une fatigue oculaire lors de longues sessions de travail avec du code. Nous avons considéré des choses comme la taille et la forme des lettres ; la quantité d'espace entre eux, un équilibre naturellement conçu dans les polices monospace ; des détails inutiles et des distinctions floues entre les symboles, comme les I (i majuscule) et les 1 (chiffre) par exemple ; et avons programmé des ligatures lors du développement de notre police ».
C'est dans ce contexte que JetBrains a présenté en 2020 JetBrains Mono, une police de caractères open source spécialement conçue pour les développeurs.
Principales caractéristiques
Augmentation de la hauteur pour une meilleure expérience de lecture : les caractères restent standard en largeur, mais la hauteur des minuscules est maximisée. Cette approche maintient les lignes de code à la longueur attendue par les développeurs et améliore le rendu, car chaque lettre occupe plus de pixels.
JetBrains a fourni un comparatif à certaines autres polices. Consolas, par exemple, a des lettres légèrement plus larges. Cependant, ils sont encore assez petits, ce qui vous oblige à augmenter la taille d'un point pour rendre la police plus lisible. Par conséquent, les lignes de code ont tendance à être plus longues que prévu.
Les lettres de largeur standard de JetBrains Mono aident à garder les lignes à la longueur attendue.
Ligatures spécifiques au code : une ligature est un caractère composé de deux symboles joints ou plus. Traditionnellement, il a été introduit comme une technique peu encombrante dans les textes imprimés. Dans la programmation, cette technique est adoptée pour montrer les opérateurs et est utilisée principalement à deux fins :
- pour réduire le bruit en fusionnant les symboles et en supprimant les détails afin que les yeux soient moins sollicités ;
- pour équilibrer plus efficacement les espaces blancs en décalant les glyphes dans certains cas.
Cette police dispose de 138 ligatures spécifiques au code
Adapté à la lecture du code : la forme des ovales se rapproche de celle des symboles rectangulaires. Cela rend l'ensemble du motif du texte plus clair. Les côtés extérieurs des ovales garantissent qu'il n'y a pas d'obstacles supplémentaires pour vos yeux, car ils numérisent le texte verticalement.
Disponible dans 143 langues : parmi lesquelles l'anglais, le français, le luxembourgeois, l'allemand, l'italien et bien d'autres encore.
Autres polices de caractères
Hack
Il s’agit d’une police basée sur Bitstream Vera et DejaVu et distribuée sous licence open source MIT. Elle offre un visuel qui permet d’éviter les cas de confusion classiques (chiffre zéro et lettre « o », chiffre 1 et barre verticale). Par exemple, le chiffre zéro intègre un slash qui le distingue de la lettre « o ». Illustration au sein d’une fenêtre de l’éditeur Visual Studio Code.
DejaVu Sans Mono
Cette dernière dérive de la police Bitstream Vera et est de ce fait distribuée sous licence MIT. Elle offre également un visuel qui permet d’éviter les cas de confusion classiques (chiffre zéro et lettre « o », chiffre 1 et barre verticale). Dans ce cas, le chiffre zéro intègre un point qui le distingue de la lettre « o ». Une capture d’écran de la police sous Visual Studio Code est disponible.
Monaco
Cette police de caractère est livrée avec OS X et les versions antérieures de ce système d’exploitation pour ordinateurs de bureau d’Apple. Elle est disponible en téléchargement en ligne, mais est apparemment publiée sous licence propriétaire, ce qui veut dire que son utilisation est en principe soumise à l’obtention d’une permission de la part d’Apple. Toutefois, il existe des dépôts GitHub permettant de l’installer sur Linux et d’autres systèmes d’exploitation. D’avis d’observateurs, la police de caractères offre une bonne lisibilité du code source.
Source Code Pro
On doit cette police de caractères à l’éditeur de logiciels graphiques Adobe. Source Code Pro est basé sur OpenType, un format de fonte numérique open source, fruit d’une collaboration entre Microsoft et Adobe. Les observateurs sont d’avis que cette police de caractères offre une clarté quasi inégalée du code source.
Menlo
Cette police qui a été livrée pour la première fois avec Mac OS X Snow Leopard est basée sur le projet open source Bitstream Vera et sur la police DejaVu Sans Mono. Comme dans le cas de Monaco, de nombreux dépôts GitHub permettant d’installer la police ou une de ses variantes sur Linux ou d’autres systèmes d’exploitation existent.
Consolas
Il s’agit d’une police distribuée sous licence propriétaire par Microsoft. Elle jouit d’une popularité certaine, puisque proposée aux utilisateurs de l’environnement de développement intégré Visual Studio.
Space Mono
Cette police est publiée sous licence OFL (Open Font License) par Colophon Foundry pour le compte de Google Design. Elle est téléchargeable directement à partir du dépôt GitHub officiel.
FiraCode
Sa particularité est de faire fusionner plusieurs caractères en un seul pour une meilleure lisibilité du code. FiraCode est une extension de la police de caractères Fira Mono.
Anonymous Pro
Cette police de caractère est également publiée sous licence OFT (Open Font License). Elle adopte des schémas de différenciation (des caractères qui se prêtent le plus à la confusion) similaires à ceux de la police Hack.
Droid Sans Mono
Les habitués d’Android sauront reconnaître cette police conçue par Google pour son système d’exploitation pour dispositifs mobiles. Droid Sans Mono fait partie de la famille des polices Droid publiées par la Open Handset Alliance sous licence Apache.
Nous pouvons également citer IBM 3270 (une version moderne de la police utilisée sur les terminaux 3270 conçus par IBM à partir de 1972) ou encore InputMono. Les développeurs apprécieront chez Mononoki et Mensch les signes de comparaison ( < et > ) élargis, rendant le code plus lisible. Mononoki possède également des crochets et accolades qui dépassent visuellement des caractères, ce qui permet de repérer plus rapidement les ouvertures et fermetures. Ainsi que le "B" subtilement différencié du 8.
Sources : MonoLisa, Victor Mono, JetBrains Mono
Et vous ?
Que pensez-vous de MonoLisa ?
Quelle(s) est/sont votre/vos police(s) de caractère(s) préférée(s) pour le développement (si vous en avez plusieurs, pouvez-vous faire un classement selon vos préférences) ?
Partager