1 points par GN⁺ 2023-11-10 | 1 commentaires | Partager sur WhatsApp

Une super-famille de polices innovante pour le code

  • Monaspace est un nouveau système typographique qui marque une avancée technique dans l’affichage du code à l’écran.
  • Avec l’évolution des technologies informatiques, les techniques d’affichage et d’édition du code ont elles aussi progressé.
  • Monaspace propose une palette plus expressive, au-delà de la couleur et du gras.

Terrain de jeu typographique

  • Les polices Monaspace sont conçues pour pouvoir être mélangées entre elles, afin d’ajouter davantage de sens au code.
  • Différentes combinaisons de polices permettent d’apporter plus de structure et de hiérarchie au code.

Fonctionnalité : texture healing

  • Les caractères monospace posent problème en raison d’une texture irrégulière.
  • Le texture healing est une nouvelle technique qui résout ce problème en uniformisant la densité des caractères monospace.
  • Le texture healing est implémenté à l’aide de la fonctionnalité "contextual alternates" d’OpenType.

Styles

  • Monaspace dispose de trois axes variables : le poids, la largeur et l’inclinaison.
  • Chaque axe couvre différentes plages et définit des poids et styles nommés fixes.

Fonctionnalités de ligatures de code

  • Monaspace inclut des ligatures de code pour divers langages, activables ou désactivables via des ensembles stylistiques.
  • Dans Visual Studio Code, il est possible d’activer les ensembles stylistiques souhaités via les paramètres.

L’avis de GN⁺

Le point le plus important de cet article est que Monaspace propose un nouveau système typographique pour l’affichage du code, avec le potentiel d’offrir une meilleure expérience de développement. Des fonctionnalités innovantes comme le texture healing améliorent la lisibilité du code, et les axes variables de la police permettent d’appliquer des styles personnalisés, ce qui en fait un sujet particulièrement intéressant pour les développeurs.

1 commentaires

 
GN⁺ 2023-11-10
Avis sur Hacker News
  • La fonctionnalité « Texture Healing » est une manière très intelligente d’utiliser les fonctionnalités OpenType pour améliorer les combinaisons de caractères monospace problématiques sans casser la grille.

    • Au lieu de la méthode simple consistant à créer des ligatures pour des paires de lettres difficiles (par ex. mi, lm, etc.), elle utilise une approche qui sélectionne des glyphes alternatifs remplissant différemment la largeur fixe selon les caractères environnants.
  • Après avoir vu « Texture Healing », j’ai eu envie d’essayer moi-même cette police monospace.

    • J’aime l’idée d’utiliser des polices de styles variés, mais comme j’utilise surtout le terminal, je ne sais pas quels terminaux prennent cela en charge, ni si un support est nécessaire dans les éditeurs de texte en CLI.
  • Je suis curieux de connaître l’avis des gens sur les exemples « Mix & Match ».

    • Radon (la police manuscrite) fonctionne bien avec les autres parce qu’elle est en italique par défaut. En revanche, les autres polices sont difficiles à distinguer dans les exemples « authoritative docstrings » et « Copilot voice » à cause de métriques identiques et d’autres caractéristiques communes.
  • Malgré le grand nombre de ligatures, j’ai toujours l’impression que ce n’est pas suffisant.

    • J’aime l’alignement vertical du * dans *ptr dans Fira Code, le centrage du : dans X:Y, et l’ajustement de hauteur du x dans 0xFF. J’aime l’apparence de la variante Krypton, mais la barre transversale du t minuscule est placée trop bas par rapport à la hauteur du c minuscule.
  • Le symbole Rd dans la police Radon est mal indiqué sur la page, ce qui prête à confusion. Il faudrait vérifier s’il existe réellement un élément commençant par Rd.

  • Je me demande pourquoi on voit si peu de polices étroites comme PragmataPro.

    • J’utilise PragmataPro depuis presque 10 ans, mais j’aimerais voir plus d’options. Berkeley Graphics promet une version étroite de Berkeley Mono depuis presque un an, mais rien ne s’est produit.
  • La police Monaspace ne définit pas le drapeau monospace, donc il faut charger la police dans GTK2 gvim.

    • Il semble que ce drapeau empêche l’activation des ligatures. En revanche, j’ai pu voir les ligatures et le text healing dans une version patchée de st.
  • Je suis perplexe face au fait que le 0 pointé soit devenu la norme dans ce genre de polices. Il est facile à confondre avec le 8, et je préfère un 0 barré.

  • J’utilise surtout Jetbrains Mono, mais j’apprécie la fonction qui applique des styles différents selon la police ainsi que la fonction de texture healing, au point que je pourrais passer à cette police.

  • Au moins dans VS Code, la fonctionnalité « textual healing » doit être utilisée avec les ligatures de programmation. Il n’existe aucun moyen d’activer le texture healing sans utiliser les ligatures de programmation.