[Trennmuster] Alternative Trennmusterverwendung mit LuaTeX
Stephan Hennig
sh-list at posteo.net
Sa Sep 26 22:21:09 CEST 2020
Am 26.09.20 um 18:12 schrieb Guenter Milde:
> On 26.09.20, Stephan Hennig wrote:
>> Am 25.09.20 um 22:52 schrieb Keno Wehr:
>
>> Zunächst, mir schwebt ein Wegzug von GitHub vor. Irgend welche Einwände
>> gegen <URL:https://codeberg.org>? Das scheint von einem in Deutschland
>> eingetragenen Verein organisiert zu sein und basiert auf Gitea. Womit,
>> anders als bei repo.or.cz, ein Issue-Tracker zur Verfügung steht.
>
> Nein. Andererseits bedeutet es noch ein Nutzerkonto mehr, falls man dort
> mitarbeiten will. Das spräche für Leute aus der Trennmustergruppe für
> repo.or.cz
Wenn der Code kein "Anhängsel" ist, ist ein Issue-Tracker aber schon
sinnvoll.
>>> Eine Vereinigung von Spezial- und Normaltrennungen in einer Musterdatei
>>> würde wiederum eine neue Datenstruktur erfordern ist daher als zu
>>> aufwendig zu verwerfen.
>
>> Sehe ich auch so. Am Dateiformat der Muster würde ich nichts ändern.
>> Da ein Mustersatz immer nur eine Ja/Nein-Aussage bezüglich einer
>> Position innerhalb eines Wortes geben kann, läuft das dann auf einen
>> Strauß von Mustern hinaus. Aber das lässt sich gut durchschauen,
>> dokumentieren und automatisieren.
>
> Bei der Aufbereitung der Wortliste zu patgen-Eingabedateien mache ich gern
> mit.
Zur Aufteilung von Code bzw. Mustern: Das Padrinoma-Paket ist als
Grundlage für beliebige Knotenmanipulationen gedacht. Für eine
bestimmte Anwendung bedarf es eines Lua-Moduls, welches die
entsprechende Manipulation durchführt sowie Muster, welche angeben, /wo/
die Manipulation durchzuführen ist. Manche Anwendungsfälle sind
speziell auf eine Sprache zugeschnitten, wie etwa Spezialtrennungen.
Andere Anwendungsfälle treten in verschiedenen Sprachen auf, etwa die
Ligaturtrennung.
Einige Module für allgemeinen Anwendungsfälle können sinnvoll als Teil
von padrinoma gepflegt werden, eben Ligaturaufbruch (mal sehen) oder
auch die Trennung von Wörtern mit explizitem Trennstrich (siehe das
Beispiel
<URL:https://github.com/sh2d/padrinoma/tree/master/examples/luatex/hyphenate-with-explicit-hyphen>).
Die zugehörigen Muster und für sprachspezifische Manipulationen ebenso
die Lua-Module sehe ich dagegen als Teil eigenständiger Pakete. Ob
kuratiert, wie bei babel/polyglossia, wird sich zeigen. Jedenfalls
denke ich (Stand jetzt), ein Großteil der Zuarbeit sollte weitgehend
außerhalb von padrinoma geschehen. In unserem Fall entweder im
Wortliste-Projekt oder auch als eigenständiges Projekt. (Da es um Code
geht, mit dem Anwender in Berührung kommen, werden unweigerlich Fehler
gemeldet werden. Da wäre ein Git-Hoster mit Fehlerverwaltung auch
sinnvoll.)
>> Es gibt auch ein Beispiel im Zweig ex-long-s. Die eigentlichen Muster
>> scheinen allerdings nicht dabei zu sein. Du könntest es mal mit den
>> Mustern examples/patterns/hyph-de-1901-joint.pat.txt ausprobieren (wie
>> benötigt umbenennen). Es wird vorher geprüft, ob es sich bei einem
>> fraglichen Glyphen tatsächlich um ein s handelt und nur dann ersetzt:
>
>> if n.char == 0x73 ...
>> n.char = 0x017f
>
>> Daher könnte das klappen.
>
> Eine Suche nach "s vor Trennstelle" reicht definitiv nicht (Gegenbeispiel
> eſſen vs. Hausſchlüſſel). Auch "s vor [<=>]" reicht noch nicht,
Es geht ja erst einmal nur darum, dass man überhaupt etwas sehen kann. :-)
>> Beziehungsweise, ist ein Makefile für unseren Anwendungsfall überhaupt
>> sinnvoll? Können damit denn irgend welche Zwischenschritte eingespart
>> werden?
>
> Zumindest bei "make all", wenn einige der Muster schon aktuell sind.
Nun ja, kommt das wirklich öfter zum Einsatz?
Viele Grüße,
Stephan Hennig
Mehr Informationen über die Mailingliste Trennmuster