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
15 .. _PyLit: http://pypi.python.org/pypi/pylit
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
23 strukturiert den Aufruf der Skripte als Python-(Unter-)Module.
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.
42 Anwendungen der mit `patgen` generierten Pattern.
43 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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]``
55 Rund-S nach Lang-S Wandlung über "hyphenation patterns".
57 Aufruf: siehe ``./long_s_conversion.py -h``
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
74 Trennung unbekannter Wörter
75 """""""""""""""""""""""""""
77 * Ggf. mit `filter_wortliste.py`_ vorhandene Wörter und/oder Ableitungen
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
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.
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
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
134 vereinfachte Filter-Variante von ``prepare_patch.py``.
136 Aufruf: siehe ``edit_tools/edit_wortliste.py -h``
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.
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
170 patch ../../wortliste < wortliste.patch
172 auf die Wortliste angewendet werden.
174 Aufruf: siehe ``edit_tools/prepare_patch.py -h``
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).
192 Automatische Bestimmung der S-Schreibung auf Basis der Silbentrennung
193 in der `Wortliste der deutschsprachigen Trennmustermannschaft`.
196 Filter zum Wandeln von Wörtern mit Rund- und Lang-S in
197 Pseudo-Trennbeispiele (ausſagen -> aus-sagen)."""
200 Filter zum Wandeln von Wörtern mit langem S in
201 Pseudo-Trennbeispiele (ausſagen -> auss-agen, eſſen -> es-s-en).
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.
220 ``python prepare-ligature-wordlist.py input.utf8.txt output.utf8.txt log.utf8.txt``
224 Ausführliche Dokumentation für prepare-ligature-wordlist.py