[gs-cvs] rev 7574 - in trunk/gs: doc src

leonardo at ghostscript.com leonardo at ghostscript.com
Sat Jan 6 12:35:32 PST 2007


Author: leonardo
Date: 2007-01-06 12:35:32 -0800 (Sat, 06 Jan 2007)
New Revision: 7574

Modified:
   trunk/gs/doc/pscet_status.txt
   trunk/gs/src/zchar.c
Log:
Fix : 'show' must throw error when the current font is a CID font resource.

DETAILS :

Only 'glyphshow' is allowed when the current font is a CID font resource,
except for a cshow procedure - see comment in op_show_finish_setup.

Debugged with CET 32_all.PS page 14.

EXPECTED DIFFERENCES :

None.


Modified: trunk/gs/doc/pscet_status.txt
===================================================================
--- trunk/gs/doc/pscet_status.txt	2007-01-06 19:16:16 UTC (rev 7573)
+++ trunk/gs/doc/pscet_status.txt	2007-01-06 20:35:32 UTC (rev 7574)
@@ -5271,11 +5271,7 @@
 
 32_all-13  OK	
 
-32_all-14  DIFF	GS handles *show with no error when the current font is a CIDFont resource
-		(rather than a CIDFont-CMap font resource), and likely
-		it renders nothing in this case. CPSI and Distiller throws an error.
-		Not sure whether it's a bug or feature.
-		assign: Igor.
+32_all-14  OK
 
 32_all-15  AOK	Same as 34_all-6
 

Modified: trunk/gs/src/zchar.c
===================================================================
--- trunk/gs/src/zchar.c	2007-01-06 19:16:16 UTC (rev 7573)
+++ trunk/gs/src/zchar.c	2007-01-06 20:35:32 UTC (rev 7574)
@@ -466,6 +466,14 @@
 	/* A special behavior defined in PLRM3 section 5.11 page 389. */
 	penum->outer_CID = osenum->returned.current_glyph;
     }
+    if (osenum == NULL && !(penum->text.operation & (TEXT_FROM_GLYPHS | TEXT_FROM_SINGLE_GLYPH))) {
+	gs_font *pfont = igs->root_font;
+
+	if (pfont->FontType == ft_CID_encrypted || 
+	    pfont->FontType == ft_CID_user_defined ||
+	    pfont->FontType == ft_CID_TrueType)
+	    return_error(e_typecheck);
+    }
     make_mark_estack(ep - (snumpush - 1), es_show, op_show_cleanup);
     if (endproc == NULL)
 	endproc = finish_show;



More information about the gs-cvs mailing list