I think there is a bug in label encoding in Format6Encoder. For some string length the last encoded byte is not stored.

E.g. having a string "10007" the encoded byte buffer looks like this

[0]     [0x86]  
[1]     [0x8]   
[2]     [0x20]  
[3]     [0x9f]  
[4]     [0xf0]  

The number of stored bytes is 4. So the 0xf0 will not show up in the final image file.
Index: Format6Encoder.java
===================================================================
--- Format6Encoder.java (Revision 1541)
+++ Format6Encoder.java (Arbeitskopie)
@@ -86,7 +86,7 @@
 
                buf = put6(buf, off++, 0xff);
 
-               int len = ((off - 1) * 6) / 8 + 1;
+               int len = (int)Math.ceil((off * 6) / 8.0);
 
                return new EncodedText(buf, len);
        }
_______________________________________________
mkgmap-dev mailing list
[email protected]
http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev

Reply via email to