Mkgmap/i18n

From OpenStreetMap Wiki
Jump to navigation Jump to search

Internationalization for Garmin GPS units

The early versions of mkgmap would just omit any non-ascii character. Starting with releases greater than 116 things are a lot better.

I am fairly sure that my Legend Cx can display characters from 8859-1 but not from say the Czech or Polish alphabets. It may well be the case that units purchased in different countries have different character sets however.

Please add information about your GPS to the following table so we can build up a picture of what is available.

Model Country Notes
etrex Legend Cx UK Displays uppercase only on the main map, has latin1 characters.

Latin1 characters can be entered in waypoint names. Lower case letters show in tool tips and in the top status line.

etrex Vista Cx UK Displays uppercase on map as well, has latin1 characters.

Latin1 characters can be used as waypoint names. Upper case letters show in tooltips for roads and in the top status line.

Oregon US Displays latin1 out of the box. Can display Chinese/Japanese characters with modification.

Cyrillic letters

Cyr-example.png

Its quite exciting that we now have some support for the first non-roman alphabet.

With no special options, the Russian Cyrillic letters will be transliterated into ascii characters, meaning no more names will show up rather than being blank or question marks.

For devices that display cyrillic characters (and only a few do, or when firmware mods are applied) you can use the --charset=windows-1251 option.

There is more to do, and help is needed, for example the non-Russian Cyrillic letters. The same technique could be used with any character set that is capable of being transliterated without extra information. Latin1 and Latin2 are already done that way. Please see the Talk:Mkgmap/i18n page for some history.

Japanese characters

Oregon-Japanese-sample.png

Some models (nüvi, Oregon, others?) can display Japanese characters with updated fonts.

You can use --code-page=932 (with r2048 or greater) to create maps using code page 932 (ms932, extended shift JIS).

One way to update the fonts on your GPS device is to download this Nüvi 200 update from Garmin (rename to .zip if you don't have Windows). Font files are in Garmin/ExtData on your unit. Make a backup of 006-D0952-05.bin and 06-D0952-06.bin, and replace them with 006-D1053-60.bin and 006-D1053-67.bin respectively (from the update).

Test map

Test-Langmap.png

You can investigate the 8 bit labels of the Garmin .img format, by downloading this test map. If you go to Lat,Long of 51.9,11.6 you should see some streets a bit like in the image to the right. The capital letters A, B, C etc are just markers for the characters in between. The hex number at the beginning of the 'road name' is the first character after the 'A'.

From the picture you can see that the character with code 0xCB is È on the Legend Cx.


mkgmap arguments

  • By default all accented characters are converted to the base letter, for example Körnerstraße would be shown as KORNERSTRASSE.
  • With the option --latin1 (or --charset=latin1) then it would display as KÖRNERSTRASSE on a unit that supported those characters.
Argument to mkgmap Example names Result on map
default (no args) Körnerstraße, Velkomezeříčská KORNERSTRASSE, VELKOMEZERICSKA
--latin1 Körnerstraße, Südring, Österängsgatan KÖRNERSTRASSE, SÜDRING, ÖSTERÄNGSGATAN