Das Zeichen hat drei Register: die Bleistift-Zeichnung, das LaTeX-Register \mathbin{\star_{\scriptscriptstyle\mathrm{\hbar}}}, und die Unicode-Näherung für alles, wo nur Text geht — Plaintext-Mail, Dateinamen, Kommandozeile. Die ersten beiden stehen. Das dritte überzeugt nicht, und dieses Blatt sagt nach, warum.
Die Frage ist nicht, welches Zeichen am schönsten aussieht. Sie ist, welches bei jemand anderem ankommt. Deshalb wird hier gemessen statt behauptet: jedes Zeichen wird gegen die Breite des Ersatzzeichens U+FFFF gestellt — gleiche Breite heißt, es gibt gar keine Glyphe, und der Leser sieht ein leeres Rechteck.
Drei Schriftstände, weil ein Zeichen bei dir da sein kann und beim Empfänger nicht: Gentium allein — Noto Serif allein — die volle Kette, wie diese Seite sie setzt.
① GENTIUM TRÄGT ES · ② NOTO SERIF TRÄGT ES · ③ NUR DIE SYSTEMKETTE · ④ TOFU
Sieben Möglichkeiten, jede mit dem Einwand daneben, der gegen sie spricht.
Neo ist kein Zeichenvorrat, sondern ein Kompositionssystem — und das ist ein Unterschied, den ich zuerst übersehen hatte. Drei Mechanismen, die verschiedene Dinge tun:
Ebene 6 wählt aus, was es gibt: Mod3+Mod4 auf mathematische Zeichen.
Compose (Mod3+Tab, geschrieben ♫) setzt zusammen: ♫oc gibt ©, ♫ae gibt æ. Und, hier wird es interessant: ♫_1 gibt ₁, ♫_2 gibt ₂ — auch die meisten Buchstaben lassen sich so tiefstellen. ♫_h ergibt also ₕ.
Tote Tasten, doppelt gedrückt, geben das kombinierende Zeichen selbst aus — <dead_circumflex><dead_circumflex> liefert U+0302, nicht ein ˆ über einem Buchstaben. Damit lassen sich Zeichen bauen, die es als fertigen Codepunkt gar nicht gibt.
Der entscheidende Schnitt liegt zwischen den letzten beiden, und er hat nichts mit der Tastatur zu tun:
Komposition, die auf einem fertigen Codepunkt endet (♫_h → U+2095) ändert nur, wie bequem ich tippe. Beim Empfänger kommt derselbe Codepunkt an wie vorher, mit demselben Risiko. Für die Darstellung gewinnt sie nichts.
Komposition, die eine kombinierende Folge erzeugt (h + U+0335) ist etwas anderes: zwei Codepunkte, die die Schrift übereinanderlegen muss. Das kann gelingen, wo der fertige Codepunkt fehlt — und es kann anders scheitern, nämlich als zwei nebeneinanderstehende Zeichen statt einem.
Das lässt sich messen, und zwar anders als oben: eine kombinierende Marke hat keine eigene Vorschubbreite. Wird der Text mit ihr breiter als ohne, hat die Schrift sie nicht verarbeitet und setzt sie daneben.
Was Compose ausgibt, steht in der rechten Spalte, direkt zum Kopieren. Die Tastenfolgen sind Neo2; ♫ ist Mod3+Tab. Wo eine Folge in deiner Belegung nicht liegt, tut es die Zeichenfolge daneben.
Zum Anlegen eigener Kombinationen: ~/.XCompose unter Linux, bei ReNeo eine .module-Datei im Verzeichnis compose/. Die Zeile dafür steht jeweils in der letzten Spalte.
Neo löst das Eingabeproblem vollständig. ⋆ liegt auf Ebene 6, ℏ ebenfalls, das Tiefstellen geht über Compose, und für alles Weitere sind die Kombinationen selbst erweiterbar. Wer Neo tippt, braucht keine Zeichentabelle und keinen Kompromiss. Das ist mehr, als ich zuerst zugestanden hatte.
Das Darstellungsproblem löst es nicht, und kann es nicht lösen. Die Tastatur entscheidet, was ich schreiben kann; die Schrift des Empfängers entscheidet, was ankommt. Ein Markenzeichen hängt am Zweiten.
Für Jans eigenen Gebrauch heißt das trotzdem etwas: die Näherung muss nicht auf das leicht Tippbare Rücksicht nehmen. Wenn das Tippen ohnehin kein Hindernis ist, darf die Wahl allein danach gehen, was ankommt.
Drei Maßstäbe, und nur der erste ist gemessen. Robustheit kommt aus der Tabelle oben: die schlechteste Stufe, die ein beteiligter Codepunkt erreicht. Treue und Register sind Urteile, keine Messwerte — sie stehen hier, damit man sie bestreiten kann.
Ausgeschieden ist, was semantisch falsch ist — nicht, was schäbig aussieht. Ein Zeichen, das die Involution einer C*-Algebra meint, wäre hier der schlimmste Fehler, den man machen kann, und er fällt niemandem auf.