diff options
author | Karl Berry <karl@freefriends.org> | 2010-03-20 23:56:14 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2010-03-20 23:56:14 +0000 |
commit | 476a20baf518a8fedcc0372c0ee699e7d60d27c4 (patch) | |
tree | b818abb046c621b7b093a54d5d06b5f2990737d8 /Master/texmf-dist/scripts/epstopdf | |
parent | f59835f704c4d280d39aee74fcbf34440474ee61 (diff) |
epstopdf 2.15
git-svn-id: svn://tug.org/texlive/trunk@17516 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/scripts/epstopdf')
-rwxr-xr-x | Master/texmf-dist/scripts/epstopdf/epstopdf.pl | 41 |
1 files changed, 23 insertions, 18 deletions
diff --git a/Master/texmf-dist/scripts/epstopdf/epstopdf.pl b/Master/texmf-dist/scripts/epstopdf/epstopdf.pl index 25746bc7960..d7662c96a88 100755 --- a/Master/texmf-dist/scripts/epstopdf/epstopdf.pl +++ b/Master/texmf-dist/scripts/epstopdf/epstopdf.pl @@ -2,7 +2,7 @@ eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' && eval 'exec perl -S $0 $ if 0; use strict; -# $Id: epstopdf.pl 17388 2010-03-09 00:25:42Z karl $ +# $Id: epstopdf.pl 17496 2010-03-18 17:57:31Z karl $ # (Copyright lines below.) # # Redistribution and use in source and binary forms, with or without @@ -46,9 +46,12 @@ use strict; # # emacs-page # History +# 2010/03/19 v2.15 (Karl Berry) +# * let --outfile override --filter again. +# * recognize MSWin64 as well as MSWin32, just in case. # 2010/03/08 v2.14 (Manuel P\'egouri\'e-Gonnard) # * In restricted mode, forbid --gscmd (all platforms) and call GS with full -# path relative to self location (windows). +# path relative to self location (Windows). # 2010/02/26 v2.13 (Karl Berry) # * New release. # 2010/02/23 (Manuel P\'egouri\'e-Gonnard) @@ -143,7 +146,7 @@ use strict; ### program identification my $program = "epstopdf"; -my $ident = '($Id: epstopdf.pl 17388 2010-03-09 00:25:42Z karl $) 2.14'; +my $ident = '($Id: epstopdf.pl 17496 2010-03-18 17:57:31Z karl $) 2.15'; my $copyright = <<END_COPYRIGHT ; Copyright 2009-2010 Karl Berry et al. Copyright 2002-2009 Gerben Wierda et al. @@ -154,9 +157,11 @@ There is NO WARRANTY, to the extent permitted by law. END_COPYRIGHT my $title = "$program $ident\n"; +my $on_windows = $^O =~ /^MSWin/; +my $on_windows_or_cygwin = $on_windows || $^O eq "cygwin"; + ### ghostscript command name -my $GS = "gs"; -$GS = "gswin32c" if $^O eq 'MSWin32'; +my $GS = $on_windows ? "gswin32c" : "gs"; ### restricted mode my $restricted = 0; @@ -247,9 +252,9 @@ sub errorUsage { die "Error: @_ (try --help for more information)\n"; } $restricted = 1 if $::opt_restricted; debug "Restricted mode activated" if $restricted; -### safer external commands for windows in restricted mode +### safer external commands for Windows in restricted mode my $kpsewhich = 'kpsewhich'; -if ($restricted and ($^O eq 'MSWin32')) { +if ($restricted && $on_windows) { use File::Basename; my $mydirname = dirname $0; # $mydirname is the location of the Perl script @@ -315,24 +320,24 @@ push @GS, qw(-q -dNOPAUSE -dSAFER -sDEVICE=pdfwrite); ### option outfile my $OutputFilename = $::opt_outfile; -if ($OutputFilename eq "") { +if (! $OutputFilename) { if ($::opt_gs) { - $OutputFilename = $InputFilename; - if (!$::opt_filter) { - my $ds = ($^O eq "MSWin32" || $^O eq "cygwin") ? '\\/' : '/'; + if ($::opt_filter) { + debug "Filtering: will write standard output"; + $OutputFilename = "-"; + } else { + # Ghostscript, no filter: replace input extension with .pdf. + $OutputFilename = $InputFilename; + my $ds = $on_windows_or_cygwin ? '\\/' : '/'; $OutputFilename =~ s/\.[^\.$ds]*$//; $OutputFilename .= ".pdf"; } } else { + debug "No Ghostscript: will write standard output"; $OutputFilename = "-"; # no ghostscript, write to standard output } } -if ($::opt_filter) { - debug "Filtering: will write standard output"; - $OutputFilename = "-"; -} else { - debug "Output filename:", $OutputFilename; -} +debug "Output filename:", $OutputFilename; push @GS, "-sOutputFile=$OutputFilename"; ### options compress, embed, res, autorotate @@ -392,7 +397,7 @@ my $tmp_filename; # temporary file for windows my $OUT; # filehandle for output (GS pipe or temporary file) use File::Temp 'tempfile'; if ($::opt_gs) { - unless ($^O eq 'MSWin32' || $^O eq 'cygwin') { # list piped open works + if (! $on_windows_or_cygwin) { # list piped open works push @GS, qw(- -c quit); debug "Ghostscript pipe:", join(' ', @GS); open($OUT, '|-', @GS) or error "Cannot open Ghostscript for piped input"; |