Text, der sich an eine Form hält

Eine Zeitschriftenseite hält Text selten in schlichten Rechtecken: Ein Zitat sitzt in einer Ecke einer Spalte, ein Bild unterbricht einen Absatz, ein Abzeichen ist rund. Von Hand wird jede Zeile einzeln vermessen und gekürzt, und die ganze Arbeit beginnt von vorn, wenn der Text übersetzt wird oder seine Länge ändert.

Hier gibt das Programm jede Form an und sonst nichts: eine Spalte mit einer Notiz in ihrer rechten oberen Ecke, einen Kreis und ein Sechseck mit einem Bildkasten in der Mitte. Der Text wird Zeile für Zeile gesetzt, jede Zeile nur dort, wo die Form sie vollständig fasst, sodass kein Buchstabe eine Kante überschreitet. Neben der Notiz enden die Zeilen acht Punkt davor; im Kreis werden sie zur Mitte hin länger; wo eine Zeile auf den Bildkasten trifft, füllt sie die Strecke links vom Kasten und läuft dann rechts davon weiter. Dieselbe Seite in sieben Sprachen, jede mit ihrer eigenen Zeilenzahl.

Was dieses Beispiel zeigt

  • Eine Textspalte, die um eine Notiz herumläuft.
  • Ein Kreis und ein Sechseck, Zeile für Zeile gefüllt.
  • Zeilen, die an einem Bildkasten vorbei weiterlaufen.

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