From dc55d4f5cde421a3704c183bc6ceb3fcdb6b0653 Mon Sep 17 00:00:00 2001 From: Reinhard Kotucha Date: Wed, 12 May 2010 19:25:45 +0000 Subject: tlgs: 8.70 => 8.71 git-svn-id: svn://tug.org/texlive/trunk@18215 c570f23f-e606-0410-a88d-b1316a301751 --- Master/tlpkg/tlgs/lib/viewgif.ps | 320 +++++++++++++++++++-------------------- 1 file changed, 160 insertions(+), 160 deletions(-) mode change 100755 => 100644 Master/tlpkg/tlgs/lib/viewgif.ps (limited to 'Master/tlpkg/tlgs/lib/viewgif.ps') diff --git a/Master/tlpkg/tlgs/lib/viewgif.ps b/Master/tlpkg/tlgs/lib/viewgif.ps old mode 100755 new mode 100644 index 7cfe8af829d..2b7aecae71b --- a/Master/tlpkg/tlgs/lib/viewgif.ps +++ b/Master/tlpkg/tlgs/lib/viewgif.ps @@ -1,160 +1,160 @@ -% Copyright (C) 1989, 1992, 1993, 1998 Aladdin Enterprises. 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. -% -% For more information about licensing, please refer to -% http://www.ghostscript.com/licensing/. For information on -% commercial licensing, go to http://www.artifex.com/licensing/ or -% contact Artifex Software, Inc., 101 Lucas Valley Road #110, -% San Rafael, CA 94903, U.S.A., +1(415)492-9861. - -% $Id: viewgif.ps 6300 2005-12-28 19:56:24Z giles $ -% viewgif.ps -% Display a GIF file. - -/read1 % read1 - { read pop - } bind def -/read2 % read2 - { dup read1 exch read1 8 bitshift add - } bind def - -/readGIFheader % readGIFheader - { 20 dict begin - dup 6 string readstring pop - dup (GIF87a) eq exch (GIF89a) eq or not - { (Not a GIF file.\n) print cleartomark stop - } if - dup read2 /Width exch def - dup read2 /Height exch def - dup read1 - dup 128 ge /GlobalColor exch def - dup -4 bitshift 7 and 1 add /BitsPerPixel exch def %***BOGUS?*** - dup 8 and 0 ne /PaletteSorted exch def - 7 and 1 add dup /BitsPerPixel exch def - 1 exch bitshift /PaletteSize exch def - dup read1 /BackgroundIndex exch def - dup read1 15 add 64 div /AspectRatio exch def - GlobalColor - { PaletteSize 3 mul string readstring pop - /GlobalPalette exch def - } if - currentdict end - } bind def - -/readGIFimageHeader % readGIFimageHeader - % Note: GIF header must be on dict stack - { 10 dict begin - { dup read1 - dup (!) 0 get ne { exit } if pop % extension - dup read1 pop - { dup read1 dup 0 eq { pop exit } if { dup read1 pop } repeat - } loop - } loop - (,) 0 get ne - { (Not a GIF image.\n) print stop - } if - dup read2 /Left exch def - dup read2 /Top exch def - dup read2 /Width exch def - dup read2 /Height exch def - dup read1 - dup 128 ge /LocalColor exch def - dup 64 and 0 ne /Interlaced exch def - LocalColor - { 7 and 1 add /BitsPerPixel exch def - 1 BitsPerPixel bitshift 3 mul string readstring pop - /Palette exch def - } - { pop pop /Palette GlobalPalette def - } - ifelse - currentdict end - } bind def - -/imageGIF % imageGIF - { /ImageOut where - { pop - % We know BitsPerComponent = 8, Decode = [0 255]. - % and there is only a single data source which is - % either a filter or a string whose size is exactly - % the width of the row. - dup /DataSource get dup type /stringtype eq - { ImageOut exch writestring - } - { pop dup /Width get string - 1 index /Height get - { 1 index /DataSource get 1 index readstring pop - ImageOut exch writestring - } - repeat pop pop - } - ifelse - } - { image - } - ifelse - } bind def - -/viewGIF % viewGIF - - { save 20 dict begin - /saved exch def - dup type /stringtype eq { (r) file } if - /F exch def - /ImageOutFile where { /ImageOut ImageOutFile (w) file def } if - F readGIFheader /Header exch def - currentdict Header end begin begin - VGIFDEBUG { Header { exch == == } forall (----------------\n) print flush } if - F readGIFimageHeader /ImageHeader exch def - currentdict ImageHeader end begin begin - VGIFDEBUG { ImageHeader { exch == == } forall (----------------\n) print flush } if - /D F - << /InitialCodeLength F read1 - /FirstBitLowOrder true - /BlockData true - /EarlyChange 0 - >> /LZWDecode filter def - - [/Indexed /DeviceRGB 1 BitsPerPixel bitshift 1 sub Palette] setcolorspace - matrix currentmatrix - 0 1 3 { 2 copy get dup 0 ne { dup abs div } if 3 copy put pop pop } for - setmatrix - << /ImageType 1 - /ImageMatrix [1 0 0 -1 0 Height] - /BitsPerComponent 8 - /Decode [0 255] - Interlaced - { /Width Width /Height 1 - /row Width string def - /DataSource row - >> /I exch def - /inter % inter - - { /denom exch def /num exch def - gsave - /lines Height denom 1 sub add num sub denom idiv def - 0 1 lines 1 sub { - Height exch denom mul num add sub - I /ImageMatrix get 5 3 -1 roll put - D row readstring pop pop - I imageGIF - } for - grestore - } - bind def - 0 8 inter - 4 8 inter - 2 4 inter - 1 2 inter - } - { /Width Width /Height Height - /DataSource D - >> imageGIF - } - ifelse - saved end end end restore - } bind def +% Copyright (C) 1989, 1992, 1993, 1998 Aladdin Enterprises. 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. +% +% For more information about licensing, please refer to +% http://www.ghostscript.com/licensing/. For information on +% commercial licensing, go to http://www.artifex.com/licensing/ or +% contact Artifex Software, Inc., 101 Lucas Valley Road #110, +% San Rafael, CA 94903, U.S.A., +1(415)492-9861. + +% $Id: viewgif.ps 6300 2005-12-28 19:56:24Z giles $ +% viewgif.ps +% Display a GIF file. + +/read1 % read1 + { read pop + } bind def +/read2 % read2 + { dup read1 exch read1 8 bitshift add + } bind def + +/readGIFheader % readGIFheader + { 20 dict begin + dup 6 string readstring pop + dup (GIF87a) eq exch (GIF89a) eq or not + { (Not a GIF file.\n) print cleartomark stop + } if + dup read2 /Width exch def + dup read2 /Height exch def + dup read1 + dup 128 ge /GlobalColor exch def + dup -4 bitshift 7 and 1 add /BitsPerPixel exch def %***BOGUS?*** + dup 8 and 0 ne /PaletteSorted exch def + 7 and 1 add dup /BitsPerPixel exch def + 1 exch bitshift /PaletteSize exch def + dup read1 /BackgroundIndex exch def + dup read1 15 add 64 div /AspectRatio exch def + GlobalColor + { PaletteSize 3 mul string readstring pop + /GlobalPalette exch def + } if + currentdict end + } bind def + +/readGIFimageHeader % readGIFimageHeader + % Note: GIF header must be on dict stack + { 10 dict begin + { dup read1 + dup (!) 0 get ne { exit } if pop % extension + dup read1 pop + { dup read1 dup 0 eq { pop exit } if { dup read1 pop } repeat + } loop + } loop + (,) 0 get ne + { (Not a GIF image.\n) print stop + } if + dup read2 /Left exch def + dup read2 /Top exch def + dup read2 /Width exch def + dup read2 /Height exch def + dup read1 + dup 128 ge /LocalColor exch def + dup 64 and 0 ne /Interlaced exch def + LocalColor + { 7 and 1 add /BitsPerPixel exch def + 1 BitsPerPixel bitshift 3 mul string readstring pop + /Palette exch def + } + { pop pop /Palette GlobalPalette def + } + ifelse + currentdict end + } bind def + +/imageGIF % imageGIF + { /ImageOut where + { pop + % We know BitsPerComponent = 8, Decode = [0 255]. + % and there is only a single data source which is + % either a filter or a string whose size is exactly + % the width of the row. + dup /DataSource get dup type /stringtype eq + { ImageOut exch writestring + } + { pop dup /Width get string + 1 index /Height get + { 1 index /DataSource get 1 index readstring pop + ImageOut exch writestring + } + repeat pop pop + } + ifelse + } + { image + } + ifelse + } bind def + +/viewGIF % viewGIF - + { save 20 dict begin + /saved exch def + dup type /stringtype eq { (r) file } if + /F exch def + /ImageOutFile where { /ImageOut ImageOutFile (w) file def } if + F readGIFheader /Header exch def + currentdict Header end begin begin + VGIFDEBUG { Header { exch == == } forall (----------------\n) print flush } if + F readGIFimageHeader /ImageHeader exch def + currentdict ImageHeader end begin begin + VGIFDEBUG { ImageHeader { exch == == } forall (----------------\n) print flush } if + /D F + << /InitialCodeLength F read1 + /FirstBitLowOrder true + /BlockData true + /EarlyChange 0 + >> /LZWDecode filter def + + [/Indexed /DeviceRGB 1 BitsPerPixel bitshift 1 sub Palette] setcolorspace + matrix currentmatrix + 0 1 3 { 2 copy get dup 0 ne { dup abs div } if 3 copy put pop pop } for + setmatrix + << /ImageType 1 + /ImageMatrix [1 0 0 -1 0 Height] + /BitsPerComponent 8 + /Decode [0 255] + Interlaced + { /Width Width /Height 1 + /row Width string def + /DataSource row + >> /I exch def + /inter % inter - + { /denom exch def /num exch def + gsave + /lines Height denom 1 sub add num sub denom idiv def + 0 1 lines 1 sub { + Height exch denom mul num add sub + I /ImageMatrix get 5 3 -1 roll put + D row readstring pop pop + I imageGIF + } for + grestore + } + bind def + 0 8 inter + 4 8 inter + 2 4 inter + 1 2 inter + } + { /Width Width /Height Height + /DataSource D + >> imageGIF + } + ifelse + saved end end end restore + } bind def -- cgit v1.2.3