
# This is a helper script to generate the huge tr/// used to replace
# the Map8 functionality. @mao below must be kept in sync with the one
# in Email.pm

my @map = (
	   [ ' ', [ 160 ] ],
	   [ '!', [ 161 ] ],
	   [ 'c', [ 162, 231 ] ],
	   [ 'L', [ 163 ] ],
	   [ '*', [ 164, 188 .. 190 ] ],
	   [ '|', [ 166 ] ],
	   [ 'S', [ 167 ] ],
	   [ '^', [ 168 ] ],
	   [ 'C', [ 169, 199 ] ],
	   [ 'a', [ 170, 224 .. 230 ] ],
	   [ '<', [ 171 ] ],
	   [ '!', [ 172 ] ],
	   [ '-', [ 173, 175 ] ],
	   [ 'R', [ 174 ] ],
	   [ 'o', [ 176, 186 ] ],
	   [ '+', [ 177 ] ],
	   [ '2', [ 178 ] ],
	   [ '3', [ 179 ] ],
	   [ 'u', [ 181 ] ],
	   [ 'P', [ 182, 222, 254 ] ],
	   [ '.', [ 183 ] ],
	   [ ',', [ 184 ] ],
	   [ '1', [ 185 ] ],
	   [ '>', [ 187 ] ],
	   [ '?', [ 191 ] ],
	   [ 'A', [ 192 .. 198 ] ],
	   [ 'E', [ 200 .. 203, 208 ] ],
	   [ 'I', [ 204 .. 207 ] ],
	   [ 'N', [ 209 ] ],
	   [ 'O', [ 210 .. 214, 216 ] ],
	   [ 'x', [ 215 ] ],
	   [ 'U', [ 217 .. 220 ] ],
	   [ 'Y', [ 221, 165 ] ],
	   [ 'B', [ 223 ] ],
	   [ 'e', [ 232 .. 235, 240 ] ],
	   [ 'i', [ 236 .. 239 ] ],
	   [ 'n', [ 241 ] ],
	   [ 'o', [ 242 .. 246, 248 ] ],
	   [ '/', [ 247 ] ],
	   [ 'u', [ 249 .. 251 ] ],
	   [ 'y', [ 252, 255 ] ],
	   );

my @left = ();
my @right = ();
my @tr = ();
my @seen = ();

my $left = '';
my $right = '';

for $m (@map)
{
    for $c (@{$m->[1]})
    {
	if (grep { $c == $_ } @seen)
	{
	    die "WHOA! $c appears more than once. Last time it appears with ", $m->[0], "\n";
	}
	push @seen, $c;
	push @tr, [ $c, $m->[0] ];
    }
}

# print join(', ', map { $_->[0] } @tr), "\n";

for (sort { $a->[0] <=> $b->[0] } @tr)
{
    push @left, $_->[0];
    push @right, $_->[1];
}

my $last;

print "[", join('', map { sprintf("\\%lo", $_) } @left), "]\n";
print "[", join('', map { sprintf("\\%lo", ord($_)) } @right), "]";

