[mkgmap-dev] Commit r4809: fix java.lang.AssertionError while building index from unicode tiles
From Ticker Berkin rwb-mkgmap at jagit.co.uk on Sun Oct 24 18:04:17 BST 2021
Hi Carlos & Gerd Changing the default sort used when resources/sort/cp... matching the code-page doesn't exist from cp1252 to cp65001/unicode stops this crash. It probably gives a much better index. Except in the cases where the requested codepage uses transliterations from resources/chars/ascii or latin1, I think the default sort should be unicode. I haven't yet investigated how and when these transliterations occur. Tomorrow I'll look at reasons why the exception happens, even when the sort is discarding significant characters. Ticker On Sun, 2021-10-24 at 18:31 +0200, Carlos Dávila wrote: > The reason for using code-pages other than 65001 is that many Garmin > here: > https://openmtbmap.org/download/odbl/#Compatibility_-_Unicode_vs_Non_Unicode_cannot_authenticate_maps > > El 24/10/21 a las 18:14, Ticker Berkin escribió: > > Hi Carlos > > > > When mkgmap doesn't have a resources/sort for the given code page, > > it > > defaults the sort to cp1252 (Western European). > > > > As part of building the the various indexes, it sorts counties, > > regions, cities, streets etc using this sort, but any characters > > that > > don't have a defined sort order are ignored in the ordering. The > > result > > of this is that, using cp1252 on Chinese, all names seem the same. > > > > I suspect that indexes are mostly empty and find is ignoring them. > > > > There is some logic that is differentiating the names in these > > structures on exact naming, and this inconsistency causes the > > assertion > > crash. > > > > The actual output in the map image is cp836, which Basecamp and > > Mapsource appear to handle. I don't know how well it is supported > > by > > Garmin devices. > > > > Is there a reason for using cp836 rather than cp65001/unicode? > > > > Ticker > > > > On Sun, 2021-10-24 at 16:22 +0200, Carlos Dávila wrote: > > > using copy from JOSM/paste into BaseCamp, I could test address > > > searches > > > and they seem to work. > > > > > > El 23/10/21 a las 23:50, Ticker Berkin escribió: > > > > Hi Carlos > > > > > > > > mkgmap doesn't have a resources/sort for code-page 936 > > > > (Microsoft's > > > > character encoding for simplified Chinese). I was surprised it > > > > doesn't > > > > give any warning about this. I'll look more closely tomorrow to > > > > see > > > > what happens when it doesn't find the resource file. > > > > > > > > I presume this didn't crash before, but did the index work? > > > > > > > > I suspect this will have many of the same problems as unicode > > > > sort > > > > had > > > > for unspecified characters. > > > > > > > > I'll also investigate the other change relating to collation > > > > strength. > > > > > > > > Ticker > > > > > > > > On Sat, 2021-10-23 at 22:26 +0200, Carlos Dávila wrote: > > > > > Hi devs. > > > > > > > > > > With this new version I get a new crash, but now with --code- > > > > > page=936, > > > > > not with unicode: > > > > > > > > > > Exception in thread "main" java.lang.AssertionError: mdr20 > > > > > value > > > > > changed > > > > > f=5174 t=5180 count=2995 > > > > > at > > > > > uk.me.parabola.imgfmt.app.mdr.Mdr5Record.setMdr20(Mdr5Record. > > > > > java > > > > > :134 > > > > > ) > > > > > at > > > > > uk.me.parabola.imgfmt.app.mdr.Mdr20.buildFromStreets(Mdr20.ja > > > > > va:8 > > > > > 4) > > > > > at > > > > > uk.me.parabola.imgfmt.app.mdr.MDRFile.writeSections(MDRFile.j > > > > > ava: > > > > > 335) > > > > > at > > > > > uk.me.parabola.imgfmt.app.mdr.MDRFile.write(MDRFile.java:270) > > > > > at > > > > > uk.me.parabola.mkgmap.combiners.MdrBuilder.onFinish(MdrBuilde > > > > > r.ja > > > > > va:3 > > > > > 31) > > > > > at > > > > > uk.me.parabola.mkgmap.main.Main.endOptions(Main.java:690) > > > > > at > > > > > uk.me.parabola.mkgmap.CommandArgsReader.readArgs(CommandArgsR > > > > > eade > > > > > r.ja > > > > > va:126) > > > > > at > > > > > uk.me.parabola.mkgmap.main.Main.mainStart(Main.java:147) > > > > > at > > > > > uk.me.parabola.mkgmap.main.Main.main(Main.java:118) > > > > > > > > > > mkgmap command: java -ea -jar mkgmap-r4809.jar --index > > > > > --bounds=bounds.zip --housenumbers --code-page=936 > > > > > 31177013.o5m > > > > > > > > > > https://files.mkgmap.org.uk/download/524/31177013.o5m > > > > > > > > > > El 22/10/21 a las 9:42, svn commit escribió: > > > > > > Version mkgmap-r4809 was committed by gerd on Fri, 22 Oct > > > > > > 2021 > > > > > > > > > > > > fix java.lang.AssertionError while building index from > > > > > > unicode > > > > > > tiles > > > > > > mdrUnicode_v2.patch by Ticker Berkin > > > > > > > > > > > > http://www.mkgmap.org.uk/websvn/revision.php?repname=mkgmap&rev=4809 > > > > > > _______________________________________________ > > > > > > mkgmap-dev mailing list > > > > > > mkgmap-dev at lists.mkgmap.org.uk > > > > > > https://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev > > > > > _______________________________________________ > > > > > mkgmap-dev mailing list > > > > > mkgmap-dev at lists.mkgmap.org.uk > > > > > https://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev > > > > _______________________________________________ > > > > mkgmap-dev mailing list > > > > mkgmap-dev at lists.mkgmap.org.uk > > > > https://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev > > > _______________________________________________ > > > mkgmap-dev mailing list > > > mkgmap-dev at lists.mkgmap.org.uk > > > https://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev > > > > _______________________________________________ > > mkgmap-dev mailing list > > mkgmap-dev at lists.mkgmap.org.uk > > https://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev > > _______________________________________________ > mkgmap-dev mailing list > mkgmap-dev at lists.mkgmap.org.uk > https://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
- Previous message: [mkgmap-dev] Commit r4809: fix java.lang.AssertionError while building index from unicode tiles
- Next message: [mkgmap-dev] Commit r4809: fix java.lang.AssertionError while building index from unicode tiles
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the mkgmap-dev mailing list