summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/scripts/tlgs/gswin32/ps2ps2.tlu
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2013-04-07 18:42:53 +0000
committerKarl Berry <karl@freefriends.org>2013-04-07 18:42:53 +0000
commitedb2136c619d2c59bcb6dfd431c4c7636ff8913d (patch)
tree8aa04dd27bee1b2f2f9b3fd45dab41cf7771f82e /Master/texmf-dist/scripts/tlgs/gswin32/ps2ps2.tlu
parentb3efa3bb4509e7bd53d737fb729d0d92a76f1f98 (diff)
texmf -> texmf-dist: scripts
git-svn-id: svn://tug.org/texlive/trunk@29719 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/scripts/tlgs/gswin32/ps2ps2.tlu')
-rwxr-xr-xMaster/texmf-dist/scripts/tlgs/gswin32/ps2ps2.tlu79
1 files changed, 79 insertions, 0 deletions
diff --git a/Master/texmf-dist/scripts/tlgs/gswin32/ps2ps2.tlu b/Master/texmf-dist/scripts/tlgs/gswin32/ps2ps2.tlu
new file mode 100755
index 00000000000..5fa86abf0d2
--- /dev/null
+++ b/Master/texmf-dist/scripts/tlgs/gswin32/ps2ps2.tlu
@@ -0,0 +1,79 @@
+#!/usr/bin/env texlua
+--*-Lua-*-
+-- $Id$
+
+-- Copyright (C) 2010 Reinhard Kotucha.
+-- You may freely use, modify and/or distribute this file.
+
+-- Replacement for ps2ps2.bat.
+-- Converting PostScript 3 or PDF into PostScript 2 with the
+-- Ghostscript 'ps2write' device.
+-- This generates a PDF-style stream with an attached
+-- PostScript program to interpret it.
+
+function fixwin(args_unix)
+ if os.type == 'windows' then
+ local args_win={} -- new table
+ args_win[0]=args_unix[1]
+ for i=1, #args_unix do
+ args_win[i]='"'..args_unix[i]..'"'
+ end
+ return args_win
+ else
+ return args_unix
+ end
+end
+
+if os.type == 'windows' then
+ gs='gswin32c'
+else
+ gs='gs'
+end
+
+
+files={}
+options={'-dNOPAUSE', '-dBATCH', '-dSAFER'}
+
+for i=1, #arg do
+ if string.find(arg[i], '^%-$') then
+ files[#files+1]=arg[i]
+ elseif string.find(arg[i], '^%-') then
+ options[#options+1]=arg[i]
+ else
+ files[#files+1]=arg[i]
+ end
+end
+
+
+if #files ~= 2 then
+ io.stderr:write('Usage: ps2ps2 [options] input.ps output.ps\n')
+ io.stderr:write(' e.g. ps2ps2 -sPAPERSIZE=a4 input.ps output.ps\n')
+ os.exit(1)
+end
+
+
+command={gs, '-q', '-sDEVICE=ps2write'}
+
+if os.type=='unix' then
+ command[#command+1]='-sstdout=%stderr'
+end
+
+command[#command+1]='-sOutputFile='..files[2]
+
+for i=1, #options do
+ command[#command+1]=options[i]
+end
+
+command[#command+1]=files[1]
+
+command=fixwin(command)
+
+--[[ prepend an additional hyphen to activate this code
+for i=0, #command do
+ print (command[i])
+end
+os.exit(ret)
+--]]
+
+ret=os.spawn(command)
+os.exit(ret)