-
Notifications
You must be signed in to change notification settings - Fork 827
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Inconsistent collision management between Agg rendering and Cairo #1242
Comments
nice catch. I'll need to create a testcase that replicates this before considering backporting. I'm headed out offline for a week, so I am unlikely to get to this today. But, thanks for reporting and posting a fix! |
planning on getting to this in the coming week. |
closing as text_symbolizer processing has beed re-implemented and I see identical text positioning with recent master |
re-opening, as this is just relevant to the 2.0.2 release (not master). taking off the mustfix label so we don't confuse with the master push to 2.1.x. |
Okay, finally looking at this. I'm not able to create a testcast against 2.0.2 that can actually demonstrate the issue. So, this is not likely in 2.0.2. In fact it is looking like the changes made to master in #1283 will be reverted because I don't think this is a bug. I started digging through history and found: 6713df5, which points to the reasoning behind sending this separate So, @dmarteau - do you have |
In our test case, we use exactly the same xml. The only thing that was changed was in one case we use agg and in the other case we use cairo. The above patch has fixed the huge difference we had between cairo rendering and agg rendering. regards |
Good catch, avoid-edge was set in our xml, we have removed it and the adquation between the agg and cairo is must better, but theres is still some discrepencies that I can't explain for now. regards, |
yes, the problem does appear to be in the cairo renderer - in the sense that it does not keep info on the unbuffered map width/height and does not properly use this for the avoid-edges check. |
Done in 6a6a48b, problem, to recap, was that For similar consistency fixes in master (aka. 2.1.0-pre) see #1283 |
We have noticed a big difference how text conflicts are handled in AGG compared to Cairo, but it appears that in some cases the AGG renderer doesn't not care about buffer values and thus lead to problems when rendering tiles (there could be not text at all along the edge of the tiles).
you can see the difference between the two rendering of the same template here (Mapnik 2.0.x):
AGG: http://www.tiikoni.com/tis/view/?id=f38780d
CAIRO: http://www.tiikoni.com/tis/view/?id=b21cf43
We use a buffer of 384, in the case of AGG, changing the size of the buffer has no effects.
For mapnik 2.0.x, the following patch fix the problem (the patch has been tested):
The text was updated successfully, but these errors were encountered: