It appears that the cm operator affects the coordinates of a path, but is not properly tranforming the pen itself used for the stroke. I know this affects the cairo backend at least, (haven't checked the others), and I also happen to know that it's fairly easy to get cairo to do the right thing here. So I'd be happy to provide any guidance needed on this.
Created attachment 5650 [details] Test case showing buggy rendering Here's a PDF file that demonstrates the bug. Acroread appears to render this file as I expect, but poppler renders the top two strokes with a pen that is too wide, (apparently unaffected by the transformation matrix). The cairo code that generated this image can be found here: http://gitweb.cairographics.org/?p=cairo;a=blob;h=HEAD:test/line-width-scale.c which also shows how to get the desired result with cairo, (which is simply to set the transform before calling cairo_set_line_width). -Carl
Created attachment 5651 [details] [review] use cairo's affine transformation support instead of ignoring it rough patch that fixes this problem. I'll clean it up when I get the chance.
The patch solved my original problem, but it may have introduced another. See what I describe in bug #7014 here: https://bugs.freedesktop.org/show_bug.cgi?id=7014 -Carl
Created attachment 5751 [details] [review] new patch that fixes dashing problems
Fixed in cvs.
This patch broke selection with zoom not equal to 100%, although I failed to find the reason. Can you please test it once again?
Does adding: out->setDefaultCTM(state->getCTM()); below: out->startPage (0, state); on line 3315 of TextOutputDev.cc help?
Yes, it does. That's great, please, commit the change.
Commited.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.