peter1138@5108: /* $Id$ */ peter1138@5108: rubidium@9111: /** @file unicode.h Character mapping for using Unicode characters in OTTD. */ peter1138@5108: rubidium@6248: struct DefaultUnicodeMapping { peter1138@5108: WChar code; ///< Unicode value peter1138@5108: byte key; ///< Character index of sprite rubidium@6248: }; peter1138@5108: peter1138@8411: enum { peter1138@8411: CLRA = 0, ///< Identifier to clear all glyphs at this codepoint peter1138@8411: CLRL = 1, ///< Identifier to clear glyphs for large font at this codepoint peter1138@8411: }; peter1138@5108: peter1138@5108: /* Default unicode mapping table for sprite based glyphs. peter1138@5108: * This table allows us use unicode characters even though the glyphs don't peter1138@5108: * exist, or are in the wrong place, in the standard sprite fonts. peter1138@5108: * This is not used for FreeType rendering */ peter1138@5108: peter1138@5108: static DefaultUnicodeMapping _default_unicode_map[] = { peter1138@8411: { 0x00A0, 0x20 }, /* Non-breaking space / Up arrow */ peter1138@8411: { 0x00A4, CLRL }, /* Currency sign */ peter1138@8411: { 0x00A6, CLRL }, /* Broken bar */ peter1138@8411: { 0x00A7, CLRL }, /* Section sign */ peter1138@8411: { 0x00A8, CLRL }, /* Diaeresis */ peter1138@8411: { 0x00A9, CLRL }, /* Copyright sign */ peter1138@8411: { 0x00AA, CLRA }, /* Feminine ordinal indicator / Down arrow */ peter1138@8411: { 0x00AC, CLRA }, /* Not sign / Tick mark */ peter1138@8411: { 0x00AD, 0x20 }, /* Soft hyphen / X mark */ peter1138@8411: { 0x00AF, CLRA }, /* Macron / Right arrow */ peter1138@8411: { 0x00B0, CLRL }, /* Degree sign */ peter1138@8411: { 0x00B1, CLRL }, /* Plus-Minus sign */ peter1138@8411: { 0x00B2, CLRL }, /* Superscript 2 */ peter1138@8411: { 0x00B3, CLRL }, /* Superscript 3 */ peter1138@8411: { 0x00B4, CLRA }, /* Acute accent / Train symbol */ peter1138@8411: { 0x00B5, CLRA }, /* Micro sign / Truck symbol */ peter1138@8411: { 0x00B6, CLRA }, /* Pilcrow sign / Bus symbol */ peter1138@8411: { 0x00B7, CLRA }, /* Middle dot / Aircraft symbol */ peter1138@8411: { 0x00B8, CLRA }, /* Cedilla / Ship symbol */ peter1138@8411: { 0x00B9, CLRA }, /* Superscript 1 / Superscript -1 */ peter1138@8411: { 0x00BA, CLRL }, /* Masculine ordinal indicator */ peter1138@8411: { 0x00BC, CLRA }, /* One quarter / Small up arrow */ peter1138@8411: { 0x00BD, CLRA }, /* One half / Small down arrow */ peter1138@8411: { 0x00BE, CLRL }, /* Three quarters */ peter1138@8411: { 0x00D0, CLRL }, /* Capital letter eth */ peter1138@8411: { 0x00D7, CLRL }, /* Multiplication sign */ peter1138@8411: { 0x00D8, CLRL }, /* Capital letter O with stroke */ peter1138@8411: { 0x00D9, CLRL }, /* Capital letter U with grave */ peter1138@8411: { 0x00DE, CLRL }, /* Capital letter thorn */ peter1138@8411: { 0x00E6, CLRL }, /* Small letter ae */ peter1138@8411: { 0x00F0, CLRL }, /* Small letter eth */ peter1138@8411: { 0x00F7, CLRL }, /* Divison sign */ peter1138@8411: { 0x00F8, CLRL }, /* Small letter o with stroke */ peter1138@8411: { 0x00FE, CLRL }, /* Small letter thorn */ peter1138@8411: { 0x0178, 0x9F }, /* Capital letter Y with diaeresis */ peter1138@5108: { 0x010D, 0x63 }, /* Small letter c with caron */ peter1138@5108: };