Bug 687846

Summary: parenthesis misplaced and text strings too long with vertical text
Product: Ghostscript Reporter: Jack Moffitt <jack>
Component: PS InterpreterAssignee: Igor Melichev <igor.melichev>
Status: NOTIFIED FIXED    
Severity: normal    
Priority: P2    
Version: master   
Hardware: All   
OS: All   
Customer: 1120 Word Size: ---
Attachments: stdCDevProc.ps

Description Jack Moffitt 2004-12-09 20:39:31 UTC
The attached file has misplaced parenthesis and the vertical text is too long
(according to the customer).  Distiller does a much better job.

Note that 8.14 and 8.15 produce better output than HEAD.  In HEAD the
parenthesis on the first column are moved several pixel left, which doesn't
happen on 8.1X.
Comment 1 Jack Moffitt 2004-12-09 20:40:09 UTC
Created attachment 1089 [details]
FXAR3725.ps
Comment 2 Igor Melichev 2004-12-23 11:55:25 UTC
Comparing with CPSI, paranthesis (except ones near the text "T07") are shifted 
down in half their width, and all other text is shifted right at half its 
width. Also converting to PDF with Distiller and selecting the text with 
Acrobat, very suspect that parenthesis are written with a rotated horizontal 
font (except ones near the text "T07"), but other text is with a vertical font. 
If so, both shifts are half pixel width.
Comment 3 Igor Melichev 2004-12-23 12:50:38 UTC
The document depends on "1183615869 internaldict /stdCDevProc get", which 
Ghostscript doesn't provide, but CPSI and Distiller do provide an operator. 
Likely we should guess it.
Comment 4 Igor Melichev 2004-12-23 12:53:02 UTC
Created attachment 1130 [details]
cpsi.log.txt

an info from CPSI.
Comment 5 Igor Melichev 2004-12-23 12:56:05 UTC
The document supplies a different CDevProc, when stdCDevProc absents.
It befhaves differently :

PS>1 2 3 4 5 6 7 8 9 10 11 { pop pop pop pop pop 0 -1000 7 index 2 div 880 } 
exec pstack
880
0.5
-1000
0
6
5
4
3
2
1
Comment 6 Igor Melichev 2004-12-23 13:41:02 UTC
Created attachment 1131 [details]
stdCDevProc.ps

We tried to define stydCDevProc to internaldict in gs_type1.ps (see
attachment), but it doesn't help. Then we found that the document defines a
CDevProc with each embedded font, and that procedure is called with both GS and
CPSI.
Comment 7 Igor Melichev 2004-12-23 13:42:45 UTC
When we printed the 1st ag\rgument of CDevProc (which is w0x), with GS got 0, 
with CPSI got many 500 and few 250. This is an incompatibility.