149 | | * Zeichen, die in den Skripten intern verwendet werden: ¤, ¥. (Diese Währungszeichen als reservierte Zeichen wurden ausgewählt, weil sie in alten Texte wahrscheinlich nicht vorkommen, aber in vielen modernen Fonts verfügbar sind.) |
150 | | |
151 | | Soweit wie möglich sollten die Korrekturen im {{{replacements:}}}-Block am Anfang des Textes stehen. Einzelfälle können aber auch direkt im Text korrigiert werden. Beispiel: Ein einzelnes {{{Hinɔ}}} wird zu {{{Hinc}}}. |
| 151 | * Zeichen, die in den Skripten intern verwendet werden: ¤, ¥. (Diese Währungszeichen als reservierte Zeichen wurden ausgewählt, weil sie in alten Texten wahrscheinlich nicht vorkommen, aber in vielen modernen Fonts verfügbar sind.) |
| 152 | |
| 153 | Soweit wie möglich sollten die Korrekturen im {{{replacements}}}-Block am Anfang des Textes stehen. Einzelfälle können aber auch direkt im Text korrigiert werden. Beispiel: Ein einzelnes {{{Hinɔ}}} wird zu {{{Hinc}}}. |
250 | | Diese Skripte in diesem Arbeitsschritt sollten problemlos durchlaufen und können in einem Meta-Skript zusammengefasst werden: |
251 | | [source:trunk/schema/scripts/workflow/Filter_3_make_wellformed.pl Filter_3_make_wellformed]. Das Skript [source:trunk/schema/scripts/workflow/Filter_3_test_wellformedness.pl Filter_3_test_wellformedness] |
252 | | prüft anschließend, ob das Ergebnis wohlgeformt ist. |
253 | | |
254 | | Wenn der Text wohlgeformtes XML ist, sollte man ihn mit Dateiendung in {{{xml}}} im Verzeichnis {{{xml/}}} statt {{{raw/}}} abspeichern. |
| 252 | Diese Skripte in diesem Arbeitsschritt sollten problemlos durchlaufen und können daher in einem Meta-Skript [source:trunk/schema/scripts/workflow/Filter_3_make_wellformed.pl Filter_3_make_wellformed] zusammengefasst werden. Das Skript [source:trunk/schema/scripts/workflow/Filter_3_test_wellformedness.pl Filter_3_test_wellformedness] |
| 253 | prüft anschließend, ob das Ergebnis wohlgeformt ist. Wenn der Text wohlgeformtes XML ist, sollte man ihn mit Dateiendung in {{{xml}}} (im Verzeichnis {{{xml/}}} statt {{{raw/}}}) abspeichern. |
265 | | [source:trunk/schema/scripts/workflow/Filter_3_02_replace_replacements.pl Filter_3_02_replace_replacements] (blöder Name!) |
266 | | |
267 | | (ebenfalls vor escape sequences: z.B. für Dinge wie {{{<< «}}}) |
268 | | |
269 | | siehe oben: könnte man noch aufteilen in forbidden, escape sequences, special instructions; aber bringt das mehr Klarheit? Wenn man es aufteilt, macht man eben drei Unter-Skripte. |
| 265 | Das Skript [source:trunk/schema/scripts/workflow/Filter_3_02_replace_replacements.pl Filter_3_02_replace_replacements] (unglücklicher Name?) ersetzt die Zeichen aus dem {{{replacements}}}-Block, beispielsweise das |
| 266 | {{{ |
| 267 | replacements: |
| 268 | << « (lines 41 to 43) |
| 269 | }}} |
| 270 | aus Schritt 2.07. Auch hier kann sich das Skript für die escape sequences drauf verlassen, dass diese Ersetzungen bereits durchgeführt wurden. |
| 271 | |
| 272 | Dieser Schritt könnte mit Schritt 3.01 fusioniert werden. Ich sehe allerdings keine unmittelbare Notwendigkeit dafür. |
274 | | Das Skript [source:trunk/schema/scripts/workflow/Filter_3_03_replace_escape_sequences.pl Filter_3_03_replace_escape_sequences] |
275 | | löst alle escape sequences auf, sowie einige weitere Schreibweisen aus den DESpecs. |
276 | | |
277 | | * escape sequences: Beachte, dass {{{\'}}} (U+0027) im Text auch als {{{\’}}} (U+2019) geschrieben sein kann. |
278 | | * Beachte auch: {{{\-}}} wird hier zu einem combining macron, weil es so im transkribierten Text steht. Später wird das in den meisten Fällen zu einer Tilde korrigiert, weil das Makron normalerweise eine falsche Transkription einer Tilde ist. Genauso ist {{{\,e}}} in den meisten Fällen in Wirklichkeit {{{ę}}}, wird aber hier zu {{{ȩ}}}. |
279 | | * Löse {{{$}}} auf |
280 | | * Zeichen, die wir absichtlich nicht in die Specs aufgenommen haben, zum Beispiel {{{<^>9</^>}}} für ꝰ (modifier letter us, U+A770) |
281 | | * löse {{{{ }}}} auf: {{{{ij}}}} auf zu {{{ij}}} (später stillschweigend zu {{{ij}}}), {{{{ae}}}} zu {{{ę}}} |
282 | | * zum Schluss: Unicode-Normalform [http://unicode.org/reports/tr15/ NRC] |
| 277 | Das Skript [source:trunk/schema/scripts/workflow/Filter_3_03_replace_escape_sequences.pl Filter_3_03_replace_escape_sequences], das in Schritt 2.05 vorbereitet wurde, löst alle escape sequences auf, sowie einige weitere Schreibweisen aus den DESpecs: |
| 278 | * Sequenzen mit \ wie {{{\'q}}} etc. |
| 279 | * {{{$}}} wird zu {{{ſ}}} ([http://de.wikipedia.org/wiki/Langes_s long s]) |
| 280 | * löse {{{{ }}}} auf: {{{{ij}}}} auf zu {{{ij}}}, {{{{ae}}}} zu {{{ę}}} |
| 281 | |
| 282 | Anschließend wird der Text in Unicode-Normalform [http://unicode.org/reports/tr15/ NRC] gebracht. |
| 283 | |
| 284 | Das Skript soll nicht mitdenken, sondern einfach das, was die Chinesen getippt haben, so gut wie möglich mit Unicode-Mitteln ausdrücken: |
| 285 | * {{{\-}}} wird hier zu einem combining macron, weil es so im transkribierten Text steht. Später wird das in den meisten Fällen zu einer Tilde korrigiert, weil das Makron normalerweise eine falsche Transkription einer Tilde ist. |
| 286 | * Genauso ist {{{\,e}}} in den meisten Fällen in Wirklichkeit {{{ę}}}, wird aber hier zu {{{ȩ}}}. |
| 287 | * Zeichen, die wir absichtlich nicht in die Specs aufgenommen haben, zum Beispiel {{{<^>9</^>}}} für ꝰ (modifier letter us, U+A770), werden hier ebenfalls noch nicht umgewandelt. (Wenn aber zum Beispiel in der Transkription subscript und superscript verwechselt wurden und das in Schritt 2 auffällt, kann man dort {{{<_>9</_> ꝰ}}} in den {{{replacements}}}-Block schreiben.) |
| 288 | * {{{{ij}}}} wird zwar hier zu {{{ij}}}, aber in einem späteren Schritt wird {{{ij}}} stillschweigend wieder zu {{{ij}}} (ohne {{{{ }}}}). |
| 289 | |
| 290 | Beachte außerdem: |
| 291 | * {{{\'}}} (U+0027) kann im Text auch als {{{\’}}} (U+2019) geschrieben sein (Problem des LaTeX-package {{{shortvrb}}}, das die einfachen ASCII-Zeichen in ihre fancy Versionen geändert hat) |