--- loncom/interface/printout.pl 2006/04/20 02:24:08 1.97 +++ loncom/interface/printout.pl 2006/04/24 21:30:06 1.98 @@ -238,15 +238,36 @@ print "Return $eps_f"; # Debugging system("convert $not_eps $eps_f"); - #check is eps exist in prtspool - if(not -e $eps_f) { + # check is eps exist in prtspool + if (not -e $eps_f) { + # converting an animated gif creates either: + # anim.gif.eps.0 + # or + # anim.gif-0.eps for (my $i=0;$i<10000;$i++) { if (-e $eps_f.'.'.$i) { - rename $eps_f.'.'.$i, $eps_f; + rename($eps_f.'.'.$i, $eps_f); last; } + my $anim_eps = $eps_f; + $anim_eps =~ s/(\.[^.]*)\.eps$/$1-$i\.eps/i; + if (-e $anim_eps) { + rename($anim_eps, $eps_f); + last; + } + } + } + # imagemagick 6.2.0-6.2.7 fails to properly handle + # convert anim.gif anim.gif.eps + # it creates anim.eps instead. + if (not -e $eps_f) { + my $eps_f2 = $eps_f; + $eps_f2 =~ s/\.[^.]*\.eps$/\.eps/i; + if(-e $eps_f2) { + rename($eps_f2,$eps_f); } - } + } + } } if ($advanced_role) {