Bug 691576 - Bogus round joining of parallel segments
Summary: Bogus round joining of parallel segments
Status: RESOLVED FIXED
Alias: None
Product: Ghostscript
Classification: Unclassified
Component: Vectors (show other bugs)
Version: 8.71
Hardware: PC Windows 2000
: P4 normal
Assignee: Robin Watts
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-08-26 19:56 UTC by boost
Modified: 2010-08-26 21:21 UTC (History)
2 users (show)

See Also:
Customer:
Word Size: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description boost 2010-08-26 19:56:49 UTC
Line segments are joined wrongly by Ghostscript 8.71 under the following circumstances:
1) round join is selected AND
2) interpolation is requested AND
3) stroking path contains consequent parallel segments.
This way, the join of the parallel segments is rendered funny.

PostScript code to reproduce the error:
1 setlinejoin 6 setlinewidth
0 0 moveto 50 50 rlineto 50 50 rlineto stroke

View that with -dGraphicsAlphaBits=4 or 2.

The first segment will end with a round cap, and the second one will become triangular with width increasing linearly from 0 to 6 along it. PostScript Language Reference (3rd edition) says nothing special about parallel segments in a path, so this is clearly a misbehaviour of Ghostscript's stroking routine (perhaps, something like division by zero).

Tested on GPL Ghostscript 8.71 (2010-02-10) for Win32 on Windows 2000 SP4.
Comment 1 Alex Cherepanov 2010-08-26 21:21:28 UTC
The problem is confirmed in v. 8.71 but it is fixed in v. 9.00
that will be released this week.