[gs-cvs] gs/lib

Ray Johnston ray at ghostscript.com
Fri Apr 29 09:58:06 PDT 2005


Update of /cvs/ghostscript/gs/lib
In directory casper2:/tmp/cvs-serv5155/lib

Modified Files:
	gs_cidtt.ps 
Log Message:
Handle CIDCount value of 65536 which might be seen with Identity CMap.
Fix for customer 562.

DETAILS:

while a multiple string approach had been previously implemented to allow
CIDCount > 32767, with 65536 a 'rangecheck in --string-- would result
when trying to create a string of 65538 bytes (32769 * 2). I chose a
arbitrary break point of 22000 CID's so that three strings would be
enough for 66000 total.


Index: gs_cidtt.ps
===================================================================
RCS file: /cvs/ghostscript/gs/lib/gs_cidtt.ps,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -d -r1.8 -r1.9
--- gs_cidtt.ps	12 Feb 2003 22:31:23 -0000	1.8
+++ gs_cidtt.ps	29 Apr 2005 16:58:04 -0000	1.9
@@ -37,11 +37,17 @@
     Decoding /CIDCount get /CIDCount exch def
     % Prepare the CIDMap structure :
     /CIDMap [
-      CIDCount 32767 le {
+      CIDCount 22000 le {
         CIDCount 2 mul string
       } {
-        32767 2 mul string
-        CIDCount 32767 sub 2 mul string
+        44000 string
+        CIDCount 44000 gt {
+	   % need three strings
+           44000 string		% 22000 2 mul string
+           CIDCount 44000 sub 2 mul string
+        } {
+           CIDCount 22000 sub 2 mul string
+        } ifelse
       } ifelse
     ] def
     % Now fill it :



More information about the gs-cvs mailing list