von cas » So 25. Jun 2006, 13:58
Ich habe einen Konverter geschrieben:
- Code: Alles auswählen
/* Rexx: Simple Calamus to ASCII Converter */
PARSE ARG in out
rc = Stream(in,'C', 'OPEN READ')
rc = Stream(out,'C','OPEN WRITE REPLACE')
string = ''
DO While Lines(in) > 0
c = CharIn(in)
cv = C2D(c)
char = 0
IF cv = 10 then c = ''
IF cv = 3 then c = ''
IF cv > 31 & cv < 123 then char = 1
IF Verify(c,D2C(252)||D2C(220)||D2C(228)||D2C(173)||D2C(223)||D2C(246)) = 0 then char = 1
IF cv = 252 then c = 'ü'
IF cv = 220 then c = 'Ü'
IF cv = 228 then c = 'ä'
IF cv = 196 then c = 'Ä'
IF cv = 173 then c = '-'
IF cv = 223 then c = 'ß'
IF cv = 246 then c = 'ö'
IF char = 1 THEN
DO
string = string || c
END
ELSE
DO
IF Length(string) > 3 THEN rc = CharOut(out, string)
IF cv = 13 then rc = LineOut(out,'')
string = ''
END
END
IF Length(string) > 3 THEN rc = LineOut(out, string)
rc = Stream(out,'C','CLOSE')
rc = Stream(in,'C', 'CLOSE')
RETURN
Für den Konverter benötigst Du die Scriptsprache Rexx (download
http://regina-rexx.sf.net).
Aufruf:
rexx caltotxt.rex <calamus-datei> <asciidatei>
Beispiel:
rexx caltotxt.rex 51.CDK 51.txt
Ich habe den Calamus Codewert für gorrses 'Ö' nicht gefunden. Wer diesen findet, bitte in den "IF"-Befehlen einbauen.
Die ASCII Dateien müssen noch nachbearbeitet werden, insb. müssen noch Namen von Bildern und Zeichensätzen entfernt werden, und der Text muss neu umgebrochen werden. Machmal fehlen am Beginn neuer Absätze ein oder zwi Buchstaben, diese können aber in der Regel aus dem Zusammenhang ersetzt werden. Am besten mit einer Textverarbeitung mit automatischer Rechtschreibkorrektur (OpenOffice Write, Papyrus, Word etc) bearbeiten.
Ciao
Carsten