2 # Dieses Perl-Skript wendet die TeX-Trennmusterdatei $1 auf den Datenstrom
3 # an, wobei $2 als Translationsdatei benutzt wird (das ist diejenige Datei,
4 # die `patgen' als viertes Argument benötigt).
6 # Folgende Zeichen werden vor der Weiterverarbeitung aus der Eingabe
11 # Ist Option `-1' nicht gegeben, werden Trennungen direkt nach dem ersten
12 # und vor dem letzten Buchstaben in der Ausgabe entfernt, wie z.B. bei
13 # deutschen Trennungen erforderlich.
15 # Dieses Skript benützt patgen, nicht TeX! Die Trennmusterdatei darf daher
16 # keine TeX-Konstrukte (Makros u.ä.) enthalten.
18 # Aufruf: perl apply-pattern.pl trennmuster german.tr < eingabe > ausgabe
21 # Dieses Perl-Skript extrahiert einfache Wortlisten aus der
22 # »wortliste«-Datenbank (oder ähnlichen Dateien mit gleichem Dateiformat),
23 # die beispielsweise als Eingabedateien für »patgen« verwendet werden
28 # perl extract-tex.pl [Optionen...] [liste1 liste2 ...] > input.patgen
30 # Die Eingabedateien müssen in UTF-8 kodiert sein; ist keine Eingabedatei
31 # angegeben, verwendet das Skript die Standardeingabe. Beispiele:
33 # perl extract-tex.pl -l < ../wortliste > wortliste.ref.latin9
34 # perl extract-tex.pl -t ../wortliste > wortliste.trad.utf8
41 # -s Option »-t« wählt die traditionelle deutsche Rechtschreibung aus,
42 # Option »-s« die traditionelle (deutsch)schweizerische Rechtschreibung.
43 # Wenn weder »-s« noch »-t« gesetzt ist, wird die reformierte deutsche
44 # Rechtschreibung ausgewählt.
46 # -x Ignoriere Optionen »-g« und »-u« und gebe die sprachspezifischen
47 # Felder unbearbeitet aus.
49 # -g Gib Wörter mit gewichteten Trennstellen aus; Wörter mit »·« werden
50 # ignoriert. Optional kann ein ganzzahliges Argument angegeben werden:
51 # Wert 0 gibt alle gewichtete Trennstellen aus inklusive »-« (das ist
52 # der Standardwert), Wert 1 nur die Trennstellen mit der höchsten
53 # Wichtung (ohne »-«), Wert 2 die Trennstellen mit der höchsten und
54 # zweithöchsten Wichtung (ohne »-«), usw.
56 # Beachte, dass bei nahe beieinanderstehenden Trennstellen derzeit keine
57 # zusätzliche Wichtung vorgenommen wird. Beispielsweise ist in dem Wort
61 # die Trennung »abbe-rufen« schlecht, weil ganz nahe der optimalen
62 # Trennstelle (nach »ab«). Das Skript gibt trotzdem diese Trennstelle
65 # -u Verhindere die Ausgabe von Wörtern mit Markern für unerwünschte
66 # Trennungen (z.B. »An-al.pha-bet«).
68 # -v Verhindere die Ausgabe von Versalformen, wo »ß« durch »ss« ersetzt
71 # -l Konvertiere die Ausgabe von UTF-8 nach latin-9 (wie von »patgen«
75 # -*- coding: utf-8 -*-
77 # Dieses Skript generiert deutsche Trennmuster.
81 # sh make-full-pattern.sh words.hyphenated german.tr
84 # Fügt mehrere Wortlisten zu einer sortierten Gesamtliste der einfachen
85 # (ungetrennten) Wörter)zusammen.
87 # Eingabe: ein oder mehrere Dateinamen.
88 # Ausgabe ist nach stdout.
91 # Dieses Skript liest eine DIFF-Datei der Patgen-Eingabelisten (siehe
92 # Skript patgen-list-diff.sh) und zerlegt sie in Wörter,
94 # * die neu hinzugefügt,
96 # * deren Trennung korrigiert und
97 # * deren Klein- und Großschreibung korrigiert
99 # wurde. Die Wörter werden in Dateien der Form <Eingabedatei>.<ext>
100 # gespeichert. <ext> ist entsprechend 'added', 'removed', 'case' oder
101 # 'hyph'. Beim Aufruf des Skripts muss die Variable 'ftr' mit dem Namen
102 # der Translate-Datei für Patgen vorbelegt werden:
103 # gawk -v ftr=<translate datei> ...
106 # -*- coding: utf-8 -*-
108 # Dieses Skript erzeugt Differenzbilder (diff) für die
109 # Patgen-Eingabelisten zwischen zwei angegebenen Commits. Wird nur ein
110 # Commit angegeben, wird als Zielcommit "master" verwendet. Die
111 # Ausgabedateien werden als Dateien
113 # dehyph*-x/<Start-Commit-Hash>-<Ziel-Commit-Hash>.diff
115 # in Verzeichnissen gespeichert, die der jeweiligen Rechtschreibung
116 # entsprechen. Start- und Ziel-Commit können in jeder gültigen
117 # Git-Syntax angegeben werden. Für die Dateinamen werden die
118 # entsprechenden abgekürzten alphanumerischen Commit-Hashes
122 # $ sh prepare-wordlist.sh < Textdatei
124 # listet alle Wörter mit mindestens vier Buchstaben, die keine römischen
125 # Zahlen sind, aus einer gegebenen Textdatei auf und …
127 # $ sh prepare-wordlist.sh < Textdatei | grep -Fixvf Prüfliste
129 # … prüft sie gegen eine ebenfalls gegebene Prüfliste von bekannten Wörtern.
130 # Eine solche Prüfliste kann beispielsweise mit
132 # perl extract-tex.pl ../wortliste | sed 's/-//g' > wortliste.ref
137 Syntax-Test der Wortliste. Benötigt ``texlua`` als Interpreter.
139 Aufruf: ``texlua validate.lua < ../wortliste``
141 -h, --help print help
142 -s, --statistics output record statistics
145 Sortiere eine oder mehrere Dateien im "Wortliste-Format".
148 Filter: spezieller Dateiname „-“
149 ./Sort.py - <../wortliste > ../wortliste.sortiert
151 Zusammenfügen und sortieren:
152 ./sort.py liste.c liste.a liste.b > liste.abc
154 Einsortieren in die nach Alphabet gesplitteten Dateien „wl-a“ bis „wl-z“:
155 ./sort.py neu.todo wl-* --split -o wl-
157 Einsortieren und Patch erstellen:
158 ./sort.py ../wortliste neu.todo --diff -o ../wortliste.patch
160 Sortiere die Wortliste und erstelle einen Patch im "unified diff" Format.
161 Anwenden des Patches: ``patch wortliste < wortliste-sortiert.patch``
163 Details mit ``./sort.py -h``
165 Für einen Test der inneren Konsistenz der Wortliste
166 (Doppeleinträge, Übereinstimmung Schlüssel-Trennmuster) siehe
167 skripte/python/werkzeug.py.
170 Wandlung zwischen Lang- und Kurzformat der Wortliste (8-Spalten/5-Spalten)
172 Aufruf: siehe ``./umformatierung.py -h``
176 umformatierung.py -k ../wortliste > ../wlst
178 umformatierung.py ../wlst > ../wortliste.roundtrip
182 Ein Perl-Skript, das das gleiche wie »sort.py« im Filtermodus tut.
185 Python-Module, Hilfsdateien und experimentelle Skripte zur Arbeit mit der
186 Wortliste. Siehe python/MANIFEST
189 Lua-Module und Hilfsdateien zur Arbeit mit der Wortliste. Enthält
190 u.a. eine formale Beschreibung zulässiger Wörter und Datensätze in der
191 Wortliste. Siehe lua/MANIFEST.