+ my $outdent = $fontprefix.$dent;
+
+ my $r = processpcfgz("$fontdir/$dent","$fontdir/$outdent.new");
+ if ($r !~ m/^\d/) {
+ print $logfile "%s: unchanged - %s\n", $dent, $r;
+ unlink "$fontdir/$outdent.new" or die "$fontdir $outdent $!";
+ } else {
+ rename "$fontdir/$outdent.new", "$fontdir/$outdent"
+ or die "$fontdir $outdent $!";
+ $changed = 1;
+ }
+ $found{$outdent} = 2;
+ }
+ die "$fontdir $!" if $!;
+ foreach my $olddent (keys %found) {
+ next if $found{olddent} != 1;
+ unlink "$fontdir/$olddent" or die "$fontdir $olddent $!";
+ $changed = 1;
+ }
+ if ($changed) {
+ $!=0; $?=0; system 'mkfontdir',$fontdir;
+ die "$fontdir $? $!" if $? or $!;
+ my $newdoneh = new IO::File "$fontdir/$donefile.new", 'w'
+ or die "$fontdir $!";
+ print $newdoneh Dumper($newdone) or die "$fontdir $!";
+ close $newdoneh or die "$fontdir $!";
+ rename "$fontdir/$donefile.new","$fontdir/$donefile"
+ or die "$fontdir $!";
+ }
+}