Eine Schrift hinter der Schrift

Eine Hausschrift hat selten eine Glyphe für jedes Zeichen, das ein Dokument braucht. Ein Haken, ein Stern, ein Schirm: Die Schrift enthält sie einfach nicht, und wo eine Glyphe fehlt, lässt die Anzeigesoftware ein leeres Kästchen. Das Tückische ist, dass die Lücke stillschweigend durchgeht. Die Seite sieht fertig aus, der Druck geht hinaus, und der Kunde findet die Lücke — in der einen Statuszeile von vierzig, die zufällig das Symbol verwendet.

Dahinter heißt genau das: Die Hausschrift zeichnet alles, was sie kann, und jedes Zeichen, für das sie keine Glyphe hat, wird einer zweiten übergeben, die hinter ihr steht. Die Zeile wird am Ende von zwei Schriften gezeichnet, und die kleine Liste am Fuß dieser Seite sagt, welche welches Zeichen gezeichnet hat. Die Zeile wird dadurch auch nicht höher — ihre Höhe bleibt die der ersten —, sodass eine Seite nie ihren Rhythmus ändert, weil ein Symbol von woanders kam.

Was dieses Beispiel zeigt

  • Dieselbe Zeile, einmal ohne die zweite Schrift gesetzt und einmal mit.
  • Leere Kästchen, wo eine Glyphe fehlte, dann die Zeichen selbst.
  • Eine Zeile, deren Zeilenabstand gleich bleibt, ob die Zeichen aus der ersten oder der zweiten Schrift stammen.

Der Quellcode, vollständig

Nichts ist weggelassen und nichts vereinfacht: Das ist das Programm genau so, wie es läuft, für den Entwickler, der diese Bibliothek nutzt. Die dritte ist die Beschreibung selbst: eine schlichte Liste dessen, was die Seite sagen muss, und das wird dem Dienst gesendet.

Den Rust-Quellcode lesen Den Python-Quellcode lesen Den JSON-Quellcode lesen

Das Dokument selbst

Das Dokument auf Englisch öffnen Das Dokument auf Französisch öffnen Das Dokument auf Deutsch öffnen Das Dokument auf Spanisch öffnen Das Dokument auf Italienisch öffnen Das Dokument auf Portugiesisch öffnen

Beispiele in der Nähe

Ein überlanges Wort umbrechen

Ein Wort, länger als die Spalte, die es enthält: Die Bibliothek lässt es ganz, schneidet es am Rand der Spalte ab oder schneidet es ab und schließt die Zeile mit einem Bindestrich.

Umbruchstellen nach einem Schrägstrich oder einem Bindestrich

Eine Blocksatzspalte, viermal gesetzt: Dateipfade und Komposita, die ohne Umbruchstellen über den Rand hinauslaufen, dann dort umbrechen, wo ein Umbruch nach Schrägstrich oder Bindestrich erlaubt ist, danach überall, wo ihre Interpunktion es zulässt, und schließlich mit geschützten Bindestrichen, die jedes Kompositum zusammenhalten.

Jedes Beispiel, nach Thema