
(2) Missing all streets beginning by "Calle" before "Calle Real ..."
I suspect (like Johann) that having so many streets beginning with the same letters is confusing. But surely it is confusing to humans too? How are Spanish street directories normally indexed, do you normally ignore the "Calle" and then sort on the rest? It seems like this is possible in the Garmin format, but not something we have done.
In the cpreview code it is handled by the 'multibody' feature. As far as I understand it, there are simply created some more entries in the mdr7 which point not to the beginning of the string but into the string. The offset of this pointer to the string start is saved in another byte. These entries are sorted among the others. If multibody is enabled, there is some additional handling by the so called xflag. This variable counts the occurences of equal strings. It stores the counter in one ore two (if > 256) extra bytes. I have not understood it fully. Maybe this feature is needed to store more than 2^15 strings with the same start and is the clue to the missing streets. Johann