[größer] [kleiner]

Ligatur­satz für die deutsche Sprache.
Ein Indesign-Skript.

Ein­führung

Einige Buchstaben­kombinationen sind eine Heraus­forderung für die Gestaltung von Schrift­arten. Ein gutes Beispiel ist die f‑i‑Kombination. Das kleine f ist oft aus­ladend gestaltet, und so ent­steht eine unschöne Lücke zwischen dem kleinen f und dem kleinen i:

Erf‌indung Erf‌indung

Viele Schriftarten lösen dieses Problem durch Ligaturen. Die Buch­staben werden ver­schmolzen; so wird die Lücke ver­mieden und das Schrift­bild wirkt harmonischer:

Erfindung Erfindung

Im Deutschen gibt es nun viele zusammen­gesetzte Wörter. Ligaturen erschweren hier aber das Lesen:

Chefingenieur Chefingenieur

Des­halb wird bei deutschen Texten in solchen Fällen keine Ligatur gesetzt:

Chef‌ingenieur Chef‌ingenieur

Down­load und Instal­la­tion

  1. Laden Sie die neueste Version herunter. Es handelt sich um ein 7z‑Archiv.

  2. Ent­packen Sie das Archiv mit einem ge­eigneten Pack­programm. Das Archiv ent­hält einen Ordner namens Ligatursatz, der etwa 100 MB Speicher­platz belegt.

  3. Starten Sie Indesign. Wenn die Skript­palette nicht sicht­bar ist, dann wählen Sie im Menü Fenster → Hilfsprogramme → Skripte um sie anzuzeigen. (In älteren Indesign-Versionen: Fenster → Automatisierung → Skripte)

  4. In der Skript­palette wählen Sie den Register­reiter Skripte. Klicken Sie mit der rechten Maus­taste auf den Eintrag Benutzer (Installa­tion nur für das aktuelle Benutzer­konto) oder alternativ auf den Ein­trag Anwendung (Installa­tion für alle Benutzer­konten, benötigt Administrator­rechte). Wählen Sie dann Im Explorer anzeigen (Windows) beziehungs­weise Im Finder anzeigen (Mac), um den Ordner zu öffnen.

  5. Ver­schieben Sie den Ordner Ligatursatz direkt dort­hin.

  6. Beenden Sie Indesign und starten es erneut.

Der Ligatur­satz steht jetzt im Menü­punkt Bearbeiten zur Ver­fügung.

Wenn sie darüber hinaus einen Tastatur­befehl für den Ligatur­satz ein­richten möchten, dann kopieren Sie die Datei Ligatursatz/​Ligatursatz.js nach Scripts Panel/​Ligatursatz.js. Danach steht der Ligatur­satz unter Bearbeiten → Tastaturbefehle… zur Ver­fügung.

Funk­tions­weise

Ligaturen werden überall dort gesetzt, wo sie nicht durch einen Binde­hemmer (Unicode-Zeichen U+200C, in Indesign als Sonderzeichen mit dem Namen Verbindung unterdrücken bekannt) unter­drückt werden.

Dieses kleine Skript arbeitet sich nun Wort für Wort durch den Text. Dabei werden nur Wörter berück­sichtigt, die in der Zeichen­formatierung als deutsch aus­gezeichnet sind und mindes­tens drei aufeinander­folgende Buch­staben ent­halten. Für jedes dieser Wörter wird dann ein Ligatur­satz mittels Binde­hemmer vor­geschlagen.

Dieses Skript arbeitet mit einem Wörter­buch, in dem für viele Wörter der passende Ligatur­satz hinter­legt ist. Bei Wörtern, die nicht im Wörter­buch ver­zeichnet sind, ver­sucht das Skript, den passenden Ligatur­satz zu „erraten“.

