1 Punkte von GN⁺ 2023-11-10 | 1 Kommentare | Auf WhatsApp teilen

Eine innovative Font-Superfamilie für Code

  • Monaspace ist ein neues Typsystem, das einen technischen Fortschritt bei der Darstellung von Code auf Bildschirmen erzielt.
  • Mit der Weiterentwicklung der Computertechnik haben sich auch die Techniken zur Anzeige und Bearbeitung von Code weiterentwickelt.
  • Monaspace bietet eine ausdrucksstärkere Palette, die über Farben und fette Schrift hinausgeht.

Font-Spielplatz

  • Die Monaspace-Fonts sind so konzipiert, dass sich unterschiedliche Fonts mischen lassen, um Code mehr Bedeutung zu verleihen.
  • Durch verschiedene Font-Kombinationen lassen sich Code mehr Struktur und Hierarchie geben.

Merkmal: Texture Healing

  • Monospaced-Schriften haben Probleme aufgrund einer uneinheitlichen Textur.
  • Texture Healing ist eine neue Technik, die dieses Problem löst, indem sie die Dichte von Monospace-Schriften gleichmäßiger macht.
  • Texture Healing wird mithilfe der OpenType-Funktion "contextual alternates" umgesetzt.

Stile

  • Monaspace verfügt über drei variable Achsen: Gewicht, Breite und Neigung.
  • Jede Achse hat verschiedene Bereiche und definiert feste benannte Gewichte und Stile.

Code-Ligatur-Funktionen

  • Monaspace enthält Code-Ligaturen für verschiedene Sprachen, die über Stil-Sets aktiviert oder deaktiviert werden können.
  • In Visual Studio Code lassen sich die gewünschten Stil-Sets über die Einstellungen aktivieren.

Meinung von GN⁺

Der wichtigste Punkt dieses Artikels ist, dass Monaspace ein neues Typsystem für die Darstellung von Code bietet, das das Potenzial hat, Entwicklerinnen und Entwicklern ein besseres Coding-Erlebnis zu verschaffen. Innovative Funktionen wie Texture Healing verbessern die Lesbarkeit von Code, und durch variable Font-Achsen lassen sich benutzerdefinierte Stile anwenden, was das Thema für Entwicklerinnen und Entwickler besonders interessant macht.

1 Kommentare

 
GN⁺ 2023-11-10
Hacker-News-Kommentare
  • Die Funktion „Texture Healing“ ist eine sehr clevere Methode, problematische Monospace-Zeichenkombinationen mithilfe von OpenType-Features zu verbessern, ohne das Raster zu zerstören.

    • Anstatt einfach Ligaturen für schwierige Zeichenpaare (z. B. mi, lm usw.) zu erstellen, werden Ersatzzeichen ausgewählt, die die feste Breite je nach umgebenden Zeichen unterschiedlich ausfüllen.
  • Nachdem ich „Texture Healing“ gesehen habe, wollte ich diese Monospace-Schrift direkt selbst ausprobieren.

    • Ich mag die Idee, Schriftarten in verschiedenen Stilen zu verwenden, aber als jemand, der hauptsächlich das Terminal nutzt, weiß ich nicht, welche Terminals das unterstützen oder ob CLI-Texteditoren dafür Unterstützung brauchen.
  • Ich bin gespannt, was die Leute von den Beispielen zu „Mix & Match“ halten.

    • Radon (eine handschriftliche Schriftart) ist im Grunde kursiv und passt deshalb gut zu anderen Schriften. Bei den übrigen Schriftarten ist es jedoch wegen derselben Metriken und anderer Merkmale schwer, zwischen den Beispielen „authoritative docstrings“ und „Copilot voice“ zu unterscheiden.
  • Trotz der vielen Ligaturen fühlt es sich immer noch nicht ausreichend an.

    • Bei Fira Code gefallen mir die Höhenausrichtung von * in *ptr, die mittige Ausrichtung von : in X:Y und die angepasste Höhe von x in 0xFF. Mir gefällt die Form der Krypton-Variante, aber schade ist, dass der Querstrich des kleinen t zu weit unter der Höhe des kleinen c liegt.
  • Das Rd-Symbol in der Radon-Schrift ist auf der Seite falsch beschriftet, was verwirrend ist. Ich sollte nachsehen, ob es tatsächlich ein Element gibt, das mit Rd beginnt.

  • Ich frage mich, warum man nicht mehr schmale Schriftarten wie PragmataPro sieht.

    • Ich nutze PragmataPro seit fast 10 Jahren, würde aber gern mehr Auswahl sehen. Berkeley Graphics verspricht seit fast einem Jahr eine schmale Version von Berkeley Mono, aber es ist nichts passiert.
  • Bei der Monaspace-Schrift muss ich die Schrift in GTK2 gvim laden, weil sie das Monospace-Flag nicht setzt.

    • Wegen dieses Flags scheinen Ligaturen nicht aktiviert zu werden. In einem gepatchten st konnte ich jedoch Ligaturen und Texture Healing sehen.
  • Ich bin verwirrt darüber, dass die gepunktete 0 bei solchen Schriftarten zum Standard geworden ist. Sie lässt sich leicht mit der 8 verwechseln, und ich bevorzuge eine 0 mit Schrägstrich.

  • Ich nutze hauptsächlich Jetbrains Mono, aber die Möglichkeit, je nach anderer Schrift verschiedene Stile anzuwenden, und die Texture-Healing-Funktion gefallen mir, sodass ich vielleicht zu dieser Schrift wechseln werde.

  • Zumindest in VS Code muss die Funktion „textual healing“ zusammen mit Programmier-Ligaturen verwendet werden. Es gibt keine Möglichkeit, Texture Healing zu aktivieren, ohne Ligaturen zu verwenden.