[gs-cvs] rev 6990 - trunk/gs/lib

alexcher at ghostscript.com alexcher at ghostscript.com
Mon Aug 14 05:54:59 PDT 2006


Author: alexcher
Date: 2006-08-14 05:54:58 -0700 (Mon, 14 Aug 2006)
New Revision: 6990

Modified:
   trunk/gs/lib/gs_img.ps
Log:
Report rangecheck or typecheck errors rather than undefined when the image type
is not known. Partial fix for 12-07a.ps and 12-08b.ps .


Modified: trunk/gs/lib/gs_img.ps
===================================================================
--- trunk/gs/lib/gs_img.ps	2006-08-14 09:46:08 UTC (rev 6989)
+++ trunk/gs/lib/gs_img.ps	2006-08-14 12:54:58 UTC (rev 6990)
@@ -640,17 +640,26 @@
                   { /image .systemvar $error /errorname get signalerror }
                 if
               }
-              { /image .systemvar /undefined signalerror }
+              { /image .systemvar /rangecheck signalerror
+              }
             ifelse
           }
           {
-            gsave
-            0 .setoverprintmode         % disable overprintmode for images
-            //.imagetypes exch get
-            stopped
-            grestore
-              { /image .systemvar $error /errorname get signalerror }
-            if
+            dup //.imagetypes exch .knownget
+              {
+                exch pop gsave
+                0 .setoverprintmode         % disable overprintmode for images
+                stopped
+                grestore
+                  { /image .systemvar $error /errorname get signalerror }
+                if
+              }
+              {
+                /image .systemvar exch type /integertype eq
+                  { /rangecheck } { /typecheck } 
+                ifelse signalerror
+              }
+            ifelse
           }
         ifelse
       }
@@ -675,7 +684,15 @@
 /imagemask
   {
     dup type /dicttype eq .languagelevel 2 ge and
-      { dup /ImageType get //.imagemasktypes exch get exec }
+      { dup /ImageType get
+        //.imagemasktypes exch .knownget
+          { exec
+          }
+          { % CET 12-08b.ps wamts /typecheck
+            /imagemask .systemvar /typecheck signalerror
+          }
+        ifelse
+      }
       {
         //img_build_imagemask_dict exec
           { .imagemask1 }



More information about the gs-cvs mailing list