Branch to transliterate characters that are not in the target code-page.


git-svn-id: http://svn.mkgmap.org.uk/mkgmap/branches/transliterate@2708 25d90789-57f7-4ee0-8453-03a3dfeeeb22
Original patch for transliterating characters that cannot be represented in the target code-page.

-Transliteration is moved to the encoder rather than before encoding.
-The AnyCharsetEncoder is modified to stop on an un-mappable character and transliterate it instead. 
-The special latin1 encoder is removed.
-Simplify the codeFunctions methods a little - more to do here.


git-svn-id: http://svn.mkgmap.org.uk/mkgmap/branches/transliterate@2709 25d90789-57f7-4ee0-8453-03a3dfeeeb22
Temporary fix for buffer overflow.

Will try to develop a better way later.

git-svn-id: http://svn.mkgmap.org.uk/mkgmap/branches/transliterate@2710 25d90789-57f7-4ee0-8453-03a3dfeeeb22
Correctly allocate new space as needed during label encoding.

git-svn-id: http://svn.mkgmap.org.uk/mkgmap/branches/transliterate@2711 25d90789-57f7-4ee0-8453-03a3dfeeeb22
Remove the NullTransliterator which is not needed any more.

git-svn-id: http://svn.mkgmap.org.uk/mkgmap/branches/transliterate@2712 25d90789-57f7-4ee0-8453-03a3dfeeeb22
Prevent duplicate labels being saved.

Previously the label cache was created using the transliterated string as the key.
After moving the transliteration step (if any) into the encoder, then any strings
that were different in unicode but the same after transliteration would be duplicated
in the LBL file.

Code was rearranged so that the encoded text was used as the key of the label cache.

git-svn-id: http://svn.mkgmap.org.uk/mkgmap/branches/transliterate@2713 25d90789-57f7-4ee0-8453-03a3dfeeeb22
Characters not in a code page are now transliterated to ascii.

Move the transliteration step as an error handler for characters
that do not exist in the target character set. This allows
us to transliterate to ascii rather than displaying a question mark.

This is a merge of branches/transliterate@2713


git-svn-id: http://svn.mkgmap.org.uk/mkgmap/trunk@2730 25d90789-57f7-4ee0-8453-03a3dfeeeb22
Fix that too much ways excluded from destination handling

When using the option --process-destination a way is only processed if it has no predecessor with the same destination tag. The check was wrong because it only checked if the ways were connected. Instead it must check if their start/end points are the same. 

git-svn-id: http://svn.mkgmap.org.uk/mkgmap/trunk@2731 25d90789-57f7-4ee0-8453-03a3dfeeeb22