[Trennmuster] Skript zum Erstellen einer Wortliste für Ligatursatzmuster
Stephan Hennig
sh-list at posteo.net
Fr Aug 12 18:21:10 CEST 2016
Am 09.08.2016 um 23:52 schrieb Lukas Sommer:
>> Kannst du mal kurz darlegen, wie Patgen-Muster in OpenType
>> verwendet werden können?
>
> Hm, ich verwende sie gar nicht in den OpenType-Schriften selbst,
> sondern in einem Skript für Scribus …
OK, dann habe ich den ursprünglichen Bezug zu OpenType-Schriftarten
falsch verstanden.
> Eine saubere Lösung ist es, innerhalb von deutschem Text die Ligaturen
> mit dem dafür vorgesehenen Zeichen, nämlich einem Bindehemmer
> (Unicode-Zeichen U+200C ZERO WIDTH NON-JOINER), dort zu unterdrücken,
> wo sie nicht hingehören. Das führt dann zum beabsichtigten Ergebnis,
> und zwar sowohl für die OpenType-Standardeinstellung
> (Standardligaturen ja, Schmuckligaturen und historische Ligaturen
> nein) als auch für abweichende Einstellungen, die der Benutzer
> auswählt. Auch wenn die Schriftart sehr exotische Schmuckligaturen
> enthalten sollte, kann man mit dem Bindehemmer das richtige Ergebnis
> erziehen.
An welcher Stelle fügst du die Bindehemmer ein? Bietet Scribus Zugriff
auf interne Datenstrukturen oder änderst du die Eingabedatei?
> Deshalb habe ich ein Skript für Scribus-CTL geschrieben. Das Skript
> ist auch in die Entwicklerversion von Scribus-CTL aufgenommen worden
> (https://github.com/HOST-Oman/scribus/blob/ctl/scribus/plugins/scriptplugin/scripts/Ligatursatz.py)
> und ich hoffe natürlich, dass es es auch in die endgültige Version
> schafft. Das Skript fügt im Text fehlende Bindehemmer ein und löscht
> Bindehemmer an falschen Stellen. Und die Information, wo Bindehemmer
> hingehören, die holt sich das Skript aus einem eigens dafür erzeugten
> Ligatursatz-Bindehemmer-Patgen-Muster. (Im Grundsatz: Dort, wo in der
> Wortliste „<“, „>“ und „=“ auftreten, werden Ligaturen unterdrückt.
> Nicht jedoch dort, wo „-“ auftritt.)
>
> Das Scribus-Skript ist recht ausführlich kommentiert (wenn auch in
> schlechtem Englisch). Falls sich das jemand durchlesen möchte, nur zu!
> Über Rückmeldungen freue ich mich.
Ich habe musterbasierte Ligaturen mal testweise für LuaTeX
implementiert, <URL:https://github.com/sh2d/padrinoma/>. Das
Repositorium enthält auch entsprechende Muster. Leider habe ich seit
längerem keine Zeit mehr gehabt, mich diesem Thema zu widmen. Das
Repositorium enthält die verwendeten Muster
(examples/patterns/hyph-de-1901-joint.pat.txt), allerdings keine
Skripten, um diese zu erzeugen. Mir fällt dabei ein, dass ich früher
die Idee hatte, für jede Ligatur eigene Muster zu verwenden. Der
Vorschlag, "Morphemmuster" zu verwenden, die nicht auf konkrete
Ligaturen zugeschnitten sind, stammt mit Sicherheit von Günter. Wie
gesagt, fehlt mir momentan aber der Einblick, wie die Muster im
Repositorium tatsächlich erzeugt wurden. Eine astreine Lösung war es
nicht, sonst würden sich die Skripten in einem von beiden Repositorien
finden. Wenn du diese Lücke mit deinen Skripten schließen kannst, wäre
das toll!
Viele Grüße,
Stephan Hennig
Mehr Informationen über die Mailingliste Trennmuster