summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/scripts/epstopdf/epstopdf.pl
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2010-03-20 23:56:14 +0000
committerKarl Berry <karl@freefriends.org>2010-03-20 23:56:14 +0000
commit476a20baf518a8fedcc0372c0ee699e7d60d27c4 (patch)
treeb818abb046c621b7b093a54d5d06b5f2990737d8 /Master/texmf-dist/scripts/epstopdf/epstopdf.pl
parentf59835f704c4d280d39aee74fcbf34440474ee61 (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/epstopdf.pl')
-rwxr-xr-xMaster/texmf-dist/scripts/epstopdf/epstopdf.pl41
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";