Typographie implementieren
Wie sollen wir also jetzt die Typographie anwenden? Nachdem wir schon die Frage beantwortet haben, was für Notensymbole wir brauchen, haben wir einen ganzen Sack voller loser Elemente, die Notenköpfe, Hälse usw. darstellen.
Wie können wir jetzt auf einmal erwarten, dass wir in der Lage wären, ein Programm zu schreiben, dass den Beruf des Notenstechers ersetzt, wo dieser doch mehr als zehn Jahre braucht, um ein Meister zu werden?
Wir können es tatsächlich nicht! Da Typographie allein durch das menschliche Auge bestimmt ist, kann der Mensch nicht ersetzt werden. Aber sehr viel mechanische Arbeit kann erleichtert werden. Indem etwa LilyPond die üblichen Situationen kennt und bewältigt, können die restlichen Fehler von Hand beseitigt werden. Das ist schon ein großer Fortschritt im Vergleich mit den existierenden Programmen. Und mit der Zeit können immer mehr Fälle automatisiert werden, so dass immer weniger Eingriffe von Hand notwendig werden.
Wie aber bauen wir ein solches System? Als wir anfingen, haben wir ein Programm mit C++ geschrieben. Das heißt aber, dass der Funktionsumfang des Programmes vom Anfang an durch die Entwickler festgelegt ist. Das erschien uns nicht ausreichend:
- Wenn manches noch von Hand eingestellt werden muss, muss der Benutzer auch Zugang zur Formatierungsmaschinerie haben. Also können die Regeln und Einstellungen nicht beim Kompilieren des Programmes festgelegt werden, sondern sie müssen während des Laufes zugänglich sein.
- Notensatz ist eine Frage des Augenmaßes, und damit auch vom Geschmack abhängig. Benutzer können mit unseren Entscheidungen unzufrieden sein. Darum müssen also auch die Definitionen des typographischen Stils dem Benutzer zugänglich sein.
- Schließlich verfeinern wir unseren Formatierungsalgorythmus immer weiter, also müssen die Regeln auch flexibel sein. Die C++-Sprache zwingt zu einer bestimmten Gruppierungsmethode, die nicht den Regeln für den Notensatz entspricht.
Weiter: Eine flexible
Programmstruktur: Formen, Entwickeln und Abstimmen der Typographieregeln