diff options
author | Norbert Preining <preining@logic.at> | 2009-05-16 20:43:48 +0000 |
---|---|---|
committer | Norbert Preining <preining@logic.at> | 2009-05-16 20:43:48 +0000 |
commit | 902f732cf9904e3ff7cbdccd3d826708fd16b1e9 (patch) | |
tree | a9b97e4b9e75ea7957c92da07593d6c6906d8df6 /Master/texmf/scripts/tlgs/gswin32/ps2pdf13.tlu | |
parent | e0ec2404b7821e5a78531afe84a5bc28395590ca (diff) |
move tlgs/gswin32 scripts from scripts/texlive to scrips/tlgs
git-svn-id: svn://tug.org/texlive/trunk@13134 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf/scripts/tlgs/gswin32/ps2pdf13.tlu')
-rwxr-xr-x | Master/texmf/scripts/tlgs/gswin32/ps2pdf13.tlu | 132 |
1 files changed, 132 insertions, 0 deletions
diff --git a/Master/texmf/scripts/tlgs/gswin32/ps2pdf13.tlu b/Master/texmf/scripts/tlgs/gswin32/ps2pdf13.tlu new file mode 100755 index 00000000000..abe01c0a90b --- /dev/null +++ b/Master/texmf/scripts/tlgs/gswin32/ps2pdf13.tlu @@ -0,0 +1,132 @@ +#!/usr/bin/env texlua +--*-Lua-*- +-- $Id$ + +-- Copyright (C) 2008 Reinhard Kotucha. +-- You may freely use, modify and/or distribute this file. + +-- Replacement for ps2pdf*.bat. +-- Convert PS to PDF + +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 + +function filename (file) + local filename + if string.find(file, '/') then -- UNIX path + filename=select(1, string.gsub(file, '.*/', '')) + elseif string.find(file, '\\') then -- Windows path + filename=select(1, string.gsub(file, '.*\\', '')) + else -- no path + filename=file + end + return(filename) +end + +function basename (file) + local basename + local fname + fname=filename (file) + basename=select(1, string.gsub(fname, '\.%a+$', '')) + return(basename) +end + +kpse.set_program_name('ps2pdf.bat', 'ps2pdf') + +TEXDIR=kpse.var_value('SELFAUTOPARENT') + +if os.type == 'windows' then + os.setenv('GS_LIB', TEXDIR..'/tlpkg/tlgs/lib;'..TEXDIR..'/tlpkg/tlgs/fonts') + os.setenv('PATH', TEXDIR..'/tlpkg/tlgs/bin;'..os.getenv('PATH')) + gs='gswin32c' +else + gs='gs' +end + +command={gs} +files={} +options={} + +PDF_level='1.4' +if string.find(basename(arg[0]), '12') then + PDF_level='1.2' +elseif string.find(basename(arg[0]), '13') then + PDF_level='1.3' +elseif string.find(basename(arg[0]), '14') then + PDF_level='1.4' +end + +options[#options+1]='-dCompatibilityLevel='..PDF_level + +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 == 1 then + if string.find(files[1], '^-$') then + outfile='-' + elseif string.find(filename(files[1]), '\.e*ps$') then + outfile=basename(files[1])..'.pdf' + else + outfile=filename(files[1])..'.pdf' + end +else + outfile=files[2] +end + +for i=1, #options do + command[#command+1]=options[i] +end + +other_opts={'-q', '-dSAFER', '-dNOPAUSE', '-dBATCH', '-sDEVICE=pdfwrite'} + +for i=1, #other_opts do + command[#command+1]=other_opts[i] +end + +command[#command+1]='-sOutputFile="'..outfile..'"' + +for i=1, #options do + command[#command+1]=options[i] +end + +if #files < 1 or #files > 2 then + io.stderr:write('Usage: ps2pdf [options] (input.[e]ps|-) [output.pdf]\n') + os.exit(0) +end + + + +other_opts={'-c', '.setpdfwrite', '-f', files[1]} + +for i=1, #other_opts do + command[#command+1]=other_opts[i] +end + +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) |