summaryrefslogtreecommitdiff
path: root/support/pdfcrop
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2023-04-15 03:01:57 +0000
committerNorbert Preining <norbert@preining.info>2023-04-15 03:01:57 +0000
commit78e6b19d4678a9d641c4afa4ca800288cfa0a9d5 (patch)
treead774593055c02ade73402379b9df52568f6940f /support/pdfcrop
parentb17717e3829bc08efb71ec2537d9d894c8b82d45 (diff)
CTAN sync 202304150301
Diffstat (limited to 'support/pdfcrop')
-rw-r--r--support/pdfcrop/LICENCE416
-rw-r--r--support/pdfcrop/README.md12
-rw-r--r--[-rwxr-xr-x]support/pdfcrop/pdfcrop.pl57
3 files changed, 41 insertions, 444 deletions
diff --git a/support/pdfcrop/LICENCE b/support/pdfcrop/LICENCE
deleted file mode 100644
index 2244313901..0000000000
--- a/support/pdfcrop/LICENCE
+++ /dev/null
@@ -1,416 +0,0 @@
-The LaTeX Project Public License
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
-
-LPPL Version 1.3c 2008-05-04
-
-Copyright 1999 2002-2008 LaTeX3 Project
- Everyone is allowed to distribute verbatim copies of this
- license document, but modification of it is not allowed.
-
-
-PREAMBLE
-========
-
-The LaTeX Project Public License (LPPL) is the primary license under
-which the LaTeX kernel and the base LaTeX packages are distributed.
-
-You may use this license for any work of which you hold the copyright
-and which you wish to distribute. This license may be particularly
-suitable if your work is TeX-related (such as a LaTeX package), but
-it is written in such a way that you can use it even if your work is
-unrelated to TeX.
-
-The section `WHETHER AND HOW TO DISTRIBUTE WORKS UNDER THIS LICENSE',
-below, gives instructions, examples, and recommendations for authors
-who are considering distributing their works under this license.
-
-This license gives conditions under which a work may be distributed
-and modified, as well as conditions under which modified versions of
-that work may be distributed.
-
-We, the LaTeX3 Project, believe that the conditions below give you
-the freedom to make and distribute modified versions of your work
-that conform with whatever technical specifications you wish while
-maintaining the availability, integrity, and reliability of
-that work. If you do not see how to achieve your goal while
-meeting these conditions, then read the document `cfgguide.tex'
-and `modguide.tex' in the base LaTeX distribution for suggestions.
-
-
-DEFINITIONS
-===========
-
-In this license document the following terms are used:
-
- `Work'
- Any work being distributed under this License.
-
- `Derived Work'
- Any work that under any applicable law is derived from the Work.
-
- `Modification'
- Any procedure that produces a Derived Work under any applicable
- law -- for example, the production of a file containing an
- original file associated with the Work or a significant portion of
- such a file, either verbatim or with modifications and/or
- translated into another language.
-
- `Modify'
- To apply any procedure that produces a Derived Work under any
- applicable law.
-
- `Distribution'
- Making copies of the Work available from one person to another, in
- whole or in part. Distribution includes (but is not limited to)
- making any electronic components of the Work accessible by
- file transfer protocols such as FTP or HTTP or by shared file
- systems such as Sun's Network File System (NFS).
-
- `Compiled Work'
- A version of the Work that has been processed into a form where it
- is directly usable on a computer system. This processing may
- include using installation facilities provided by the Work,
- transformations of the Work, copying of components of the Work, or
- other activities. Note that modification of any installation
- facilities provided by the Work constitutes modification of the Work.
-
- `Current Maintainer'
- A person or persons nominated as such within the Work. If there is
- no such explicit nomination then it is the `Copyright Holder' under
- any applicable law.
-
- `Base Interpreter'
- A program or process that is normally needed for running or
- interpreting a part or the whole of the Work.
-
- A Base Interpreter may depend on external components but these
- are not considered part of the Base Interpreter provided that each
- external component clearly identifies itself whenever it is used
- interactively. Unless explicitly specified when applying the
- license to the Work, the only applicable Base Interpreter is a
- `LaTeX-Format' or in the case of files belonging to the
- `LaTeX-format' a program implementing the `TeX language'.
-
-
-
-CONDITIONS ON DISTRIBUTION AND MODIFICATION
-===========================================
-
-1. Activities other than distribution and/or modification of the Work
-are not covered by this license; they are outside its scope. In
-particular, the act of running the Work is not restricted and no
-requirements are made concerning any offers of support for the Work.
-
-2. You may distribute a complete, unmodified copy of the Work as you
-received it. Distribution of only part of the Work is considered
-modification of the Work, and no right to distribute such a Derived
-Work may be assumed under the terms of this clause.
-
-3. You may distribute a Compiled Work that has been generated from a
-complete, unmodified copy of the Work as distributed under Clause 2
-above, as long as that Compiled Work is distributed in such a way that
-the recipients may install the Compiled Work on their system exactly
-as it would have been installed if they generated a Compiled Work
-directly from the Work.
-
-4. If you are the Current Maintainer of the Work, you may, without
-restriction, modify the Work, thus creating a Derived Work. You may
-also distribute the Derived Work without restriction, including
-Compiled Works generated from the Derived Work. Derived Works
-distributed in this manner by the Current Maintainer are considered to
-be updated versions of the Work.
-
-5. If you are not the Current Maintainer of the Work, you may modify
-your copy of the Work, thus creating a Derived Work based on the Work,
-and compile this Derived Work, thus creating a Compiled Work based on
-the Derived Work.
-
-6. If you are not the Current Maintainer of the Work, you may
-distribute a Derived Work provided the following conditions are met
-for every component of the Work unless that component clearly states
-in the copyright notice that it is exempt from that condition. Only
-the Current Maintainer is allowed to add such statements of exemption
-to a component of the Work.
-
- a. If a component of this Derived Work can be a direct replacement
- for a component of the Work when that component is used with the
- Base Interpreter, then, wherever this component of the Work
- identifies itself to the user when used interactively with that
- Base Interpreter, the replacement component of this Derived Work
- clearly and unambiguously identifies itself as a modified version
- of this component to the user when used interactively with that
- Base Interpreter.
-
- b. Every component of the Derived Work contains prominent notices
- detailing the nature of the changes to that component, or a
- prominent reference to another file that is distributed as part
- of the Derived Work and that contains a complete and accurate log
- of the changes.
-
- c. No information in the Derived Work implies that any persons,
- including (but not limited to) the authors of the original version
- of the Work, provide any support, including (but not limited to)
- the reporting and handling of errors, to recipients of the
- Derived Work unless those persons have stated explicitly that
- they do provide such support for the Derived Work.
-
- d. You distribute at least one of the following with the Derived Work:
-
- 1. A complete, unmodified copy of the Work;
- if your distribution of a modified component is made by
- offering access to copy the modified component from a
- designated place, then offering equivalent access to copy
- the Work from the same or some similar place meets this
- condition, even though third parties are not compelled to
- copy the Work along with the modified component;
-
- 2. Information that is sufficient to obtain a complete,
- unmodified copy of the Work.
-
-7. If you are not the Current Maintainer of the Work, you may
-distribute a Compiled Work generated from a Derived Work, as long as
-the Derived Work is distributed to all recipients of the Compiled
-Work, and as long as the conditions of Clause 6, above, are met with
-regard to the Derived Work.
-
-8. The conditions above are not intended to prohibit, and hence do not
-apply to, the modification, by any method, of any component so that it
-becomes identical to an updated version of that component of the Work as
-it is distributed by the Current Maintainer under Clause 4, above.
-
-9. Distribution of the Work or any Derived Work in an alternative
-format, where the Work or that Derived Work (in whole or in part) is
-then produced by applying some process to that format, does not relax or
-nullify any sections of this license as they pertain to the results of
-applying that process.
-
-10. a. A Derived Work may be distributed under a different license
- provided that license itself honors the conditions listed in
- Clause 6 above, in regard to the Work, though it does not have
- to honor the rest of the conditions in this license.
-
- b. If a Derived Work is distributed under a different license, that
- Derived Work must provide sufficient documentation as part of
- itself to allow each recipient of that Derived Work to honor the
- restrictions in Clause 6 above, concerning changes from the Work.
-
-11. This license places no restrictions on works that are unrelated to
-the Work, nor does this license place any restrictions on aggregating
-such works with the Work by any means.
-
-12. Nothing in this license is intended to, or may be used to, prevent
-complete compliance by all parties with all applicable laws.
-
-
-NO WARRANTY
-===========
-
-There is no warranty for the Work. Except when otherwise stated in
-writing, the Copyright Holder provides the Work `as is', without
-warranty of any kind, either expressed or implied, including, but not
-limited to, the implied warranties of merchantability and fitness for a
-particular purpose. The entire risk as to the quality and performance
-of the Work is with you. Should the Work prove defective, you assume
-the cost of all necessary servicing, repair, or correction.
-
-In no event unless required by applicable law or agreed to in writing
-will The Copyright Holder, or any author named in the components of the
-Work, or any other party who may distribute and/or modify the Work as
-permitted above, be liable to you for damages, including any general,
-special, incidental or consequential damages arising out of any use of
-the Work or out of inability to use the Work (including, but not limited
-to, loss of data, data being rendered inaccurate, or losses sustained by
-anyone as a result of any failure of the Work to operate with any other
-programs), even if the Copyright Holder or said author or said other
-party has been advised of the possibility of such damages.
-
-
-MAINTENANCE OF THE WORK
-=======================
-
-The Work has the status `author-maintained' if the Copyright Holder
-explicitly and prominently states near the primary copyright notice in
-the Work that the Work can only be maintained by the Copyright Holder
-or simply that it is `author-maintained'.
-
-The Work has the status `maintained' if there is a Current Maintainer
-who has indicated in the Work that they are willing to receive error
-reports for the Work (for example, by supplying a valid e-mail
-address). It is not required for the Current Maintainer to acknowledge
-or act upon these error reports.
-
-The Work changes from status `maintained' to `unmaintained' if there
-is no Current Maintainer, or the person stated to be Current
-Maintainer of the work cannot be reached through the indicated means
-of communication for a period of six months, and there are no other
-significant signs of active maintenance.
-
-You can become the Current Maintainer of the Work by agreement with
-any existing Current Maintainer to take over this role.
-
-If the Work is unmaintained, you can become the Current Maintainer of
-the Work through the following steps:
-
- 1. Make a reasonable attempt to trace the Current Maintainer (and
- the Copyright Holder, if the two differ) through the means of
- an Internet or similar search.
-
- 2. If this search is successful, then enquire whether the Work
- is still maintained.
-
- a. If it is being maintained, then ask the Current Maintainer
- to update their communication data within one month.
-
- b. If the search is unsuccessful or no action to resume active
- maintenance is taken by the Current Maintainer, then announce
- within the pertinent community your intention to take over
- maintenance. (If the Work is a LaTeX work, this could be
- done, for example, by posting to comp.text.tex.)
-
- 3a. If the Current Maintainer is reachable and agrees to pass
- maintenance of the Work to you, then this takes effect
- immediately upon announcement.
-
- b. If the Current Maintainer is not reachable and the Copyright
- Holder agrees that maintenance of the Work be passed to you,
- then this takes effect immediately upon announcement.
-
- 4. If you make an `intention announcement' as described in 2b. above
- and after three months your intention is challenged neither by
- the Current Maintainer nor by the Copyright Holder nor by other
- people, then you may arrange for the Work to be changed so as
- to name you as the (new) Current Maintainer.
-
- 5. If the previously unreachable Current Maintainer becomes
- reachable once more within three months of a change completed
- under the terms of 3b) or 4), then that Current Maintainer must
- become or remain the Current Maintainer upon request provided
- they then update their communication data within one month.
-
-A change in the Current Maintainer does not, of itself, alter the fact
-that the Work is distributed under the LPPL license.
-
-If you become the Current Maintainer of the Work, you should
-immediately provide, within the Work, a prominent and unambiguous
-statement of your status as Current Maintainer. You should also
-announce your new status to the same pertinent community as
-in 2b) above.
-
-
-WHETHER AND HOW TO DISTRIBUTE WORKS UNDER THIS LICENSE
-======================================================
-
-This section contains important instructions, examples, and
-recommendations for authors who are considering distributing their
-works under this license. These authors are addressed as `you' in
-this section.
-
-Choosing This License or Another License
-----------------------------------------
-
-If for any part of your work you want or need to use *distribution*
-conditions that differ significantly from those in this license, then
-do not refer to this license anywhere in your work but, instead,
-distribute your work under a different license. You may use the text
-of this license as a model for your own license, but your license
-should not refer to the LPPL or otherwise give the impression that
-your work is distributed under the LPPL.
-
-The document `modguide.tex' in the base LaTeX distribution explains
-the motivation behind the conditions of this license. It explains,
-for example, why distributing LaTeX under the GNU General Public
-License (GPL) was considered inappropriate. Even if your work is
-unrelated to LaTeX, the discussion in `modguide.tex' may still be
-relevant, and authors intending to distribute their works under any
-license are encouraged to read it.
-
-A Recommendation on Modification Without Distribution
------------------------------------------------------
-
-It is wise never to modify a component of the Work, even for your own
-personal use, without also meeting the above conditions for
-distributing the modified component. While you might intend that such
-modifications will never be distributed, often this will happen by
-accident -- you may forget that you have modified that component; or
-it may not occur to you when allowing others to access the modified
-version that you are thus distributing it and violating the conditions
-of this license in ways that could have legal implications and, worse,
-cause problems for the community. It is therefore usually in your
-best interest to keep your copy of the Work identical with the public
-one. Many works provide ways to control the behavior of that work
-without altering any of its licensed components.
-
-How to Use This License
------------------------
-
-To use this license, place in each of the components of your work both
-an explicit copyright notice including your name and the year the work
-was authored and/or last substantially modified. Include also a
-statement that the distribution and/or modification of that
-component is constrained by the conditions in this license.
-
-Here is an example of such a notice and statement:
-
- %% pig.dtx
- %% Copyright 2005 M. Y. Name
- %
- % This work may be distributed and/or modified under the
- % conditions of the LaTeX Project Public License, either version 1.3
- % of this license or (at your option) any later version.
- % The latest version of this license is in
- % http://www.latex-project.org/lppl.txt
- % and version 1.3 or later is part of all distributions of LaTeX
- % version 2005/12/01 or later.
- %
- % This work has the LPPL maintenance status `maintained'.
- %
- % The Current Maintainer of this work is M. Y. Name.
- %
- % This work consists of the files pig.dtx and pig.ins
- % and the derived file pig.sty.
-
-Given such a notice and statement in a file, the conditions
-given in this license document would apply, with the `Work' referring
-to the three files `pig.dtx', `pig.ins', and `pig.sty' (the last being
-generated from `pig.dtx' using `pig.ins'), the `Base Interpreter'
-referring to any `LaTeX-Format', and both `Copyright Holder' and
-`Current Maintainer' referring to the person `M. Y. Name'.
-
-If you do not want the Maintenance section of LPPL to apply to your
-Work, change `maintained' above into `author-maintained'.
-However, we recommend that you use `maintained', as the Maintenance
-section was added in order to ensure that your Work remains useful to
-the community even when you can no longer maintain and support it
-yourself.
-
-Derived Works That Are Not Replacements
----------------------------------------
-
-Several clauses of the LPPL specify means to provide reliability and
-stability for the user community. They therefore concern themselves
-with the case that a Derived Work is intended to be used as a
-(compatible or incompatible) replacement of the original Work. If
-this is not the case (e.g., if a few lines of code are reused for a
-completely different task), then clauses 6b and 6d shall not apply.
-
-
-Important Recommendations
--------------------------
-
- Defining What Constitutes the Work
-
- The LPPL requires that distributions of the Work contain all the
- files of the Work. It is therefore important that you provide a
- way for the licensee to determine which files constitute the Work.
- This could, for example, be achieved by explicitly listing all the
- files of the Work near the copyright notice of each file or by
- using a line such as:
-
- % This work consists of all files listed in manifest.txt.
-
- in that place. In the absence of an unequivocal list it might be
- impossible for the licensee to determine what is considered by you
- to comprise the Work and, in such a case, the licensee would be
- entitled to make reasonable conjectures as to which files comprise
- the Work.
-
diff --git a/support/pdfcrop/README.md b/support/pdfcrop/README.md
index 839e5d2252..93df549ae9 100644
--- a/support/pdfcrop/README.md
+++ b/support/pdfcrop/README.md
@@ -1,6 +1,6 @@
# pdfcrop
-Version: 2020/06/06 v1.40
+Version: 2023/04/13 v1.41
## TABLE OF CONTENTS
@@ -28,7 +28,7 @@ PDF file with removed margins.
## 2\. COPYRIGHT, DISCLAIMER, LICENSE
Copyright (C) 2002, 2004, 2005, 2008-2012 Heiko Oberdiek.
- 2020 Oberdiek Package Support Group
+ 2020-2023 Oberdiek Package Support Group
LaTeX Project Public License, version 1.3c or later.
@@ -135,7 +135,7 @@ This mode sets restrictions for the following options:
* `--luatexcmd`: if used, the value must be empty or `luatex`.
* `--gscmd`: if used, the value must
* be empty or
- * be one of the standard names (gs, gswin32c, mgs, gs386, gsos2) or
+ * be one of the standard names (gs, gswin32c, gswin64c, mgs, gs386, gsos2) or
* consists of `gs`, followed by a version number and an
optional `c` (Ghostscript's convention for `console version`).
@@ -251,7 +251,11 @@ My environment for developing and testing:
|-- | \* corrected a problem with xetex.|
|2020/06/06 v1.40:| \* improved ghostscript detection on windows when a bash is used|
|-- | \* added direct pdfversion support to xetex.|
-
+|2023/04/13 v1.41:| \* allow gswin64c in restricted mode, fix typos in messages issues 14, 17|
+|-- | \* add -q option, issue 7 |
+|-- | \* don't print whole help msg for unknown options, issue 7.|
+|-- | \* do not create two pages with xetex, issue 3|
+
## 13. TODO
diff --git a/support/pdfcrop/pdfcrop.pl b/support/pdfcrop/pdfcrop.pl
index c459e5c41e..fd0642a558 100755..100644
--- a/support/pdfcrop/pdfcrop.pl
+++ b/support/pdfcrop/pdfcrop.pl
@@ -5,7 +5,7 @@ $^W=1; # turn warning on
# pdfcrop.pl
#
# Copyright (C) 2002, 2004, 2005, 2008-2012 Heiko Oberdiek.
-# 2020 Oberdiek Package Support Group
+# 2020-2023 Oberdiek Package Support Group
#
# This program may be distributed and/or modified under the
# conditions of the LaTeX Project Public License, version 1.3c or later.
@@ -18,10 +18,10 @@ $^W=1; # turn warning on
my $prj = 'pdfcrop';
my $file = "$prj.pl";
my $program = uc($&) if $file =~ /^\w+/;
-my $version = "1.40";
-my $date = "2020/06/06";
+my $version = "1.41";
+my $date = "2023/04/13";
my $author = "Heiko Oberdiek, Oberdiek Package Support Group";
-my $copyright = "Copyright (c) 2002-2020 by $author.";
+my $copyright = "Copyright (c) 2002-2023 by $author.";
#
# Reqirements: Perl5, Ghostscript
# History:
@@ -106,9 +106,11 @@ my $copyright = "Copyright (c) 2002-2020 by $author.";
# 2020/05/24 v1.39: * adapted to pdfversion 2.0, corrected luatex support,
# corrected a problem with xetex.
# 2020/06/06 v1.40: * improved ghostscript detection on windows when a bash is used
-# added direct pdf version support to xetex.
-
-
+# added direct pdf version support to xetex.
+# 2023/04/13 v1.41: * allow gswin64c in restricted mode, fix typos in messages issues 14, 17
+# add -q option, issue 7;
+# don't print whole help msg for unknown options, issue 7.
+# do not create two pages with xetex, issue 3
### program identification
my $title = "$program $version, $date - $copyright\n";
@@ -122,6 +124,7 @@ delete @ENV{qw(IFS CDPATH ENV BASH_ENV)};
# Windows detection (no SIGHUP)
my $Win = 0;
$Win = 1 if $^O =~ /mswin32/i;
+$Win = 1 if $^O =~ /windows/i;
$Win = 1 if $^O =~ /cygwin/i;
use Config;
my $archname = $Config{'archname'};
@@ -166,6 +169,7 @@ sub find_ghostscript () {
$system = "dos" if $^O =~ /dos/i;
$system = "os2" if $^O =~ /os2/i;
$system = "win" if $^O =~ /mswin32/i;
+ $system = "win" if $^O =~ /windows/i;
$system = "cygwin" if $^O =~ /cygwin/i;
$system = "miktex" if defined($ENV{"TEXSYSTEM"}) and
$ENV{"TEXSYSTEM"} =~ /miktex/i;
@@ -176,7 +180,7 @@ sub find_ghostscript () {
'unix' => [qw|gs gsc gswin64c gswin32c|],
'dos' => [qw|gs386 gs|],
'os2' => [qw|gsos2 gs|],
- 'win' => [qw|gswin32c gs|],
+ 'win' => [qw|gswin32c gswin64c gs|],
'cygwin' => [qw|gs gswin32c|],
'miktex' => [qw|mgs gswin32c gs|]
);
@@ -221,11 +225,11 @@ sub find_ghostscript () {
$found = SearchRegistry();
}
if ($found) {
- print "* Autodetected ghostscript command: $::opt_gscmd\n" if $::opt_debug;
+ print "* Autodetected Ghostscript command: $::opt_gscmd\n" if $::opt_debug;
}
else {
$::opt_gscmd = $$candidates_ref[0];
- print "* Default ghostscript command: $::opt_gscmd\n" if $::opt_debug;
+ print "* Default Ghostscript command: $::opt_gscmd\n" if $::opt_debug;
}
}
@@ -350,6 +354,7 @@ $::opt_version = 0;
$::opt_help = 0;
$::opt_debug = 0;
$::opt_verbose = 0;
+$::opt_quiet = 0;
$::opt_pdftexcmd = "pdftex";
$::opt_xetexcmd = "xetex";
$::opt_luatexcmd = "luatex";
@@ -441,6 +446,7 @@ GetOptions(
"version!",
"debug!",
"verbose!",
+ "quiet!",
"gscmd=s",
"pdftexcmd=s",
"xetexcmd=s",
@@ -460,7 +466,8 @@ GetOptions(
"restricted" => sub { $restricted = 1; },
"pdfversion=s" => \$::opt_pdfversion,
"uncompress!",
-) or usage(1);
+) or die "Try $0 --help for more information\n";
+
!$::opt_help or usage(0);
if ($::opt_version) {
@@ -472,7 +479,7 @@ $::opt_verbose = 1 if $::opt_debug;
@ARGV >= 1 or usage(1);
-print $title;
+print $title if ! $::opt_quiet;
print "* Restricted mode: ", ($restricted ? "enabled" : "disabled"), "\n"
if $::opt_debug;
@@ -492,7 +499,7 @@ if ($::opt_bbox) {
$::opt_bbox =~ s/\s+$//;
$::opt_bbox =~ s/\s+/ /;
if ($::opt_bbox =~ /^-?\d*\.?\d+ -?\d*\.?\d+ -?\d*\.?\d+ -?\d*\.?\d+$/) {
- print "* Explicite Bounding Box: $::opt_bbox\n" if $::opt_debug;
+ print "* Explicit Bounding Box: $::opt_bbox\n" if $::opt_debug;
}
else {
die "$Error Parse error (option --bbox \"$::opt_bbox\")!\n";
@@ -503,7 +510,7 @@ if ($::opt_bbox_odd) {
$::opt_bbox_odd =~ s/\s+$//;
$::opt_bbox_odd =~ s/\s+/ /;
if ($::opt_bbox_odd =~ /^-?\d*\.?\d+ -?\d*\.?\d+ -?\d*\.?\d+ -?\d*\.?\d+$/) {
- print "* Explicite Bounding Box for odd pages: $::opt_bbox_odd\n"
+ print "* Explicit Bounding Box for odd pages: $::opt_bbox_odd\n"
if $::opt_debug;
}
else {
@@ -515,7 +522,7 @@ if ($::opt_bbox_even) {
$::opt_bbox_even =~ s/\s+$//;
$::opt_bbox_even =~ s/\s+/ /;
if ($::opt_bbox_even =~ /^-?\d*\.?\d+ -?\d*\.?\d+ -?\d*\.?\d+ -?\d*\.?\d+$/) {
- print "* Explicite Bounding Box for even pages: $::opt_bbox_even\n"
+ print "* Explicit Bounding Box for even pages: $::opt_bbox_even\n"
if $::opt_debug;
}
else {
@@ -583,14 +590,14 @@ if ($::opt_papersize ne '') {
or die "$Error Invalid papersize ($::opt_papersize)!\n";
$papersizes{$::opt_papersize}
or die "$Error Unknown papersize ($::opt_papersize),"
- . " see ghostscript's documentation for option `-r'!\n";
+ . " see Ghostscript's documentation for option `-r'!\n";
}
### resolution validation (security)
if ($::opt_resolution ne '') {
$::opt_resolution =~ /^\d+(x\d+)?$/
or die "$Error Invalid resolution ($::opt_resolution),"
- . " see ghostscript's documentation!\n";
+ . " see Ghostscript's documentation!\n";
}
### command name validation (security)
@@ -633,7 +640,7 @@ if ($restricted) {
die "$Error LuaTeX program name must not be changed in restricted mode!\n";
}
if ($::opt_gscmd) {
- $::opt_gscmd =~ /^(gs|mgs|gswin32c|gs386|gsos2)$/
+ $::opt_gscmd =~ /^(gs|mgs|gswin32c|gs386|gsos2|gswin64c)$/
or $::opt_gscmd =~ /^gs[\-_]?(\d|\d[\.-_]?\d\d)c?$/
or die "$Error: Invalid Ghostscript program name in restricted mode!\n";
}
@@ -991,7 +998,7 @@ END_TMP_HEAD
print TMP "\\setpdfversion{$::opt_pdfmajorversion}{$::opt_pdfminorversion}\n" if $::opt_pdfversion;
}
else { # XeTeX
- print TMP <<'END_TMP_HEAD';
+ print TMP <<'END_TMP_HEAD_A';
\expandafter\ifx\csname XeTeXpdffile\endcsname\relax
\errmessage{XeTeX not found or too old!}%
\fi
@@ -1009,6 +1016,9 @@ else { # XeTeX
\pdfpageheight=#5bp\relax
\advance\pdfpageheight by -#3bp\relax
\shipout\hbox{%
+END_TMP_HEAD_A
+print TMP "\\setpdfversion{$::opt_pdfmajorversion}{$::opt_pdfminorversion}%\n" if $::opt_pdfversion;
+print TMP <<'END_TMP_HEAD_B';
\kern-1in%
\kern-#2bp%
\vbox{%
@@ -1038,11 +1048,10 @@ else { # XeTeX
}%
}%
}
-END_TMP_HEAD
-print TMP "\\setpdfversion{$::opt_pdfmajorversion}{$::opt_pdfminorversion}\n" if $::opt_pdfversion;
+END_TMP_HEAD_B
}
-print "* Running ghostscript for BoundingBox calculation ...\n"
+print "* Running Ghostscript for BoundingBox calculation ...\n"
if $::opt_verbose;
print "* Ghostscript call: $::opt_gscmd @gsargs\n" if $::opt_debug;
@@ -1090,7 +1099,7 @@ $gs_pipe .= " 1>$null" unless $::opt_verbose;
$gs_pipe .= " |";
open(GS, $gs_pipe)
- or die sprintf "$Error Cannot call ghostscript `%s' (%s)!\n",
+ or die sprintf "$Error Cannot call Ghostscript: `%s' (%s)!\n",
$::opt_gscmd, exterr;
my $bb = ($::opt_hires) ? "%%HiResBoundingBox" : "%%BoundingBox";
my $previous_line = 'Previous line';
@@ -1255,7 +1264,7 @@ if (!rename("$tmp.pdf", $outputfile)) {
}
print "==> $page page", (($page == 1) ? "" : "s"),
- " written on `$outputfile'.\n";
+ " written on `$outputfile'.\n" if ! $::opt_quiet;
$exit_code = 0;
cleanup();