Diff for /loncom/interface/printout.pl between versions 1.171 and 1.175

version 1.171, 2024/07/11 12:44:40 version 1.175, 2024/10/21 19:32:10
Line 447  foreach $texfile (@texfile) { Line 447  foreach $texfile (@texfile) {
   $new_name_file =~ s/\.dvi/\.ps/;    $new_name_file =~ s/\.dvi/\.ps/;
 # Explicitly include a switch for papertype, otherwise dvips will default  # Explicitly include a switch for papertype, otherwise dvips will default
 # to whatever is listed first in config.ps (which in most cases is a4).  # to whatever is listed first in config.ps (which in most cases is a4).
 # Historically (since 2004) LON-CAPA printing expected to use the default,    my $papera;
 # i.e., a papertype of a4, when the user selected letter [8 1/2 x 11 in]     unless ($paper eq '') {
 # in the Layout options, so I follow that convention if $papera is letter.          $papera='-t'.$paper;
   my $papera=$paper;    }
   if ($papera eq 'letter') {$papera='a4';}  
   if ($papera ne '') {$papera='-t'.$papera;}  
   my $extra_ps_header = $perlvar{'lonLib'} .'/includepsheader.ps';    my $extra_ps_header = $perlvar{'lonLib'} .'/includepsheader.ps';
   my $comma = "dvips $papera -h $extra_ps_header -Ppdf -G0 -o  $new_name_file";    my $comma = "dvips $papera -h $extra_ps_header -Ppdf -G0 -o  $new_name_file";
   &busy_wait_command("$comma $name_file 1>/dev/null 2>/dev/null",    &busy_wait_command("$comma $name_file 1>/dev/null 2>/dev/null",
Line 544  foreach $texfile (@texfile) { Line 542  foreach $texfile (@texfile) {
       last if ($device ne '');        last if ($device ne '');
   }    }
   if ($device ne '') {    if ($device ne '') {
       $comma = "gs -sDEVICE=$device -dLanguageLevel=1.5 --permit-file-read=* ";        my ($major,$minor);
         if (open(PIPE,"gs -v |grep 'GPL Ghostscript' 2>&1 |")) {
             my $info = <PIPE>;
             close(PIPE);
             chomp($info);
             if ($info =~ /Ghostscript\s+(\d+)\.(\d+)/) {
                 ($major,$minor) = ($1,$2);
             }
         }
         $comma = "gs -sDEVICE=$device -dLanguageLevel=1.5 ";
         if (($major > 9) || (($major == 9) && ($minor >= 50))) {
             $comma .= '--permit-file-read=* ';
         }
       &busy_wait_command("$comma -o $tempo_file $new_name_file 2>/dev/null 1>/dev/null",        &busy_wait_command("$comma -o $tempo_file $new_name_file 2>/dev/null 1>/dev/null",
          "for $status_statement now validating PS",           "for $status_statement now validating PS",
          \%prog_state, $tempo_file);           \%prog_state, $tempo_file);
Line 571  foreach $texfile (@texfile) { Line 581  foreach $texfile (@texfile) {
       } else {        } else {
   $ps_file=$new_name_file;    $ps_file=$new_name_file;
       }        }
       my $addtoPSfile={'legal'=>'<< /PageSize [612 1008] >> setpagedevice',                my $addtoPSfile={'letter'=>'<< /PageSize [612 792] >> setpagedevice',
                                  'legal'=>'<< /PageSize [612 1008] >> setpagedevice',
                                'tabloid'=>'<< /PageSize [792 1224] >> setpagedevice',                                 'tabloid'=>'<< /PageSize [792 1224] >> setpagedevice',
                                'executive'=>,'<< /PageSize [540 720] >> setpagedevice',                                 'executive'=>,'<< /PageSize [540 720] >> setpagedevice',
                                'a2'=>'<< /PageSize [1195.02 1690.09] >> setpagedevice',                                 'a2'=>'<< /PageSize [1195.02 1690.09] >> setpagedevice',
Line 579  foreach $texfile (@texfile) { Line 590  foreach $texfile (@texfile) {
                                'a4'=>'<< /PageSize [595.2 842] >> setpagedevice',                                 'a4'=>'<< /PageSize [595.2 842] >> setpagedevice',
                                'a5'=>'<< /PageSize [421.1 595.2] >> setpagedevice',                                 'a5'=>'<< /PageSize [421.1 595.2] >> setpagedevice',
                                'a6'=>'<< /PageSize [298.75 421.1] >> setpagedevice',                                 'a6'=>'<< /PageSize [298.75 421.1] >> setpagedevice',
    };                                };
       if ($paper ne 'letter') {        open(FFH,'<',$ps_file) || die "Couldn't open ps file $ps_file for reading: $!\n";
   open(FFH,'<',$ps_file) || die "Couldn't open ps file $ps_file for reading: $!\n";        my $new_ps_file='new'.$ps_file;
   my $new_ps_file='new'.$ps_file;        open(FFHS,'>',$new_ps_file) || die "Couldn't open new ps file $new_ps_file for reading: $!\n";
   open(FFHS,'>',$new_ps_file) || die "Couldn't open new ps file $new_ps_file for reading: $!\n";        print FFHS $addtoPSfile->{$paper}."\n";
   print FFHS $addtoPSfile->{$paper}."\n";        while (<FFH>) {
   while (<FFH>) {            print FFHS $_;
       print FFHS $_;  
   }  
   close(FFH);  
   close(FFHS);  
   $ps_file=$new_ps_file;    
       }        }
         close(FFH);
         close(FFHS);
         $ps_file=$new_ps_file;  
       &busy_wait_command("ps2pdf13 $ps_file $pdf_file 1>/dev/null 2>/dev/null",        &busy_wait_command("ps2pdf13 $ps_file $pdf_file 1>/dev/null 2>/dev/null",
  "for $status_statement now Converting PS to PDF",   "for $status_statement now Converting PS to PDF",
  \%prog_state,$pdf_file);   \%prog_state,$pdf_file);

Removed from v.1.171  
changed lines
  Added in v.1.175


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>