# ConTeXt uc converter / beta version / 2-12-1999 / don't redistribute if ($ARGV[0] ne '') { @filenames = @ARGV } else { @filenames = glob "*.tex" } foreach (@filenames) { s/\.tex$//io } sub unirecode { my ($a,$b) = @_ ; if ((ord($b)<0x80)&&($b !~ /[a-zA-Z0-9]/)) { print "$b" ; ++$recoded ; return "\\uc\{" . ord($a) . "\}\{". ord($b) . "\}" } else { return "$a$b" } } foreach $filename (@filenames) { if (open(INP,"$filename.tex")) { $recoded = 0 ; print "processing file $filename.tex " ; $/ = "\0777" ; $_ = ; close(INP) ; s/([\x80-\xFF])(.)/unirecode($1,$2)/mgoe ; if (($recoded)&&(open(OUT,">$filename.tmp"))) { print OUT $_ ; close(OUT) ; unlink "$filename.tec" ; rename "$filename.tex", "$filename.tec" ; rename "$filename.tmp", "$filename.tex" } if ($recoded) { print " - $recoded glyphs recoded - original saved as $filename.tec\n" } else { print "- no glyphs recoded\n" } } else { print "invalid filename\n" } }