From d80131f43710fbd9f2f4e9e77ee774c549744bc0 Mon Sep 17 00:00:00 2001 From: Reinhard Kotucha Date: Tue, 23 Sep 2014 20:00:35 +0000 Subject: tlpkg/tlgs: upgrade gs-9.10 => gs-9.15 git-svn-id: svn://tug.org/texlive/trunk@35237 c570f23f-e606-0410-a88d-b1316a301751 --- Master/tlpkg/tlgs/lib/viewraw.ps | 77 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 Master/tlpkg/tlgs/lib/viewraw.ps (limited to 'Master/tlpkg/tlgs/lib/viewraw.ps') diff --git a/Master/tlpkg/tlgs/lib/viewraw.ps b/Master/tlpkg/tlgs/lib/viewraw.ps new file mode 100644 index 00000000000..c456afe5d1c --- /dev/null +++ b/Master/tlpkg/tlgs/lib/viewraw.ps @@ -0,0 +1,77 @@ +% Copyright (C) 2001-2012 Artifex Software, Inc. +% All Rights Reserved. +% +% This software is provided AS-IS with no warranty, either express or +% implied. +% +% This software is distributed under license and may not be copied, +% modified or distributed except as expressly authorized under the terms +% of the license contained in the file LICENSE in this distribution. +% +% Refer to licensing information at http://www.artifex.com or contact +% Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134, San Rafael, +% CA 94903, U.S.A., +1(415)492-9861, for further information. +% + +% viewcmyk.ps +% Display a raw CMYK file. +% Requires the colorimage operator. +% If SCALE is defined, maps input pixels to output pixels with that scale; +% if SCALE is undefined, scales the image to fit the page. +% If BITS is defined, it is the number of bits per sample (1,2,4,8,12); +% if BITS is undefined, its default value is 1. +% Colorspace defaults to cmyk, but -dGray or -dRGB can change it + +/viewraw { % viewraw - + 20 dict begin + % Default ncomp is 4 == CMYK + /w exch def + /fname exch def + /ncomp + /Gray where + { pop 1 } % DeviceGray is 1 component + { /RGB where { pop 3 } { 4 } ifelse % DeviceRGB is 3 component, DeviceCMYK is 4 component + } ifelse + def + /bpc /BITS where { pop BITS } { 1 } ifelse def + /f fname (r) file def + mark fname status pop pop pop /flen exch def cleartomark + /h flen w bpc ncomp mul mul 7 add 8 idiv idiv def + %% (Dimensions: ) print [w h] == flush + % Set up scaling. + /SCALE where { + pop + % Map pixels SCALE-for-1. Assume orthogonal transformation. + SCALE 1 0 dtransform add abs div + SCALE 0 1 dtransform add abs div + } { + % Scale the image (uniformly) to fit the page. + clippath pathbbox pop pop translate + pathbbox 3 -1 roll sub h div + 3 1 roll exch sub w div .min dup + } ifelse scale + %% w h bpc [1 0 0 -1 0 h] f false ncomp colorimage + << /ImageType 1 /Width w /Height h /ImageMatrix [1 0 0 -1 0 h] + /MultipleDataSources false /DataSource f /BitsPerComponent BITS + /Decode BITS 1 gt % inverted sense for 1 bit per component + { [ [ 0 1 ] [0] [ 0 1 0 1 0 1 ] [ 0 1 0 1 0 1 0 1 ] ] ncomp 1 sub get } + { [ [ 1 0 ] [0] [ 1 0 1 0 1 0 ] [ 1 0 1 0 1 0 1 0 ] ] ncomp 1 sub get } + ifelse + >> image + showpage + f closefile + end +} bind def + +% If the program was invoked from the command line, run it now. +[ shellarguments { + counttomark 2 eq { + cvi viewraw + } { + cleartomark + (Usage: gs -- viewraw filename.raw width\n) print + ( e.g.: gs -- viewraw my.raw 2550\n) print flush + } ifelse +} { + pop +} ifelse -- cgit v1.2.3