Patch works for UK.
However I think we should rather have this done generally for ";".
Here is the current behaviour of mkgmap when it comes to in my eyes
incorrect, but for some people acceptable strange tagging:
a) Two times the same key (e.g. natural=coastline ; natural=forest):
I think this does not matter anymore. JOSM does not allow to use this.
Just for reference.
Current behavior is that on all objects with two times the same tag,
the second tag is read, i.e.
<way id='-5251' action='modify' visible='true'>
<nd ref='-5252' />
<nd ref='-5253' />
<nd ref='-5254' />
<nd ref='-5255' />
<nd ref='-5252' />
<tag k='highway' v='trunk' />
<tag k='highway' v='motorway' />
</way>
So in this case, motorway would be rendered. It I is switched over to:
.....
<nd ref='-5252' />
<tag k='highway' v='motorway' />
<tag k='highway' v='trunk' />
</way>
then trunk would be rendered.
b) values divided by ";"
You can currently only get them by using a wildcard like shop=* or
natural=*.
I think either mkgmap should take the" ;"
1. as stop, and use the value up to ";" - except if value is "name" or
"ref". This should not increase compile time at all if implemented well
to my understanding, and at least the first (and usually major) value
would be parsed. Maybe the same could be achieved by regex???
2. use it to split up the value into two keys. So say out of
highway=motorway;trunk make highway=motorway & highway=trunk. As in
the motorway;trunk a proper style-file (like the default) would drop
trunk (no "continue") used.