6 use Data::Dump qw(dump);
10 my $junk = '[\xC0-\xC4][\x80-\xC4]+';
12 my $file = shift @ARGV;
15 open(my $fh, '<:raw', $file) || die "$file: $!";
22 s/\xC3\x83\xC2\x85\xC3\xA2\xC2\x84\xC2\xA2/ř/gs && $stat->{'r v'}++;
23 s/\xC3\x83\xC2\x83\xC3\x82\xC2\xBD/ý/gs && $stat->{'y /'}++;
24 s/\xC3\x83\xC2\x84\xC3\x8B\xC2\x86/Č/gs && $stat->{'Č ?'}++;
26 s/\xC3\x83\xC2\x83\xC3\xA2\xC2\x80\xC2\xB0/É/gs && $stat->{'E actue'}++;
27 s/\xC3\x83\xC2\x83\xC3\xA2\xC2\x80\xC2\xA6/Å/gs && $stat->{'A circle'}++;
28 # "MAQBŪLI 'ĀRIF" (Potur Şāhidī).
29 s/\xC3\x83\xC2\x84\xC3\xA2\xC2\x82\xC2\xAC/Ā/gs && $stat->{'A line'}++;
30 s/\xC3\x83\xC2\x83\xC3\xA2\xC2\x80\xC2\x99/V/gs && $stat->{'V fake'}++;
33 s/\xC3\x83\xC2\x83\xC3\x85\xC2\xB8/ß/gs && $stat->{'ss'}++;
35 s/$junk\xC3\x82\xC2\x8D/č/gs && $stat->{'cv'}++;
36 s/\xC3\x84\xC2\x8D/č/gs && $stat->{'cv 84'}++;
38 s/$junk\xC2\x80\xC2\xA1/ć/gs && $stat->{"c"}++;
39 # #Buri\xC3\x84\xC2\x87.pdf
40 s/\xC3\x84\xC2\x87/ć/gs && $stat->{'c C384C287'}++;
42 s/$junk\xC3\x82\xC2\xA1/š/gs && $stat->{'s'}++;
44 s/\xC3\x85\xC2\xA1/š/gs && $stat->{'s C385C2'}++;
45 s/$junk\xC2\x80\xC4\xA1/š/gs && $stat->{'s C4'}++;
47 s/$junk\xC3\x82\xC2\xBE/ž/gs && $stat->{'z'}++;
49 s/$junk\xC2\x80\xC2\x98/đ/gs && $stat->{'d'}++;
50 s/$junk\xC3\x82\xC2\x90/Đ/gs && $stat->{'D'}++;
52 s/$junk\xC2\x80\xC2\x92/Č/gs && $stat->{'Cv'}++;
53 s/$junk\xC3\x85\xC2\x92/Č/gs && $stat->{'Cv C385'}++;
54 s/$junk\xC2\x80\xC2\xA0/Ć/gs && $stat->{'C'}++;
55 s/$junk\xC3\x82\xC2\xBD/Ž/gs && $stat->{'Z'}++;
56 s/\xC3\x85\xC2\xBD/Ž/gs && $stat->{'Z'}++;
57 s/$junk\xC3\x82\xC2\xA0/Š/gs && $stat->{'S'}++;
58 s/$junk\xC3\x82\xC2\xA6/Š/gs && $stat->{'S C2A6'}++;
59 s/\xC3\x85\xC2\xA0/Š/gs && $stat->{'S C385C2A0'}++;
61 s/$junk\xC2\xAB/"/gs && $stat->{'" open'}++;
62 s/$junk\xC2\xBB/"/gs && $stat->{'" close'}++;
64 s/$junk\xC2\xBE/"/gs && $stat->{'"'}++;
65 s/$junk\xC2\x93/"/gs && $stat->{'"'}++;
67 s/$junk\xC3\x82\xC2\xB2/"/gs && $stat->{'" C2B2'}++;
69 s/$junk\xC2\x84\xC2\xA2/'/gs && $stat->{"'"}++;
70 s/$junk\xC3\x82\xC2\xB4/'/gs && $stat->{"' C2B4"}++;
71 s/$junk\xC3\x8B\xC2\x9C/'/gs && $stat->{"' C29C"}++;
72 s/$junk\xC2\xAD/-/gs && $stat->{'-'}++;
74 s/$junk\xC2\x80\xC2\x9C/-/gs && $stat->{'--'}++;
75 s/$junk\xC2\x9D/-/gs && $stat->{'-- ?'}++;
77 s/$junk\xC3\x82\xC2\xA2/- /gs && $stat->{'dot'}++;
82 if ( $e =~ m/([\xC0-\xC4][\x80-\xff]{3,99})/s ) {
83 warn "XXX ", dump($e), "\n$e\n";