Python Skript update.
[wortliste.git] / skripte / MANIFEST
blobd51c1271b118d7d3a0db06e713b24c7c1068692d
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 (oder ähnlichen Dateien mit gleichem Dateiformat),
23 # die beispielsweise als Eingabedateien für »patgen« verwendet werden
24 # 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
37 # Optionen
38 # --------
40 # -t
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
59 #       ab<be<ru-fen
61 #     die Trennung »abbe-rufen« schlecht, weil ganz nahe der optimalen
62 #     Trennstelle (nach »ab«).  Das Skript gibt trotzdem diese Trennstelle
63 #     als zweitbeste aus.
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
69 #     ist.
71 # -l  Konvertiere die Ausgabe von UTF-8 nach latin-9 (wie von »patgen«
72 #     benötigt).
74 make-full-pattern.sh
75 # -*- coding: utf-8 -*-
77 # Dieses Skript generiert deutsche Trennmuster.
79 # Aufruf:
81 #   sh make-full-pattern.sh words.hyphenated german.tr
83 merge-wordlists.sh
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.
90 patgen-list-diff.awk
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,
95 #  * die entfernt,
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> ...
105 patgen-list-diff.sh
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
119 # verwendet.
121 prepare-wordlist.sh
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
134 # erzeugt werden.
136 validate.lua
137   Syntax-Test der Wortliste.  Benötigt ``texlua`` als Interpreter.
139   Aufruf:  ``texlua validate.lua < ../wortliste``
140   Optionen:
141   -h, --help                print help
142   -s, --statistics          output record statistics
144 sort.py
145   Sortiere die Wortliste und erstelle einen Patch im "unified diff" Format.
147   Aufruf: ``./sort.py wortliste`` oder ``python sort.py wortliste``
149   Anwenden des Patches: ``patch wortliste < wortliste-sortiert.patch``
151   Details mit ``./sort.py -h``
153   Für einen Test der inneren Konsistenz der Wortliste
154   (Doppeleinträge, Übereinstimmung Schlüssel-Trennmuster) siehe
155   skripte/python/werkzeug.py.
158 python/
159   Python-Module, Hilfsdateien und experimentelle Skripte zur Arbeit mit der
160   Wortliste. Siehe python/MANIFEST
162 lua/
163   Lua-Module und Hilfsdateien zur Arbeit mit der Wortliste.  Enthält
164   u.a. eine formale Beschreibung zulässiger Wörter und Datensätze in der
165   Wortliste.  Siehe lua/MANIFEST.