diff options
Diffstat (limited to 'Master/xemtex/gslib/viewmiff.ps')
-rw-r--r-- | Master/xemtex/gslib/viewmiff.ps | 125 |
1 files changed, 0 insertions, 125 deletions
diff --git a/Master/xemtex/gslib/viewmiff.ps b/Master/xemtex/gslib/viewmiff.ps deleted file mode 100644 index daf56ed458c..00000000000 --- a/Master/xemtex/gslib/viewmiff.ps +++ /dev/null @@ -1,125 +0,0 @@ -% Copyright (C) 1998 Aladdin Enterprises. All rights reserved. -% -% This program is free software; you can redistribute it and/or modify it -% under the terms of the GNU General Public License as published by the -% Free Software Foundation; either version 2 of the License, or (at your -% option) any later version. -% -% This program is distributed in the hope that it will be useful, but -% WITHOUT ANY WARRANTY; without even the implied warranty of -% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General -% Public License for more details. -% -% You should have received a copy of the GNU General Public License along -% with this program; if not, write to the Free Software Foundation, Inc., -% 59 Temple Place, Suite 330, Boston, MA, 02111-1307. - -% $Id: viewmiff.ps,v 1.2.6.1.2.1 2003/04/12 14:02:39 giles Exp $ -% viewmiff.ps -% Display a MIFF file. You would think the 'display' command would do this, -% but many versions of 'display' either core-dump or require unacceptably -% large amounts of memory. - -% Recognize MIFF keywords. -/miffwords mark - /class { cvn /class exch def } - /colors { cvi /colors exch def } - /columns { cvi /Width exch def } - /compression { cvn /compression exch def } - /depth { cvi /depth exch def } - /packets { cvi /packets exch def } - /rows { cvi /Height exch def } -.dicttomark readonly def - -% Recognize MIFF image classes. -/miffclasses mark - /DirectClass { - /DeviceRGB setcolorspace - /BitsPerComponent depth def - /Decode [ 0 1 0 1 0 1 ] def - } - /PseudoClass { - [ /Indexed - % The MIFF documentation lies about the size of pixels - % for this case: the pixel size is determined only by - % the number of colors, and is not affected by the image - % depth. Specifically, if there are 256 or fewer colors - % but the depth (of color map entries) is 16, each pixel - % is still only 1 byte, not 2. - currentdict /colors known { - /DeviceRGB colors 1 sub - /BitsPerComponent colors 256 le { 8 } { 16 } ifelse def - colors 3 mul string depth 8 eq { - f exch readstring pop - } { - % 16-bit color map entries: take only the high-order byte. - 0 1 2 index length 1 sub { - f read pop 2 index 3 1 roll put f read pop pop - } for - } ifelse - } { - /colors 256 def - /DeviceGray 255 - 256 string 0 1 255 { 1 index exch dup put } for - } ifelse - ] setcolorspace - /Decode [ 0 1 BitsPerComponent bitshift 1 sub ] def - } -.dicttomark readonly def - -% Recognize MIFF compression methods. -/rlstring 768 string def -/rlread { - % packets is not reliable -- disregard it. - dup rlstring 0 3 getinterval readstring { - pop read pop 3 mul 3 3 2 index { - rlstring exch rlstring 0 3 getinterval putinterval - } for - rlstring 0 3 -1 roll 3 add getinterval - } { - pop pop () - } ifelse -} bind def -/miffcompress mark - /Uncompressed { f } - /RunLengthEncoded { { f rlread } } - /Zip { [ f /FlateDecode filter cvlit /rlread cvx ] cvx } -.dicttomark readonly def - -% Read a MIFF file and display the image. -/viewmiff { % <filename> viewmiff - - 50 dict begin - /fname 1 index def - /f exch (r) file def - % Set defaults. - /ImageType 1 def - /class /DirectClass def - /compression /Uncompressed def - /depth 8 def - /packets 16#7fffffff def - % Read and parse the header. - { f token pop - dup (:) eq { pop exit } if - dup type /nametype eq { - .namestring (=) search { - exch pop miffwords exch .knownget { exec } { pop } ifelse - } { - pop % who knows? - } ifelse - } { - pop % probably a comment in braces - } ifelse - } loop - % Read and display the image. - miffclasses class get exec - /DataSource miffcompress compression get exec def - /ImageMatrix [Width 0 0 Height neg 0 Height] def - currentpagedevice /PageSize get - dup 0 get exch 1 get scale - gsave 0.8 setgray 0 0 1 1 rectfill grestore % provide background - currentdict image - showpage - % Clean up. - f closefile - end -} bind def |