Nachkorrekturen, Harmonisierungen.
[wortliste.git] / skripte / MANIFEST
blob7b0e6b8dc417fad75e6031d2bb48cf7996cfde01
1 apply-pattern.pl
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
7 # herausgefiltert:
9 #   · - = |
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
20 extract-tex.pl
21 # Dieses Perl-Skript extrahiert einfache Wortlisten aus der
22 # »wortliste«-Datenbank im Langformat (oder ähnlichen Dateien mit gleichem
23 # Dateiformat), die beispielsweise als Eingabedateien für »patgen« verwendet
24 # werden können.
26 # Aufruf:
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
36 # Die Aufrufe
38 #   perl extract-tex.pl -1 ...
39 #   perl extract-tex.pl -t -1 ...
40 #   perl extract-tex.pl -s -1 ...
42 # liefern jeweils die gleiche Ausgabe wie
44 #   sprachauszug.py -l de-1996,de-1996-x-versal ...
45 #   sprachauszug.py -l de-1901,de-1901-x-versal ...
46 #   sprachauszug.py -l de-CH-1901,de-1901 ...
49 # Optionen
50 # --------
52 # -t
53 # -s  Option »-t« wählt die traditionelle deutsche Rechtschreibung aus,
54 #     Option »-s« die traditionelle (deutsch)schweizerische Rechtschreibung.
55 #     Wenn weder »-s« noch »-t« gesetzt ist, wird die reformierte deutsche
56 #     Rechtschreibung ausgewählt.
58 # -x  Ignoriere Optionen »-g«, »-u« sowie »-1« und gib die
59 #     sprachspezifischen Felder unbearbeitet aus (inklusive Kommentare).
61 # -g  Gib Wörter mit gewichteten Trennstellen aus.  Optional kann ein
62 #     ganzzahliges Argument angegeben werden: Wert 0 gibt alle gewichtete
63 #     Trennstellen aus inklusive »-« (das ist der Standardwert), Wert 1 nur
64 #     die Trennstellen mit der höchsten Wichtung (ohne »-«), Wert 2 die
65 #     Trennstellen mit der höchsten und zweithöchsten Wichtung (ohne »-«),
66 #     usw.
68 #     Beachte, dass bei nahe beieinanderstehenden Trennstellen derzeit keine
69 #     zusätzliche Wichtung vorgenommen wird.  Beispielsweise ist in dem Wort
71 #       ab<be<ru-fen
73 #     die Trennung »abbe-rufen« schlecht, weil ganz nahe der optimalen
74 #     Trennstelle (nach »ab«).  Das Skript gibt trotzdem diese Trennstelle
75 #     als zweitbeste aus.
77 # -u  Verhindere die Ausgabe von Wörtern mit Markern für unerwünschte
78 #     Trennungen (z.B. »An<=al-.pha=bet«).  Wenn nicht gesetzt, werden als
79 #     ungünstig markierte Trennstellen entfernt (z.B. »An<=alpha=bet«).
81 # -U  Gebe Wörter mit Nicht-ASCII-Zeichen auch in Umschrift aus (z.B.
82 #     »loe-sen«, »Haen-de«).  Ausgenommen davon sind Wörter mit »ß«, weil
83 #     die entsprechenden Formen mit »ss« bereits in der Wortliste enthalten
84 #     sind.
86 # -1  (Ziffer 1) Verhindere einbuchstabige Trennungen.  Ist die Option
87 #     gesetzt, wird die erste dieser Trennungen unterdrückt, falls beide
88 #     Trennstellen gleichwertig sind (z.B. »eu-ro-päi-sche« statt
89 #     »eu-ro-pä-i-sche«), anderenfalls bleibt die stärkere erhalten (z.B.
90 #     »päd<ago-gisch« statt »pä-d<a-go-gisch«).
92 # -v  Verhindere die Ausgabe von Versalformen, wo »ß« durch »ss« ersetzt
93 #     ist.
95 # -l  (Kleinbuchstabe L) Konvertiere die Ausgabe von UTF-8 nach latin-9.
97 make-full-pattern.sh
98 # -*- coding: utf-8 -*-
100 # Dieses Skript generiert deutsche Trennmuster.
102 # Aufruf:
104 #   sh make-full-pattern.sh words.hyphenated german.tr
106 merge-wordlists.sh
107 # Fügt mehrere Wortlisten zu einer sortierten Gesamtliste der einfachen
108 # (ungetrennten) Wörter)zusammen.
110 # Eingabe: ein oder mehrere Dateinamen.
111 # Ausgabe ist nach stdout.
113 diff-patgen-input.awk
114 # Dieses Skript liest eine DIFF-Datei der Patgen-Eingabelisten (siehe
115 # Skript diff-patgen-input.sh) und zerlegt sie in Wörter,
117 #  * die neu hinzugefügt,
118 #  * die entfernt,
119 #  * deren Trennung korrigiert und
120 #  * deren Klein- und Großschreibung korrigiert
122 # wurde.  Die Wörter werden in Dateien der Form <Eingabedatei>.<ext>
123 # gespeichert.  <ext> ist entsprechend 'added', 'removed', 'case' oder
124 # 'hyph'.  Beim Aufruf des Skripts muss die Variable 'ftr' mit dem Namen
125 # der Translate-Datei für Patgen vorbelegt werden:
126 #   gawk -v ftr=<translate datei> ...
128 diff-patgen-input.sh
129 # -*- coding: utf-8 -*-
131 # Dieses Skript erzeugt Differenzbilder (diff) für die
132 # Patgen-Eingabelisten zwischen zwei angegebenen Commits.  Wird nur ein
133 # Commit angegeben, wird als Zielcommit "master" verwendet.  Die
134 # Ausgabedateien werden als Dateien
136 #   dehyph*-x/<Start-Commit-Hash>-<Ziel-Commit-Hash>.diff
138 # in Verzeichnissen gespeichert, die der jeweiligen Rechtschreibung
139 # entsprechen.  Start- und Ziel-Commit können in jeder gültigen
140 # Git-Syntax angegeben werden.  Für die Dateinamen werden die
141 # entsprechenden abgekürzten alphanumerischen Commit-Hashes
142 # verwendet.
144 prepare-wordlist.sh
145 #     $ sh prepare-wordlist.sh < Textdatei
147 # listet alle Wörter mit mindestens vier Buchstaben, die keine römischen
148 # Zahlen sind, aus einer gegebenen Textdatei auf und …
150 #     $ sh prepare-wordlist.sh < Textdatei | grep -Fixvf Prüfliste
152 # … prüft sie gegen eine ebenfalls gegebene Prüfliste von bekannten Wörtern.
153 # Eine solche Prüfliste kann beispielsweise mit
155 #   perl extract-tex.pl ../wortliste | sed 's/-//g' > wortliste.ref
157 # erzeugt werden.
159 validate.lua
160   Syntax-Test der Wortliste.  Benötigt ``texlua`` als Interpreter.
162   Aufruf:  ``texlua validate.lua < ../wortliste``
163   Optionen:
164   -h, --help                print help
165   -s, --statistics          output record statistics
167 sort.py
168   Sortiere eine oder mehrere Dateien im "Wortliste-Format".
170   Aufruf: siehe ``./sort.py -h``
172   Die `locale` Kodierung muss auf "utf8" gesetzt sein, z.B. "de_DE.utf8".
173   Unter Windows kann ggf. auch der Aufruf mit "python -X utf8" helfen.
175   Beispiele:
177   Filter:
178     ./sort.py <../wortliste > ../wortliste.sortiert
180   Zusammenfügen und sortieren:
181     ./sort.py liste.c liste.a liste.b > liste.abc
183   Einsortieren in die nach Alphabet gesplitteten Dateien „wl-a“ bis „wl-z“:
184      ./sort.py neu.todo wl-* --split -o wl-
186   Einsortieren und Patch erstellen:
187     ./sort.py ../wortliste neu.todo --diff -o ../wortliste.patch
189     Sortiere die Wortliste und erstelle einen Patch im "unified diff" Format.
190     Anwenden des Patches: ``patch wortliste < wortliste-sortiert.patch``
192   Für einen Test der inneren Konsistenz der Wortliste
193   (Doppeleinträge, Übereinstimmung Schlüssel-Trennmuster) siehe
194   skripte/python/werkzeug.py.
196 umformatierung.py
197   Wandlung zwischen Lang- und Kurzformat der Wortliste (8-Spalten/5-Spalten)
199   Aufruf: siehe ``./umformatierung.py -h``
201   Beispiele::
203      umformatierung.py -k ../wortliste > ../wlst
205      umformatierung.py ../wlst > ../wortliste.roundtrip
208 perl/
209   Perl-Module und Skripte zur Arbeit mit der Wortliste.  Siehe
210   perl/MANIFEST.
212 python/
213   Python-Module, Hilfsdateien und experimentelle Skripte zur Arbeit mit der
214   Wortliste.  Siehe python/MANIFEST
216 lua/
217   Lua-Module und Hilfsdateien zur Arbeit mit der Wortliste.  Enthält
218   u.a. eine formale Beschreibung zulässiger Wörter und Datensätze in der
219   Wortliste.  Siehe lua/MANIFEST.