#!/usr/bin/perl -- # $Id: vizawritetoascii.pl,v 1.0, 11.09.2003 Exp $ # # The vizawritetosacii script does some converting to make readable text # out of a file from the Commodore 64 word processor Vizawrite. # # The latest version can be found here: # http://www.hinner.com/programs/ # # # undef $/; $text = <>; # deutsche Sonderzeichen $text =~ s/\x78/\xfc/g; # ue $text =~ s/\x65/\xe4/g; # ae $text =~ s/\x76/\xf6/g; # oe $text =~ s/\x7c/\xdf/g; # ss #$text =~ s/\x78/\xfc/g; # AE $text =~ s/\xD9/\?/g; # komischer Code D9 ersetzen durch ? $text =~ s/\xB9//g; # komischer Code D9 ersetzen durch $text =~ s/\xEB/ /g; # komischer Code EB ersetzen durch zwei Space $text =~ s/\xED/ /g; # komischer Code ED ersetzen durch Space $text =~ s/\xB0//g; # komischer Code B0 ersetzen durch $text =~ s/\xb7\xef\x31/\xb9/g; # Fussnote 1 ersetzen durch hochgestellte 1 $text =~ s/\xb7\xef\x32/\xb2/g; # Fussnote 2 ersetzen durch hochgestellte 2 $text =~ s/\xb7\xef\x33/\xb3/g; # Fussnote 3 ersetzen durch hochgestellte 3 $text =~ s/\xb7\xef(.)/\[$1\]/g; # restliche Fussnoten in eckige Klammern $text =~ s/\x1f/-/g; # Trenner vom Fussnotentext ersetzen durch - $text =~ s/\x7a/\xd6/g; # OE (grosses OE ist $D6 # Gross- und Kleinbuchstaben $text =~ tr/[\x01-\x1a]/[a-z]/; $text =~ tr/[\x41-\x5a]/[A-Z]/; $text =~ s/\xB6/\x0a/g; # komischer Code B6 ersetzen durch Return $text =~ s/\xDA//g; # Code fuer Trennstrich wird geloescht (-) $text =~ s/\xDC/\x0a/g; # DC ersetzen durch Return (Zeilensprung) $text =~ s/\x7b/\xdc/g; # UE (grosses UE ist $DC) $text =~ s/\x79/\xc4/g; # AE (grosses AE ist $C4) $text =~ s/\xf1\xa3/\n\{NEUE SEITE\}\n/g; # Neue Seite $text =~ s/^.*\xe3\xa3//g; # alles vor $e3$a3 loeschen (Dateianfang) print $text;