Technische Beschreibung von KSL, Version 1.0 Vivian Aldridge Sehbehindertenhilfe Basel Zrcherstrasse 149, 4052 Basel, Schweiz E-Mail: vivaldi@braille.ch (privat) Telefon: +41/61.564.04.47 (Dienst) oder +41/61.321.83.05 (privat) Inhalt - Allgemeines - PSK - Die Struktur von KSL.TAB - MFA und MFALEK - Die Struktur von LEK00.MFA Allgemeines Der KSL-Ablauf besteht aus zwei Schritte: - Vor Behandlung durch das HSB-VOPROS-Programm wird der Text mit Unterstrichzeichen versehen, um noch nicht gelernte Krzungen zu verhindern. Dies erfolgt mittels des Programms PSK und der Tabelle KSL.TAB. - Vor der endgltigen Formatierung durch SBSFORM werden Nachkorrekturen durch das Programm MFA mittels Suchen und Ersetzen vorgenommen. Fr jede Lektion gibt es eine entsprechende Liste der Such- und Ersatzbegriffe. PSK Die Programmierung von PSK ("Punktschrift-Krzungen") ist seit der ersten Testversion kaum weiterentwickelt worden. Der grundlegende Algorithmus scheint erst bei einer Erweiterung des Listenkonzeptes berholt werden zu mssen. Der Komfort bezglich Aufrufm”glichkeiten ist jedoch minimal: Die anzuwendende Liste kann (muss) mitangegeben werden, die Ein- und Ausgangsdateien mssen dagegen TEST.EIN und TEST.AUS heissen. Diese Einschr„nkung wird in den Batch-Dateien aufgefangen. Der Aufruf erfolgt mit folgender Syntax PSK lektionsnummer [eingangsdatei] [ausgangsdatei] /Ttabellenname ... (lektionsnummer ist die Nummer der erreichte Lektion; tabellenname ist der Name der zu verwendende Tabelle ohne Erweiterung. Fr weiterer Parameter sehen Sie die Programmhilfe, die mit einem Fragezeichen beim Aufruf angezeigt wird). Die Tabellendatei - in unserem Fall KSL.TAB - teilt PSK mit, welche Krzungen in welchen Lektionen eingefhrt werden, an welchen Positionen in einem Wort die Buchstabengruppen gekrzt werden, wo das Zeichen fr die Krzungsverhinderung jeweils platziert werden soll und bei welchem Ausnahmen die Verhinderung unterbunden werden soll. Um den ganzen Vorgang zu beschleunigen, erstellt PSK bei Bedarf Tabellen fr die einzelnen Lektionen. Diese heissen jeweils KSL.Txx, wo xx fr die zweistellige Lektionsnummer steht. Bei sp„teren Umwandlungen fr eine Lektion, fr die eine Tabelle besteht, wird auf diese Tabelle zurckgegriffen, solange sie die genau gleichen Titelzeilen aufweist wie KSL.TAB. Ansonsten wird die Lektionstabelle neu erstellt. Die Struktur von KSL.TAB Die Titelzeilen: Die ersten zwei Zeilen werden durch zwei vorangehenden Semikola als Titelzeilen deklariert. Anhand eines Vergleichs mit diesen Zeilen wird die Aktualit„t der Tabellen fr die einzelnen Lektionen geprft. Um zu vermeiden, dass alte Lektionstabellen verwendet werden, muss bei jeder Žnderung von KSL.TAB auch eine Žnderung in diesen Zeilen vorgenommen werden. Die Krzungen: Die einzelnen Krzungen werden jeweils in einer Zeile dargestellt, die folgende Struktur aufweist: - Eine zweistellige Zahl, die angibt, in welcher Lektion die Krzung erstmals angetroffen wird. - Zwei Zeichen, die grob darstellen, unter welchen Umst„nden normalerweise gekrzt wird (s. unten). - Die Buchstabenkette fr die Krzung mit einem Unterstrichzeichen an derjenigen Position, wo das Zeichen gegebenenfalls eingefgt werden soll. Mit den zwei Zeichen, die auf die Umst„nde der normalen Krzung der Buchstabengruppe hinweisen, soll vermieden werden, dass Krzungen "verhindert" werden, die sowieso nicht zu Stande kommen wrden. Es hat beispielsweise keinen Sinn, einen Unterstrich nach dem i von "Liste" einzufgen, um die Krzung fr "ist" zu verhindern, da sie an dieser Position nicht eingesetzt wird. Das erste Zeichen gibt an, was vor der Buchstabengruppe stehen muss, so dass normalerweise gekrzt wird. Das zweite Zeichen liefert analoge Informationen ber das Zeichen nach der Buchstabengruppe. Die Codierung ist folgendermassen: - Strich (-) = irgendein Zeichen - Dollar ($) = nur Buchstaben (oder Auslassungsstrich) - Punkt (.) = nur Interpunktion, Leerschritt oder Zeilenanfang bzw. Zeilenende - Doppelpunkt (:) = nur Interpunktion (ohne Strich), Leerschritt oder Zeilenanfang bzw. Zeilenende (fr die Krzungen "im" und "ver") Als Auslassungsstriche werden Striche erkannt, die am Anfang bzw. am Ende der Zeile oder aber neben einem Leerschritt stehen. Demzufolge wird eine Krzungen, die - wie "ist" - nur allein stehen kann mit zwei Punkten (..) versehen, eine Vorsilbe mit Punkt und Dollar (.$), die berall verwendbare Krzung "an" mit zwei Strichen (--) usw. Bei der Textbehandlung wird nur dann eine Krzung verhindert, wenn sie laut diesen Zeichen an der betreffenden Position berhaupt m”glich w„re. Die Ausnahmen: Die primitive Methode der Krzungsverhinderung hat seine Tcken. Es k”nnte zum Beispiel sein, dass in irgendeinem Lehrgang "berhaupt" vor "haupt" gelernt wird. Mit der Verhinderung von "haupt" durch einen Unterstrich, kann auch "berhaupt" nicht gekrzt werden. Deswegen msste angegeben werden, dass "haupt" berall verhindert werden soll, ausser im Wort "berhaupt". Fr jede Lektion sucht PSK nach solche "interne" Ausnahmen, also nach denjenigen, die anhand der eingetragenen Krzungen entstehen. Sie werden in den Tabellen fr die einzelnen Lektionen entsprechend aufgezeichnet. Es mssen daher nur Ausnahmen angegeben werden, die Buchstabengruppen tangieren, die keine Krzung darstellen. Dies ist haupts„chlich dort n”tig, wo die Krzungsverhinderung zu einem so verzerrten Wortbild fhren, dass sogar erlaubte Krzungen nicht erkannt werden. Ausnahmen zu einer Krzung werden in den Zeilen unmittelbar nach den jeweiligen Krzungsangaben folgendermassen mitgeteilt: - Nach etwas Leerraum stehen zwei Zeichen, die - analog denjenigen fr die Krzungen selber - die Bedingung fr den Einsatz der Ausnahme angeben. - Die Ausnahme selber steht natrlich ohne Unterstrich. - Eine Zahl gibt die Lektion an, ab der die Ausnahme gilt. Die Gltigkeit der Ausnahme erlischt in derselben Lektion wie die Verhinderung der betreffenden Krzung. MFA und MFALEK Vor der letzten Punktschriftreform wurde PSK fr die Lehrg„nge von Lutter und Donadt eingesetzt, wobei das Verfahren mit Krzungsverhinderung verh„ltnism„ssig selten zu Verzerrungen des Wortbilds fhrte. Aufgrund der Reformen der Rechtschreibung und der Punktschrift wurden Žnderungen in SBSBRL vorgenommen, die mehr Probleme dieser Art hervorbringen. Damit wurde eine Nachkorrektur der teilgekrzten Texte notwendig. Die Anwendung von VOPROF-Listen zu diesem Zweck w„re m”glich, ich habe jedoch auf ein Programm zurckgegriffen, die ich fr andere Bereiche der Aufbereitung von Punktschrifttexten geschrieben hatte. Obwohl MFA beispielsweise einen Text in Seiten einteilen und mit Fusszeilen und Seitenzahlen in Punktschrift versehen kann (was hier nicht gebraucht wird), kann es keine Lektionstabelle aus einer Haupttabelle extrahieren. Um MFA nicht erweitern zu mssen, schrieb ich das kleine Programm MFALEK, dessen einzige Aufgabe darin besteht, Lektionstabellen zu erstellen. Die Haupttabelle heisst LEK00.MFA, die Lektionstabellen LEKxx.MFA. Die Struktur von LEK00.MFA Alle Zeilen, die mit einem Semikolon beginnen, sind Kommentarzeilen und werden nicht ausgewertet. Leerzeilen dienen lediglich der šbersicht. Die anderen Zeilen beinhalten Such- und Ersatzbegriffe, die in der aufgefhrten Reihenfolge abgearbeitet werden. Sie weisen folgender Struktur auf, wobei die einzelnen Elemente durch Leerraum voneinander getrennt werden: - Zwei Zahlen, die die erste und die letzte betroffenen Lektionen angeben. - Der Suchbegriff folgt nach einem Leerraum - Gegebenenfalls dienen zwei Ausrufezeichen (!!) als Trennung zwischen Such- und Ersatzbegriff. Dies ist bei leerem Ersatzbegriff zwingend. - Der Ersatzbegriff - oder auch nichts - steht am Schluss. Da Leerschritte am Anfang bzw. am Ende eines Begriffes nicht erkannt werden, wird das Pfundzeichen (œ) als Ersatz fr einen Leerschritt verwendet. Steht ein Leerschritt innerhalb des Begriffes, muss er auch durch den Pfundzeichen ersetzt werden, oder aber die beiden Begriffe mssen mit zwei Ausrufezeichen (!!) getrennt werden. Zeichen k”nnen auch ber ihren ASCII-Wert angegeben werden, in welchem Fall die Zahl durch ein Gradzeichen (ø) angekndigt wird. Nach der Zahl muss ein Leerzeichen oder nochmals ein ASCII-Wert mit Gradzeichen stehen. Die Zeichen fr Grad und Pfund k”nnen nur ber ihren ASCII-Wert dargestellt werden. Die Abarbeitung in der angegebenen Reihenfolge erlaubt eine mehrfache Behandlung einer Zeichenkette. Im jetzigen Stand der Tabelle wird dies fr die Erkennung von Vorsilben eingesetzt. Kombinationen mit "ge" und "be" am Anfang eines Wortes werden erkannt und mit einem Paragrafzeichen (õ) gekennzeichnet. Die somit identifizierten Vorsilben k”nnen nachher in Kombination mit anderen Buchstaben erkannt und gegebenenfalls šberbrckungen zwischen Vorsilbe und Hauptteil eines Wortes aufgel”st werden. Vivian Aldridge, 12.11.2000 (redaktionelle „nderungen Februar 2006)