- Eine Monospace-Schriftart, die in Programmiersprachen häufig verwendete Symbole gleichwertig mit dem Alphabet behandelt, mit dem Ziel visueller Harmonie im Code-Editor
- Durch ein ASCII-symbolzentriertes Design wird die Ausrichtung mehrteiliger Symbole wie
->, ::, =~ verbessert und zugleich ausgewogene Strichstärken sowie klare Unterscheidbarkeit geboten
- Unter Berücksichtigung der sprachspezifischen Lesbarkeit werden Formen von Symbolen und Operatoren in Perl, Haskell, C usw. klar dargestellt
- Derzeit wird sie in einer einzigen Strichstärke und ohne Ligaturen angeboten; in Linux-Umgebungen wird synthetisches Fett über fontconfig·pango unterstützt
- Wird unter der SIL Open Font License 1.1 veröffentlicht und kann frei genutzt und angepasst werden
Überblick über Myna
- Myna ist eine Monospace-Schriftart, die Symbole als Glyphen erster Klasse behandelt, mit Fokus auf einer höheren visuellen Konsistenz von Symbolen in Programmiersprachen
- Behebt das Problem, dass Symbole wie
->, $, @, % in bestehenden Schriftarten oft unnatürlich wirken
- Bewahrt die Schlichtheit von ASCII und ahmt zugleich den ästhetischen Effekt von Ligaturen nach
Hauptmerkmale
- Symbol-First Design: Entworfen mit Fokus auf ASCII-Symbole, die in Programmiersprachen allgemein verwendet werden
- Präzise Ausrichtung: Verbessert die Ausrichtungsgenauigkeit mehrteiliger Symbole wie
->, >>=, :: und erhöht so die Lesbarkeit von Code
- Ausgewogene Strichstärke (Weight): Der Kontrast zwischen Symbolen und Buchstaben bleibt harmonisch
- Minimale Formensprache: Anführungszeichen, Kommas usw. sind zu geometrischen Formen vereinfacht
- Klare Unterscheidbarkeit: Verwechslungsanfällige Zeichen wie
1, l, I, |, 0, O, o lassen sich deutlicher unterscheiden
- Sprachbewusstes Design: Perl-Sigils, Haskell-Operatoren und die Symbolnotation in C werden jeweils klar dargestellt
Entwicklungshintergrund und aktueller Stand
- Die Schriftart wurde direkt erstellt, weil die Entwickler mit den Details der Glyphen bestehender Monospace-Schriften unzufrieden waren
- Wurde veröffentlicht, nachdem der Entwickler sie über längere Zeit in beruflichen und privaten Projekten verwendet hatte
- Derzeit als Version mit nur einer Strichstärke und ohne Ligaturen verfügbar; je nach Nachfrage sind Erweiterungen möglich
- Unterstützung für synthetisches Fett über fontconfig und pango in Linux-Umgebungen
- Veröffentlicht unter der SIL Open Font License 1.1
- Die erste Version begann mit Hera (einer auf Source Code Pro basierenden Anpassung)
- Wurde unter Bezug auf die Stärken verschiedener Schriftarten wie Fira Mono, Inconsolata, Plex Mono, Office Code Pro, Anonymous Pro weiterentwickelt
Weitere Pläne
- Ziel ist der universelle Einsatz in Terminals und Editoren
- Enthält teilweise auch nicht-ASCII-Glyphen (geometrische und mathematische Symbole usw.)
- Je nach Community-Feedback sind Glyphenerweiterungen und zusätzliche Funktionen geplant
2 Kommentare
Ich nutze die JetBrains-Schriftart, daher finde ich das interessant.
Hacker-News-Kommentare
Ich bin vor Kurzem genau wegen dieser Schlichtheit zu Iosevka gewechselt (ausgesprochen Joseph).
Iosevka GitHub-Link
Interessant ist, dass der Quellcode dieser Schrift so klar strukturiert ist, dass man ihn tatsächlich lesen kann.
Die frühere Version, Hera, war eine nicht komprimierte Variante auf Basis einer angepassten Source Code Pro.
Ehrlich gesagt verstehe ich die Beschreibung „Schrift für symbol-lastige Sprachen“ nicht ganz. Die Symbole sehen ziemlich gewöhnlich aus. Vielleicht ist nur der Abstand etwas größer?
->,>>=oder::perfekt ausgerichtet sind.Die Schrift sieht ziemlich schön aus. Allerdings scheint im Beispiel das Zeichen emdash (—) zu fehlen. Ich nutze oft Markdown, und viele Programmierschriften stellen dieses Zeichen falsch dar.
Der Screenshot hilft bei der Beurteilung deutlich mehr als bei anderen Schriften.
Wenn es gewünscht ist, prüfe ich aber eine Verbesserung.
Wie bei vielen Schriften wirkt auch hier die Ausrichtung der vertikalen Pfeile (↑↓) etwas unnatürlich.
Das Zeichen
^war ursprünglich für den Circumflex-Akzent aus der Schreibmaschinenzeit gedacht. Deshalb ist seine Höhe asymmetrisch. Ich fände es gut, wenn der untere Teil des Caret symmetrisch zuvwäre.↑zu verwenden?vist nicht fair.Eine Schrift sollte vorhersehbare Formen beibehalten.
Zur Beschwerde „
->sieht nicht wie ein Pfeil aus“: Die echte Lösung ist, tatsächliche Pfeile wie ←→ zu verwenden. Hoffentlich unterstützen Sprachen irgendwann eine bessere typografische Qualität.JuliaMono ist eine Schrift, die für die vollständige Unicode-Unterstützung der Sprache Julia entworfen wurde.
Die Schrift ist schön, aber oben im „Lorem“-Beispiel wirkt der Zeichenabstand zu groß, sodass das Kerning etwas unnatürlich erscheint. Mich persönlich stört das.
Ligaturen sind unter Entwicklern ein ziemlich umstrittenes Thema.
Manche sagen, Code werde dadurch schöner und leichter lesbar, andere finden, das Verbergen von Symbolen sei unnötig oder unehrlich.
Wieder andere sagen, dass Ligaturen gar nicht nötig wären, wenn die Sprache Unicode richtig unterstützen würde.
Letztlich hat dieses Projekt alle drei Lager gleichzeitig gereizt, und genau deshalb ist es noch interessanter. Ich habe auf GitHub einen Stern vergeben.
Die Symbole scheinen neben Kleinbuchstaben zu hoch platziert zu sein. Das wirkt wie ein Nebeneffekt der Ausrichtung an Klammern. An der Balance fehlt es ein wenig.
Wenn man mit der Tradition bricht, kann die Lesbarkeit sogar besser werden. Der Bindestrich wurde so entworfen, dass er mit
>ausgerichtet ist und dadurch eine Pfeilform bildet.Es gibt bereits eine Icon-Schrift namens Myna UI. Das könnte zu Verwechslungen führen.