Hi Ticker,

a) probably clear with uppercase3.patch
b) won't work, I think the entries in Mdr15 can contain more or less anything
c) probably vice versa, Mdr15 should contain what is displayed to the user on 
the PC, other index entries always seem to be uppercase. 
d) Yes, that's a strange problem and one reason why Enrico contacted me. Some 
mixed-case strings are not displayed exactly as wanted.
e) I found no readable Garmin map with lower case strings for POI or road 
names, but different maps have different prefix lenghts between 1 and 9 in 
Mdr12. Steve might know more.
f) yes, should be optimised
g) I think MdrCheck should reflect our knowledge about index structures, but 
sometimes the logic in mkgmap and in MdrCheck doesn't match 100%. 
h) Yes, hard to say.
i) Yes, I think Garmin maps use uppercase strings for most of the index. Maybe 
Mdr15 contains mixed case. In a map for Benelux I see e.g. "'t Bèrs Kuiltje" in 
the list of POI. Unfortunately the Mdr15 section is written with a different 
format, MdrDisplay calls it compressedStrings. 

Gerd

________________________________________
Von: mkgmap-dev <mkgmap-dev-boun...@lists.mkgmap.org.uk> im Auftrag von Ticker 
Berkin <rwb-mkg...@jagit.co.uk>
Gesendet: Sonntag, 14. November 2021 17:34
An: Development list for mkgmap
Betreff: Re: [mkgmap-dev] Problem with global index POI search

Hi Gerd

I'd just finished writing the following when I see your next post about
Mdr12. I'll post it anyway.

Some thoughts:

a) I'm surprised that uppercase.patch makes a difference; it's not much
different from changing the collator strength. Unless: Is there another
POI "Scuola Dell Infanzia Fondazione Pietro Caprettini" with different
capitalisation? This patch will increase memory usage.

b) uppercase2.patch is a bit drastic; it might be better to start with
just:
        int strOff = createString(name.toUpperCase(Locale.ENGLISH));
This leaves the forDevice behaviour unchanged. Then this, where there
isn't the possibility of having an alternative cased name for the
index, can be examined on various devices.

c) Maybe all of Mdr15 (Country/Region/City/Street/Zip/POI) should be
uppercase.

d) When I was experimenting with --lower-case and differently cased
cities, I found MapSource &| BaseCamp changed the case of strange cased
names in the selection lists, but it didn't then not find them!
eg wherWell was shown as wherwell, Wherwell remained as Wherwell

e) Is there a Garmin map that can be examined where there are lower
case LBL entries; what is the case of the Mdr15 entries

f) Why does MDRFile bother with mdr15.createString() when forDevice?
This is just an space/efficiency issue.

g) MdrCheck will complain a lot about any case changes. It should
probably have an option to allow SECONDARY/TERTIARY/EXACT matching.

h) I haven't thought about the effect Mdr17 has on any this.

i) Understanding these issues will help towards deciding what to do
with --lower-case, indexing and case-variants. It could be that
uppercasing everything in MDR is better than working on the collator
strength, but the difference between EXACT and TERTIARY still needs to
be considered.

I realise this is more questions than answers, but we might getting
into dubious Garmin behaviour.

Ticker
_______________________________________________
mkgmap-dev mailing list
mkgmap-dev@lists.mkgmap.org.uk
https://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev

Reply via email to