Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP

Loading…

TextSymbolizer bug with Armenian letters #582

Closed
artemp opened this Issue · 6 comments

2 participants

@artemp
Owner

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
Owner

[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
Owner

[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
Owner

[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
Collaborator

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
@herm
Collaborator

Please try rendering the tiles again with harfbuzz branch.

@herm
Collaborator

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
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.