[gs-cvs] rev 7137 - trunk/gs/lib
ray at ghostscript.com
ray at ghostscript.com
Mon Oct 30 13:57:57 PST 2006
Author: ray
Date: 2006-10-30 13:57:56 -0800 (Mon, 30 Oct 2006)
New Revision: 7137
Modified:
trunk/gs/lib/gs_cmap.ps
Log:
Tolerate some missing keys in a CMap (previously we only allowed for missing
CMapName). Missing /CodeMap and /CIDSystemInfo now tolerated for PS CET 23-25
and others.
DETAILS:
Note a CMap with missing CodeMap can't really be used. It is just accepted
for CPSI compatibility.
Modified: trunk/gs/lib/gs_cmap.ps
===================================================================
--- trunk/gs/lib/gs_cmap.ps 2006-10-30 21:53:44 UTC (rev 7136)
+++ trunk/gs/lib/gs_cmap.ps 2006-10-30 21:57:56 UTC (rev 7137)
@@ -525,9 +525,18 @@
dup length string copy exch .setglobal exch
} if dup /CMapName 3 index put
} if
- dup /CodeMap get //null eq { .buildcmap } if
+ % Adobe PS CET 23-25 and others define an almost empty CMap. Tolerate this.
+ % With the above, we can actually tolerate: /name << >> defineresource
+ dup /CIDSystemInfo known not {
+ dup wcheck not {
+ .currentglobal exch dup wcheck .setglobal
+ dup length dict .copydict exch .setglobal
+ } if
+ dup /CIDSystemInfo [ //null ] put
+ } if
+ dup /CodeMap .knownget { //null eq { .buildcmap } if } if
/Generic /Category findresource /DefineResource get exec
-} put
+} bind put
/Category defineresource pop
% We might have loaded CID font support already.
/CIDInit /ProcSet 2 copy { findresource } .internalstopped
More information about the gs-cvs
mailing list