logo separator

[mkgmap-dev] Character sets

From Marko Mäkelä marko.makela at iki.fi on Mon Apr 6 19:28:37 BST 2009

On Mon, Apr 06, 2009 at 02:28:07PM +0100, Toby Speight wrote:
> Clinton>
> Clinton>     I had to use a hex editor to insert these symbols.
> Clinton>
> Clinton> 2. A hack in Element.java, which removes a space if it is the
> Clinton>    second character of the highway name.
> 
> Perhaps the hack should be to remove spaces (or replace with
> no-break-space (U+0080) if that works) in 'ref' values when
> substituting?  And the non-hack to write a filter action to do so?  I
> could have a look at this if you like.

Sorry for nitpicking, but the U+0080 refers to Unicode, and U+0080 to U+009F
are control characters.  The no-break space is U+00A0.  I don't think that
Garmin uses Unicode, though.  It would be correct to say \x80 or 0x80 when
referring to the byte.  In UTF-8, anything above U+0080 would be encoded
as multiple bytes.  U+0080 would be two bytes, \xc2\x80.

The cook book <http://www.maptk.dnsalias.com/Docs/Kochbuch.pdf>
section 9.3 Zeichensatz (character set) mentions a few control codes:
~[0x1b2b] (my guess: \x1b\x2b) for forcing lower-case, ~[0x1b2c] for
label separation (abbreviation?), and some single-byte codes.  There's
no mention of character sets supported by Garmin.  Because a TYP file may
contain labels in multiple languages (section 9.4 Sprachen), including
Greek, Russian and Bulgarian, the Garmin character set(s) should include
Latin, Greek, and Cyrillic glyphs.

Has anyone tried to document the whole Garmin character set, including all
escape codes?  Or are there multiple character sets?  Is the character set
a per-map property, or is it per label?  (Per-label would be good in the
border areas of the Cyrillic, Greek and Latin Europe.)

	Marko



More information about the mkgmap-dev mailing list