[[PageOutline(1-4,,pullout)]] == 7. Was ist konkret zu tun? == === Arboreal === Tippfehler und Programmfehler bei u/v-Regeln korrigieren. (Wer macht das?) === XML-Texte === Benedetti: * entferne für ę * mdlxxxv * class="sc" zu style="sc" === Workflow === Textkorrektur: Akut statt Tonos interaktives Skript für den scholarly workflow: * ersetze `πρός` durch πρός * ersetze `exẽ plo` durch `exẽ-plo` === DESpecs === * chinesische DESpecs: bei Varianten eine ''IDS-Sequenz'' angeben lassen * uͤ versus ü markieren lassen? === Schema === mit type="unverified", wenn die automatisierte Textverbesserung beginnt === Frontend === Checkbox "faithful" als Unterpunkt von Original. Der Benutzer muss gewarnt werden, dass er für Original (auch ohne faithful) eventuell bestimmte Fonts installieren muss, zum Beispiel einen ''MUFI''-kompatiblen Font wie Andron, Junicode oder Palemonas. Der Benutzer soll für einen Text die Normalisierungen von verschiedenen Sprachschichten einstellen können. Also in den extended-Optionen für jede Sprache die Wahl zwischen allen vorhandenen Normalisierungen. Wenn man herausfinden kann, ob ein Text enthält, könnte man vielleicht auch herausfinden, welche Sprachen er laut den xml:lang-Attributen im Text enthält, und in den Optionen nur diese Sprachen auflisten? === Backend === Modulare Architektur: * Zwei ''Lex''-Dateien pro Sprache, eine für die Textanzeige und eine für die Wörterbuch-Normalisierung. In manchen Sprachen weitere Aufteilung in Sprachschichten. Falls gewünscht, schreibe ich die Lex-Dateien zumindest für die Textanzeige. * Regeln sollten leicht änderbar sein, indem man eine Lex-Datei ändert, ohne in den Java-Code eingreifen zu müssen; sowohl bei einfachen Ersetzungsregeln als auch bei algorithmischen Regeln wie u/v. * Änderungen sollten im System sofort sichtbar sein. Wenn die Lex-Dateien in Java umgewandelt werden müssen, sollte das idealerweise per Knopfdruck möglich sein. * Die Architektur muss mit offenen Klassen wie der chinesischen Zeichenliste umgehen können, wo gelegentlich Zeichen von studentischen Hilfskräften nachgetragen werden. * Trennung von sprachimmanenter Normalisierung (Beispiel "Gravis wird zu Akut") und technisch bedingter Normalisierung (Beispiel "Unicode wird zu Betacode"). Die technisch bedingte Normalisierung ist der sprachimmanenten Normalisierung nachgeschaltet. * Intern verwenden wir reines Unicode. Ein wichtiges Ziel ist, auch die Wörterbücher auf Unicode umzustellen. Falls aber zum Beispiel bei Griechisch weiterhin Betacode verwendet werden muss, brauchen wir eine modulare Architektur mit einer Unicode-Schnittstelle und kleinen Konvertierungsmodulen für die Wörterbücher, die leicht angepasst werden können. * Die Umwandlung von Käse in Kaese für ein bestimmtes Wörterbuch ist ein Beispiel eine technisch bedingte Normalisierung, die schon für das nächste Wörterbuch in der gleichen Sprache nicht zutrifft. * Aus Performance-Gründen kann man dann die Normalisierungen eventuell automatisiert zusammenfassen. Dieser Vorgang müsste bei jeder Änderung an den Original-Modulen wiederholt werden. Zentrales repository ("authority file") für die {}-Sequenzen aus dem faithful-Attribut: {πρ}, {q3-it-a}, {⿴口或} etc., mit Angaben, wie diese Sequenzen dargestellt werden. (Wenn es zu einer Sequenz keine Angabe oder Dateinamen gibt, wird sie unverändert angezeigt.) Die Informationen im faithful-Attribut sollen sinnvoll suchbar sein. Langfristig sollen zumindest die ''IDS-'' und ''IVS-Sequenzen'' als jeweils ein einziges Zeichen anzeigbar sein, siehe Ticket [https://it-dev.mpiwg-berlin.mpg.de/tracs/mpdl-project-software/ticket/40 #40]. wie vor der morphologischen Analyse verstecken === sprachspezifische Normalisierungen === alle Sprachen: * ſ wird zu s * Umgang mit Zeilenumbrüchen (siehe auch Tickets [https://it-dev.mpiwg-berlin.mpg.de/tracs/mpdl-project-software/ticket/62 #62] und [https://it-dev.mpiwg-berlin.mpg.de/tracs/mpdl-project-software/ticket/82 #82]) Latein: * ß zu ss * æ und ę zu ae * œ wird zu oe * ij wird zu ii * u/v-Regeln * nur Anzeige: * ò ô ö werden zu o, entsprechend für alle Vokale * nur Wörterbuch: * ò wird zu o; entsprechend für alle Vokale * ô wird zu o; Wortform-Disambiguierung; entsprechend für alle Vokale * ö wird zu o; entsprechend für alle Vokale Italienisch: * u/v-Regeln Englisch: * nichts? Französisch: * nichts? Deutsch (modern): * nur Wörterbuch (Celex): * Umlaute * é zu e? Chinesisch: * Wortliste mit Einträgen der Form "Standard: Variante1 Variante2 etc." Beispiel: "歷: 歴" * entferne ''ZWS'' Griechisch: * nur Wörterbuch: * Gravis wird zu Akut * Sigma: siehe [https://it-dev.mpiwg-berlin.mpg.de/tracs/mpdl-project-software/ticket/64 #64]