[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