Nachkorrekturen, Harmonisierungen.
[wortliste.git] / skripte / python / MANIFEST
blobcda13671157ff612a66f07e0af7c8c20be3653fb
1 skripte/python
2 ==============
4 Vorwort
5 =======
7 Selbstdokumentierende Python-Module, Hilfsdateien und experimentelle Skripte
8 zur Arbeit mit der Wortliste.
10 Das Programm PyLit_ kann die ausführbaren Dateien ``*.py`` reversibel in
11 Textdokumente ``*.py.txt`` konvertieren. Mit Docutils_ lassen sich aus den
12 in reStructuredText_ geschriebenen Texten Dokumentationen im HTML- oder
13 PDF-Format erstellen.
15 .. _PyLit: http://pypi.python.org/pypi/pylit
16 .. _`pylit.py`:
17    http://repo.or.cz/pylit.git/blob_plain/HEAD:/pylit.py
18 .. _reStructuredText: http://docutils.sourceforge.net/rst.html
19 .. _Docutils: http://docutils.sourceforge.net/rst.html
22 __init__.py
23    strukturiert den Aufruf der Skripte als Python-(Unter-)Module.
26 Voraussetzungen
27 ===============
29 Python Version 3.x.
31 Alle Skripte erwarten, dass die `locale` Kodierung auf "utf8" gesetzt ist
32 (z.B. "LANG de_DE.utf8"). Unter Windows kann ggf. auch der Aufruf mit
33 ``python -X utf8`` helfen.
36 Unterverzeichnisse
37 ==================
40 patuse/
41 -------
42 Anwendungen der mit `patgen` generierten Pattern.
43 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
45 hyphenation.py
46   Implementation des von Frank Liang entwickelten  Algorithmus in Python.
47   Stellt eine Klasse zum Trennen von Wörtern bereit.
49   Geeignet zum Test der Trennmuster, als Stand-Alone Trennprogramm oder
50   Python-Trennmodul. Verwendet in hyphenate_neueintraege.py
52   Aufruf: ``./hyphenation.py [options] [words to be hyphenated]``
54 long_s_conversion.py
55   Rund-S nach Lang-S Wandlung über "hyphenation patterns".
57   Aufruf: siehe ``./long_s_conversion.py -h``
60 edit_tools
61 ----------
62 Skripte zur Arbeit mit der Wortliste
63 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
65 Formatwandlung, Neueinträge, Korrekturen
67 .. Achtung:: Experimentell
69   Die Skripte wurden für die eigene Arbeit mit der Wortliste entwickelt und
70   erfordern zum Teil Anpassungen im Quelltext, eine gewisse Einarbeitung,
71   Lesen der enthaltenen Dokumentation und gegebenenfalls Rücksprachen mit
72   dem Autor.
74 Trennung unbekannter Wörter
75 """""""""""""""""""""""""""
77 * Ggf. mit `filter_wortliste.py`_ vorhandene Wörter und/oder Ableitungen
78   aussortieren.
80 * Mit `abgleich_neueintraege.py`_ versuchen, ob Trennstellen durch Vergleich
81   mit vorhandenen Einträgen bestimmt werden können. Liefert Vorschläge für
82   gewichtete, kategorisierte Einträge, die nach Durchsicht und Korrekturen
83   mit `prepare_patch.py`_ eingepflegt werden können.
85 * Mit `hyphenate_neueintraege.py`_ Trennstellen durch Anwendung des
86   TeX-Algorithmus bestimmen. Liefert kategorisierte Einträge ohne Wichtung,
87   die nach Durchsicht und Korrekturen mit `prepare_patch.py`_ eingepflegt
88   werden können.
90 Die Ansatze können kombiniert werden::
92   ./filter_wortliste.py -an < ungetrennt.txt > neue.txt
94   ./abgleich_neueintraege.py < neue.txt > trennvorschläge.txt
96   ./hyphenate_neueintraege.py < trennvorschläge.txt > trennvorschläge2.txt
98 Die Datei ``trennvorschläge2.txt`` enthält dann nach Übereinstimmung der
99 Ergebnisse beider Verfahren sortierte Trennvorschläge. Insbesondere die
100 nicht übereinstimmend getrennten Wörter weisen auf Handlungsbedarf hin.
102 -------------------------------------------------------------------------
104 _`filter_wortliste.py`
105   Aussortieren von Wörtern aus einer Liste.
107   Eingabe: Zeilen mit ungetrenntem Wort oder Eintrag im Wortliste-Format.
108   Ausgabe: Zeilen, die nicht den Filterkriterien entsprechen.
110   Bsp::
111   
112     edit_tools/filter_wortliste.py -n -a < german.dict > neu.todo
117 _`abgleich_neueintraege.py`
118   Übertragen von Trennstellen aus (Teil-) Wörtern der "Wortliste"
119   auf neu aufzunehmende, ungetrennte Wörter oder
120   Einträge im Format der Wortliste (zum Test auf Mehrdeutigkeiten
121   oder Fehler).
123   Hilfe und Details mit ::
125     edit_tools/abgleich_neueintraege.py --help
127   Die Ausgabe kann nach ``neu.todo`` gespeichert und (nach Durchsicht) mit
128   ``prepare_patch.py neu`` in die Wortliste eingepflegt werden, z.B. ::
130     edit_tools/abgleich_neueintraege.py < neue-woerter.txt > todo.txt
133 _`edit_wortliste.py`
134   vereinfachte Filter-Variante von ``prepare_patch.py``.
136   Aufruf: siehe ``edit_tools/edit_wortliste.py -h``
139 _`wortzerlegung.py`
140   Zerlegen von Composita an den Wortfugen und Übernahme der Teile als
141   eigenständige Einträge.
143   Aufruf: siehe ``edit_tools/wortzerlegung.py -h``
145   Wird von ``abgleich_neueintraege.py`` genutzt.
148 _`hyphenate_neueintraege.py`
149   Kategorisierte Trennung mit "hyphenation"-Algorithmus.
151   Aufruf: siehe ``edit_tools/hyphenate_neueintraege.py -h``
153   Benötigt Pattern-Dateien welche über die "make" Ziele
154   ``make pattern-refo``,
155   ``make major pattern-refo``,
156   ``make fugen pattern-refo`` und
157   ``make suffix pattern-refo``
158   generiert werden können.
160   Der Hilfetext zeigt das Erstell-Datum der verwendeten Muster.
163 _`prepare_patch.py`
164   Helfer für kleine Editieraufgaben, u.a. entfernen von Doppeleinträgen,
165   Einsortieren neuer Einträge, Überschreiben mit korrigierten Einträgen, ...
167   Erstellt eine Patch-Datei. Die Änderungen können nach Korrekturlesen
168   mittels ::
170     patch ../../wortliste < wortliste.patch
172   auf die Wortliste angewendet werden.
174   Aufruf: siehe ``edit_tools/prepare_patch.py -h``
177 _`wortliste.py`
178   Python-Modul für die Arbeit mit der `Wortliste`.
179   Wird von den anderen Python-Skripten importiert.
181   Aufruf mit ``python wortliste.py`` startet einen
182   Selbst-Test der Werkzeuge und der inneren Konsistenz der Wortliste
183   (Doppeleinträge, Übereinstimmung Schlüssel-Trennmuster).
186 lang_s
187 ------
189 Lang-s Schreibung
191 s2long-s.py
192   Automatische Bestimmung der S-Schreibung auf Basis der Silbentrennung
193   in der `Wortliste der deutschsprachigen Trennmustermannschaft`.
195 de_Latf_quasihyph.py
196   Filter zum Wandeln von Wörtern mit Rund- und Lang-S in
197   Pseudo-Trennbeispiele (ausſagen -> aus-sagen)."""
199 long_s_quasihyph.py
200   Filter zum Wandeln von Wörtern mit langem S in
201   Pseudo-Trennbeispiele (ausſagen -> auss-agen, eſſen -> es-s-en).
204 ligatures
205 ---------
207 Ligaturmuster
208 ~~~~~~~~~~~~~
210 prepare-ligature-wordlist.py
212   Erstelle eine Patgen-Wortliste für Ligaturmuster.
214   Dieses Skript erstellt aus einer Wortliste im Format des
215   Trennmuster-Projekts eine Wortliste für Patgen, um Ligaturmuster zu
216   erzeugen.  Die Muster markieren dann die Stellen, an denen Ligaturen
217   unterdrückt werden müssen.
219   Aufruf:
220   ``python prepare-ligature-wordlist.py input.utf8.txt output.utf8.txt log.utf8.txt``
222 LIESMICH.md
224   Ausführliche Dokumentation für prepare-ligature-wordlist.py