Bug 687614

Summary: mirrored glyph is rendered at incorrect position
Product: Ghostscript Reporter: Werner Lemberg <wl>
Component: PS InterpreterAssignee: Igor Melichev <igor.melichev>
Status: NOTIFIED FIXED    
Severity: major    
Priority: P2    
Version: 0.00   
Hardware: PC   
OS: Linux   
URL: http://freetype.org/gs-bugs/gsbug.ps
Customer: Word Size: ---
Attachments: gsbug.ps
gsbug-1.ps
gsbug-1.ps.CPSI.tif.zip

Description Werner Lemberg 2004-08-11 15:51:16 UTC
The small file at the above URL shows that the mirrored right hand glyph
is positioned incorrectly.  This fails with both 8.14 and 8.30.
Consequently, ps2pdf positions it wrong also.

Note that 6.51 renders the example correctly.
Comment 1 Jack Moffitt 2004-10-24 21:10:57 UTC
Reproduced with CVS HEAD.
Comment 2 Igor Melichev 2004-10-27 07:53:55 UTC
Created attachment 998 [details]
gsbug.ps

A local copy of the test file.
Comment 3 Igor Melichev 2004-10-27 08:58:18 UTC
Adobe CPSI rasterizes this document differently than GS and differently then 
AdobeDistiller+ASdobeReader. IMO the CPSI raster is correct. Will attach a 
simplified test and its raster from CPSI.
Comment 4 Igor Melichev 2004-10-27 08:59:01 UTC
Created attachment 999 [details]
gsbug-1.ps 

A simplified test.
Comment 5 Igor Melichev 2004-10-27 09:02:59 UTC
Created attachment 1000 [details]
gsbug-1.ps.CPSI.tif.zip

A raster of gsbug-1.ps made with CPSI.
Comment 6 Igor Melichev 2004-10-27 09:12:33 UTC
The "hand" glyph has Metrics [sbx, wx]=[-904, -939] and the native sbx = 35. I 
believe that CPSI renders it correctly : mirrorred and then shifted forth in 
904 design units. Since 904 = 935-35, both occurances must have same projection 
to the X axis, and we do observe so with CPSI. Others render it wrongly : 
Distiller misses sbx, and pdfwrite applies sbx with a wrong sign (i.e. in the 
opposite direction).
Comment 7 Igor Melichev 2004-10-28 00:48:10 UTC
A fix to pdfwrite:
HEAD : gdevpdte.c Revision 1.65
GS_8_1X : gdevpdte.c Revision 1.33.2.15
Comment 8 Igor Melichev 2004-10-28 03:27:32 UTC
A fix for raster devices :
HEAD : 
gstype1.c Revision 1.32 
gstype2.c Revision 1.36 
zchar1.c Revision 1.41

GS_8_1X :

gstype1.c Revision 1.22.2.2
gstype2.c Revision 1.25.2.3
zchar1.c Revision 1.28.2.4