1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
|
#!/usr/bin/perl
%hl2a=(
"e1","'a",
"c1","'A",
"e9","'e",
"c9","'E",
"ed","'i",
"cd","'I",
"f1","'n",
"d1","'N",
"f3","'o",
"d3","'O",
"fa","'u",
"da","'U",
"fc","\"u",
"dc","\"U"
);
%a2l=(
"'a","",
"'A","",
"'e","",
"'E","",
"'i","",
"'I","",
"'n","",
"'N","",
"'o","",
"'O","",
"'u","",
"'U","",
"\"u","",
"\"U",""
);
$size=keys(%a2l);
@chars=keys(%a2l);
$\ = "\n"; # automatically add newline on print
while (<>) {
chop;
if (/^defstringtype "tex" "tex" ".tex"/){
printf "defstringtype \"latin1\" \"tex\" \".txt\"\n"
} elsif (/^altstringtype "latin1" "tex" ".txt"/){
printf "altstringtype \"tex\" \"tex\" \".tex\"\n"
} elsif (/^stringchar \\(..) \\(..)/){
printf "stringchar %s %s\n",$a2l{$1},$a2l{$2}
} elsif (/^altstringchar \\x(..) \\(..)/){
printf "altstringchar \\%s %s\n",$hl2a{$1},$a2l{$2}
} elsif (/^altstringchar (.*) \\(..)/){
printf "altstringchar %s %s\n",$1,$a2l{$2}
} else {
for ($i=0; $i<$size ; $i++){
s/$chars[$i]/$a2l{$chars[$i]}/g
}
print
}
}
|