Hi Ticker,

this is what I have so far. The non-printable characters 0x01..0x04 are 
probably not correct.
Note the special case with the last sequence. It only occurs once in the
index and may as well be an error in the data.
My code doesn't detect any unknown codes, so I think MDR16 must somehow contain 
this information.
The character ž seems to appear both in upper and lower case?!? Might be wrong.

                                addHuffNode("111", 'A');
                                addHuffNode("1101", 'R');
                                addHuffNode("1100", 'I');
                                addHuffNode("1011", 'O');
                                addHuffNode("1010", 'N');
                                addHuffNode("1001", 'E');
                                addHuffNode("1000", ' ');
                                addHuffNode("0111", '\0');
                                addHuffNode("01101", 'L');
                                addHuffNode("01100", 'K');
                                addHuffNode("01011", 'J');
                                addHuffNode("01010", 'V');
                                addHuffNode("01001", 'M');
                                addHuffNode("01000", 'T');
                                addHuffNode("00111", 'D');
                                addHuffNode("00110", 'S');
                                addHuffNode("00101", 'C');
                                addHuffNode("001001", 'B');
                                addHuffNode("001000", 'P');
                                addHuffNode("000111", 'U');
                                addHuffNode("000110", 'Z');
                                addHuffNode("000101", 'G');
                                addHuffNode("0001001", '.');
                                addHuffNode("0001000", '2');
                                addHuffNode("0000111", '1');
                                addHuffNode("0000110", 'H');
                                addHuffNode("00001011", '4');
                                addHuffNode("00001010", '0');
                                addHuffNode("00001001", '9');
                                addHuffNode("00001000", '8');
                                addHuffNode("00000111", '3');
                                addHuffNode("00000110", '7');
                                addHuffNode("00000101", '-');
                                addHuffNode("00000100", '6');
                                addHuffNode("00000011", '5');
                                addHuffNode("000000101", ')');
                                addHuffNode("000000100", '(');
                                addHuffNode("000000011",',');
                                addHuffNode("000000010", 'F');
                                addHuffNode("0000000011", '*');
                                addHuffNode("00000000101", (char) 0x04); // 
non-print4
                                addHuffNode("00000000100", '"');
                                addHuffNode("00000000011", 'Y');
                                addHuffNode("000000000101", (char) 0x01); 
//non-print some shield code
                                addHuffNode("000000000100", 'X');
                                addHuffNode("000000000011", 'W');
                                addHuffNode("0000000000101", (char) 0x02); 
//non-print2
                                addHuffNode("0000000000100", '&');
                                addHuffNode("00000000000111", '/');
                                addHuffNode("00000000000110", 'Ë');
                                addHuffNode("00000000000101", '\''); // '
                                addHuffNode("00000000000100", 'Š');
                                addHuffNode("00000000000011", 'Q');
                                addHuffNode("000000000000101", 'È');
                                addHuffNode("000000000000100", 'Æ');
                                addHuffNode("0000000000000111", 'Ž'); //Ž
                                addHuffNode("0000000000000110", '!');
                                addHuffNode("0000000000000101", (char) 0x03); 
// non-print3
                                addHuffNode("00000000000001001", 'Ü');
                                addHuffNode("00000000000001000", 'Á'); //Á
                                addHuffNode("00000000000000111", '–'); // 
different to minus
                                addHuffNode("00000000000000110",'+');
                                addHuffNode("000000000000001011", 'Ö');
                                addHuffNode("000000000000001010", 'Ð');
                                addHuffNode("000000000000001001", 'É');
                                addHuffNode("000000000000001000", '“');
                                addHuffNode("000000000000000111", '{');
                                addHuffNode("000000000000000110", '_');
                                addHuffNode("0000000000000001011", 'Û');
                                addHuffNode("0000000000000001010", 'Ú');
                                addHuffNode("0000000000000001001", 'Ø');
                                addHuffNode("0000000000000001000", 'Ä');
                                addHuffNode("0000000000000000111", '’');
                                addHuffNode("0000000000000000110", 'ž');
                                addHuffNode("0000000000000000101", '„');
                                addHuffNode("0000000000000000100", '`');
                                addHuffNode("000000000000000001", '¸'); // 
special comma
                                addHuffNode("0000000000000000001", ';');
                                addHuffNode("00000000000000000001", '%'); //
                                addHuffNode("00000000000000000000", '#'); // 
offset into MDR 30/31? MapSource displays HWY

Gerd

________________________________________
Von: mkgmap-dev <mkgmap-dev-boun...@lists.mkgmap.org.uk> im Auftrag von Gerd 
Petermann <gpetermann_muenc...@hotmail.com>
Gesendet: Dienstag, 14. Dezember 2021 19:42
An: Development list for mkgmap
Betreff: Re: [mkgmap-dev] [mkgmap-svn] Commit   r572:   MDR16   is      some    
kind    of      codebook.

Hi Ticker,

yes, the tree is still incomplete.
I use the existing tree and whenever it fails to decode a string I try find out 
the
missing character looking at the original map with the search.
I think you have no chance to do that without the full index file.

I need a pause now and maybe tomorrow I have the complete table.
Then I'll try to print it in some ways and will see if anything looks close to 
what I find in MDR16...

Gerd


________________________________________
Von: mkgmap-dev <mkgmap-dev-boun...@lists.mkgmap.org.uk> im Auftrag von Ticker 
Berkin <rwb-mkg...@jagit.co.uk>
Gesendet: Dienstag, 14. Dezember 2021 19:30
An: Development list for mkgmap
Betreff: Re: [mkgmap-dev] [mkgmap-svn] Commit r572:     MDR16   is      some    
kind    of      codebook.

Hi Gerd

Do you fill in all the empty leaves with noticeable characters and
report them so you can spot patterns that haven't been defined and
their usage.

There seem to be some chars missing still (qwxy23). I don't know if the
shields/thin/fat separators make it into Mdr15


Ticker

On Tue, 2021-12-14 at 17:32 +0000, Gerd Petermann wrote:
> Hi Ticker,
>
> yes, I'm close to done with the display tool being able to decode the
> string from Adria Topo.
> The 'F' is causing trouble, so probably something in my tree is still
> wrong or incomplete:
> Here's my actual code to dill the Huffman tree:
>                                 add("111", 'A');
>
>                                 add("0111", '\0');
>                                 add("1000", ' ');
>                                 add("1001", 'E');
>                                 add("1010", 'N');
>                                 add("1011", 'O');
>                                 add("1100", 'I');
>                                 add("1101", 'R');
>
>                                 add("01100", 'K');
>                                 add("00101", 'C');
>                                 add("00110", 'S');
>                                 add("00111", 'D');
>                                 add("01000", 'T');
>                                 add("01001", 'M');
>                                 add("01010", 'V');
>                                 add("01011", 'J');
>                                 add("01101", 'L');
>
>                                 add("000101", 'G');
>                                 add("000110", 'Z');
>                                 add("001000", 'P');
>                                 add("000111", 'U');
>                                 add("001001", 'B');
>
> //                              add("0000000", 'F');
>                                 add("0000110", 'H');
>                                 add("0000111", '1');
>                                 add("0001001", '.');
>
>                                 add("00000011", '5');
>                                 add("00000100", '6');
>                                 add("00000111", '7');
>                                 add("00001000", '8');
>                                 add("00001001", '9');
>                                 add("00001010", '0');
>                                 add("00001011", '4');
>                                 add("00000101", '-');
>                                 add("000000100", '(');
>                                 add("000000101", ')');
>
> Gerd


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

Reply via email to