Skip to content

TextSymbolizer bug with Armenian letters #582

Closed
artemp opened this Issue Oct 11, 2011 · 6 comments

2 participants

@artemp
Mapnik member
artemp commented Oct 11, 2011

We are testing Mapnik (v0.7.0 & 0.7.1 on WinXP) for rendering map and we have found a strange bug in Mapnik's TextSymbolizer when dealing with Armenian letters (maybe also other letters?).

Here we provide some screenshots of the artifacts, some permalinks to OpenStreetMaps, and all the necessary files '''for reproducing the bug (see attachments)'''.

(We use "Tahoma Armenian Regular" font, but the bug exist when using other fonts too and depends from the "spacing" value)

You will need to create (if missing) a PostGIS enabled PostgreSQL database named "postgis", and import the SQL file to the database. Then run the slightly modified version of generate_tiles.py for generating the tiles. Then use "viewer/index.htm" to view the tiles using OpenLayers.

'''Permalinks to OpenStreetMaps'''

'''(1) Bug in OSM'''

http://www.openstreetmap.org/?lat=40.219142&lon=44.538562&zoom=18&layers=B000FTF

'''(2) Bug in OSM'''

http://www.openstreetmap.org/?lat=40.22914&lon=44.551233&zoom=18&layers=B000FTF

@artemp
Mapnik member
artemp commented Oct 11, 2011

[herm] Looks like this is no bug, but a problem that each tile is rendered independently. The renderer doesn't know where it placed the label in the last tile an might choose a new place in every tile. There is no really 100% working solution for this as far as I know, but you can try changing this
line in generate_tiles.py to get better results:

self.m.buffer_size = 128

Note however that large values will increase your rendering time. You might want to choose a better solution like renderd when you have a large number of tiles to render.

@artemp
Mapnik member
artemp commented Oct 11, 2011

[NetLab.am] > self.m.buffer_size = 128

I understand what you mean, but I don't think that the case is in the size of the cache. If you view the example in the attached files, you can see that the size of the map is very small - just one small polyline with TextSymbolizer, so it's not possible that the cache is too small. I think this is a bug.
Please pay attention to the "spacing" parameter, depending on its value the bug can disappear.

@artemp
Mapnik member
artemp commented Oct 11, 2011

[NetLab.am] I tried to increase the size of the buffer but no result, the bug remains as I expected.
My example map consists of 1.32 KM length 20 nodes polyline, so as I said before, I don't think that this issue has any relation to the size of the buffer.

@herm
Mapnik member
herm commented Jun 25, 2012

This bug does not appear to be related to international text handling but it looks like the placement finder chooses different placement when rendering the tiles. I will try to add debug output when I work on the placement finder.

@herm herm was assigned Jun 25, 2012
@herm
Mapnik member
herm commented Aug 21, 2012

Please try rendering the tiles again with harfbuzz branch.

@herm
Mapnik member
herm commented Mar 27, 2013

Closing this bug as there was no reply in the last 7 month and this bug is reported against a very old version of mapnik.

@herm herm closed this Mar 27, 2013
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.