[Trennmuster] Alternative Trennmusterverwendung mit LuaTeX
Stephan Hennig
sh-list at posteo.net
Do Okt 15 01:30:31 CEST 2020
[erst mal nur zum technischen Teil]
Am 13.10.20 um 22:58 schrieb Keno Wehr:
> Ich habe jetzt versucht, die Beispieldatei zum Ligaturaufbruch auch für
> die NR lauffähig zu machen. Wenn AR und NR im gleichen Dokument zum
> Einsatz kommen, funktioniert das aber nicht, da die Funktion
> „create_node_list_scanner“ in „pdnm_nl_manipulation.lua“ nur eine
> Sprache und einen Mustersatz als Argument akzeptiert. Wenn
> Ligaturaufbruch für mehrere Sprachen funktionieren soll, müssten da
> Arrays von Sprachen als Argument möglich sein.
> Mehrere solcher Scannerfunktionen würden aufgrund der Problematik mit
> dem exklusiven Callback nicht helfen.
Doch, helfen sie. Ein Node-List-Scanner hat von Callbacks überhaupt
keine Ahnung. Um den passenden Callback kümmert sich der Anwender
(Programmierer). Innerhalb eines Callbacks kann man dann so viele
(unterschiedlich parametrisierte) Node-List-Scanner auf die Knotenliste
loslassen wie einem lieb ist.
Man muss nur aufpassen, den Ablauf richtig zu organisieren. Es wäre
vermutlich falsch, erst alle Scanner mit der originalen Knotenliste zu
füttern und dann die Manipulationen anzuwenden, da das Ergebnis eines
nachgeordneten Scanners dann möglicherweise auf einen Knoten verweist,
der wegen einer bereits durchgeführten Manipulation gar nicht mehr
existiert.
Arbeitet man andererseits das Ergebnis eines Scanners erst vollständig
ab, kann das auch Rückwirkung auf das Ergebnis der Musterzerlegung
nachfolgender Scanner haben. Ich bezweifle zum Beispiel, dass die
derzeitige Worterkennung eingefügte ZWNJ einfach überliest. Die
Worterkennung ist erheblich ausbaufähig (siehe auch
lua-modules/TODO.pdnm_nl_manipulation.md).
Viele Grüße,
Stephan Hennig
Mehr Informationen über die Mailingliste Trennmuster