Das Skript schlägt einen Binde­hemmer an allen Morphem­grenzen vor, und zwar unabhängig davon, ob die unter­drückte Ligatur gebräuchlich ist oder in der dort ver­wendeten Schrift­art überhaupt vor­kommt. Somit wird beim Wort Auf‌lage die häufig anzutreffende f‑l‑Ligatur durch einen Binde­hemmer unterdrückt. Aber auch beim Wort Auf‌gabe wird zwischen f und g ein Binde­hemmer gesetzt, obwohl eine f‑g‑Ligatur nicht gebräuchlich ist. Dieses Vor­gehen hat den Nach­teil, dass wohl viele Binde­hemmer gesetzt werden, die keinen Effekt haben, weil die Schrift­art diese Ligaturen überhaupt nicht enthält. Dieses Vor­gehen hat aber den Vor­teil, dass es im Grund­satz für alle Schrift­arten funktioniert – auch dann, wenn Schmuck­ligaturen ver­wendet werden oder die Schrift­art exotische Ligaturen ent­hält.

Dank­sagung und Lizenzen

Dieses Skript basiert auf Daten und Programm­code anderer Projekte. Ohne diese Projekte wäre dieses Skript nicht möglich. Ihnen gebührt deshalb besonderer Dank.

Das Trennmuster-Projekt stellt eine sorg­fältig erstellte und recht umfassende Liste deutscher Wörter mit Wort­trennungen und Morphem­grenzen zur Ver­fügung. Aus dieser Liste wird das hier ver­wendete Wörter­buch erzeugt. Außer­dem werden aus dieser Liste die Muster erzeugt, die für Wörter benutzt werden, die nicht im Wörter­buch stehen. Die Wortliste steht unter der MIT-Lizenz.

Hypher ist Bram Steins JavaScript-Implementierung von Frank Liangs Algorithmus zur Muster­erkennung. Dieser Programm­code wird hier für Wörter benutzt werden, die nicht im Wörter­buch stehen. Er steht unter der BSD-Lizenz.

Der Unicode-Standard beschreibt einen Algorithmus zur Zer­legung eines Textes in einzelne Wörter und stellt die dazu nötigen Daten bereit. Dieser Algorithmus wird hier ver­wendet, um den Text in einzelne Wörter zu zer­legen. Es gilt eine eigene Unicode-Lizenz.

Die Beispiele in diesem Hand­buch sind in der Schrift­art EB Garamond von Georg Duffner gesetzt. Die mit viel Liebe zum Detail gestaltete EB Garamond verfügt nicht nur über Ligaturen, sondern auch über besondere kontext­bedingte Varianten für den Fall, dass Ligaturen unter­drückt werden. Wenn beispiels­weise im Wort Chef‌ingenieur die f‑i‑Ligatur unter­drückt wird, dann ver­wendet die EB Garamond nicht das normale, aus­ladende f, sondern eine Variante mit kurzem Arm, die die Lücke vermeidet. Diese Schrift­art steht unter der Open Font License.

Das Hand­buch selbst ver­wendet die Schrift­art Charis SIL von SIL International, die auch bei geringer Auflösung (zum Beispiel am Bild­schirm) noch gut lesbar ist. Diese Schrift­art steht unter der Open Font License.

Der übrige Programm­code kann wahl­weise unter der MIT-Lizenz oder der CC0 ver­wendet werden.

Bei der Programmierung wurden zur Qualitäts­sicherung Modul­tests erstellt. Diese Modul­tests laufen direkt in InDesign dank Extendables, einer Bibliothek, die die Test­umgebung Jasmine für InDesign zur Ver­fügung stellt. Extendables und auch Jasmine stehen unter der MIT-Lizenz, enthalten aber Programm­code von Dritt­anbietern, der unter anderen Lizenzen steht.

Mico Loretan hat mit Selnolig ein hervor­ragend dokumentiertes Ligatursatz­paket für Tex ent­wickelt. Die Lektüre hat mir sehr bei der Ent­wicklung dieses Skripts geholfen. Programm­code wurde nicht über­nommen.

Sie können die Lizenzen hier im Wortlaut nachlesen.