Bug 689405

Summary: Regression: differences in spec_gs.pdf and spec_gv.pdf
Product: Ghostscript Reporter: Marcos H. Woehrmann <marcos.woehrmann>
Component: PDF InterpreterAssignee: mpsuzuki <mpsuzuki>
Status: NOTIFIED FIXED    
Severity: normal    
Priority: P1    
Version: master   
Hardware: PC   
OS: Linux   
Customer: Word Size: ---
Bug Depends on:    
Bug Blocks: 689304    
Attachments: patch for SVN revision 8185: revert zchar1.c modification to fix this bug
fix for koji otani's patch to recover the regression on spec_gs.pdf & spec_gv.pdf

Description Marcos H. Woehrmann 2007-08-14 11:52:11 UTC
Starting with r8185 there are characters missing from the output of spec_gs.pdf
and spec_gv.pdf.

The command line I used:

  bin/gs -sDEVICE=ppmraw -sOutputFile=test.raw -r150 ./spec_gs.pdf
Comment 1 Marcos H. Woehrmann 2007-08-14 11:53:12 UTC
It's possible that this is a duplicate of 689404, but the symptoms are different
enough that I felt it warranted a separate bug report.
Comment 2 Ray Johnston 2007-08-14 13:43:59 UTC
Note that Henry Stiles has requested that this be assigned to Toshiya-san as a
P1 priority (highest importance).
Comment 3 Till Kamppeter 2007-08-14 14:07:42 UTC
The bug is a regression caused by the CJK patches applied to fix bug 689304. In
rev 8190 I have removed the patches again.
Comment 4 mpsuzuki 2007-08-24 04:24:40 UTC
Koji Otani's patch part2 for bug 689304 includes a modification for
the file src/zchar1.c, it causes the regression related with
Type1 font embedded in PDF. If the modification against src/zchar1.c
is removed, this regression is solved.

I think bug 689304 is about CIDFontType2 object emulated by ghostscript
the modification for src/zchar1.c should be filed as another issues.

# in fact, my post to gs-devel told as "CIDFont emulator"
# http://ghostscript.com/pipermail/gs-devel/2007-June/003538.html
# it is not related with Type1 CharString handling.
Comment 5 mpsuzuki 2007-08-29 06:04:39 UTC
Created attachment 3327 [details]
patch for SVN revision 8185: revert zchar1.c modification to fix this bug
Comment 6 mpsuzuki 2008-01-24 04:36:41 UTC
Created attachment 3735 [details]
fix for koji otani's patch to recover the regression on spec_gs.pdf & spec_gv.pdf

When Koji Otani's patch is applied, the function nobbox_finish()
passes uninitialized array w[] to zchar_set_cache(). Proper
initialization is required as following:

Index: src/zchar1.c
===================================================================
--- src/zchar1.c	(koji otani patched)
+++ src/zchar1.c	(fix after koji otani's patch)
@@ -825,6 +871,7 @@
     int code;
     gs_text_enum_t *penum = op_show_find(i_ctx_p);
     gs_font *pfont;
-    double w[2];
+    double w[2] = { pcxs->sbw[2], pcxs->sbw[3] };

     if ((code = gs_pathbbox(igs, &pcxs->char_bbox)) < 0 ||
	(code = font_param(op - 3, &pfont)) < 0