#!/usr/bin/perl

use warnings;
use strict;

use Data::Dump qw(dump);
use Encode;
use bytes;

my $junk = '[\xC0-\xC4][\x80-\xC4]+';

my $file = shift @ARGV;
my $stat;

open(my $fh, '<:raw', $file) || die "$file: $!";

while(<$fh>) {

my $orig = $_;

# češki
s/\xC3\x83\xC2\x85\xC3\xA2\xC2\x84\xC2\xA2/ř/gs && $stat->{'r v'}++;
s/\xC3\x83\xC2\x83\xC3\x82\xC2\xBD/ý/gs && $stat->{'y /'}++;
s/\xC3\x83\xC2\x84\xC3\x8B\xC2\x86/Č/gs && $stat->{'Č ?'}++;

s/\xC3\x83\xC2\x83\xC3\xA2\xC2\x80\xC2\xB0/É/gs && $stat->{'E actue'}++;
s/\xC3\x83\xC2\x83\xC3\xA2\xC2\x80\xC2\xA6/Å/gs && $stat->{'A circle'}++;
# "MAQBŪLI 'ĀRIF" (Potur Şāhidī). 
s/\xC3\x83\xC2\x84\xC3\xA2\xC2\x82\xC2\xAC/Ā/gs && $stat->{'A line'}++;
s/\xC3\x83\xC2\x83\xC3\xA2\xC2\x80\xC2\x99/V/gs && $stat->{'V fake'}++;

# njemački
s/\xC3\x83\xC2\x83\xC3\x85\xC2\xB8/ß/gs && $stat->{'ss'}++;

s/$junk\xC3\x82\xC2\x8D/č/gs && $stat->{'cv'}++;
s/\xC3\x84\xC2\x8D/č/gs && $stat->{'cv 84'}++;

s/$junk\xC2\x80\xC2\xA1/ć/gs && $stat->{"c"}++;
# #Buri\xC3\x84\xC2\x87.pdf
s/\xC3\x84\xC2\x87/ć/gs && $stat->{'c C384C287'}++;

s/$junk\xC3\x82\xC2\xA1/š/gs && $stat->{'s'}++;
#Ma\xC3\x85\xC2\xA1a
s/\xC3\x85\xC2\xA1/š/gs && $stat->{'s C385C2'}++;
s/$junk\xC2\x80\xC4\xA1/š/gs && $stat->{'s C4'}++;

s/$junk\xC3\x82\xC2\xBE/ž/gs && $stat->{'z'}++;

s/$junk\xC2\x80\xC2\x98/đ/gs && $stat->{'d'}++;
s/$junk\xC3\x82\xC2\x90/Đ/gs && $stat->{'D'}++;

s/$junk\xC2\x80\xC2\x92/Č/gs && $stat->{'Cv'}++;
s/$junk\xC3\x85\xC2\x92/Č/gs && $stat->{'Cv C385'}++;
s/$junk\xC2\x80\xC2\xA0/Ć/gs && $stat->{'C'}++;
s/$junk\xC3\x82\xC2\xBD/Ž/gs && $stat->{'Z'}++;
s/$junk\xC3\x82\xC2\xA0/Š/gs && $stat->{'S'}++;
s/$junk\xC3\x82\xC2\xA6/Š/gs && $stat->{'S C2A6'}++;

s/$junk\xC2\xAB/"/gs && $stat->{'" open'}++;
s/$junk\xC2\xBB/"/gs && $stat->{'" close'}++;

s/$junk\xC2\xBE/"/gs && $stat->{'"'}++;
s/$junk\xC2\x93/"/gs && $stat->{'"'}++;

s/$junk\xC3\x82\xC2\xB2/"/gs && $stat->{'" C2B2'}++;

s/$junk\xC2\x84\xC2\xA2/'/gs && $stat->{"'"}++;
s/$junk\xC3\x82\xC2\xB4/'/gs && $stat->{"' C2B4"}++;
s/$junk\xC3\x8B\xC2\x9C/'/gs && $stat->{"' C29C"}++;
s/$junk\xC2\xAD/-/gs && $stat->{'-'}++;

s/$junk\xC2\x80\xC2\x9C/-/gs && $stat->{'--'}++;
s/$junk\xC2\x9D/-/gs && $stat->{'-- ?'}++;

s/$junk\xC3\x82\xC2\xA2/- /gs && $stat->{'dot'}++;



	my $e = $_;
	if ( $e =~ m/([\xC0-\xC4][\x80-\xff]{3,99})/s ) {
		warn "XXX ", dump($e), "\n$e\n";
	}
	print $e;
}

warn dump($stat);
