2006-11-16 22:05:33 +00:00
|
|
|
/* $Id$ */
|
|
|
|
|
2009-08-21 20:21:05 +00:00
|
|
|
/*
|
|
|
|
* This file is part of OpenTTD.
|
|
|
|
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
|
|
|
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
|
|
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
*/
|
|
|
|
|
2008-05-06 15:11:33 +00:00
|
|
|
/** @file unicode.h Character mapping for using Unicode characters in OTTD. */
|
2006-11-16 22:05:33 +00:00
|
|
|
|
2007-03-07 12:11:48 +00:00
|
|
|
struct DefaultUnicodeMapping {
|
2006-11-16 22:05:33 +00:00
|
|
|
WChar code; ///< Unicode value
|
|
|
|
byte key; ///< Character index of sprite
|
2007-03-07 12:11:48 +00:00
|
|
|
};
|
2006-11-16 22:05:33 +00:00
|
|
|
|
2010-05-13 09:44:44 +00:00
|
|
|
static const byte CLRA = 0; ///< Identifier to clear all glyphs at this codepoint
|
|
|
|
static const byte CLRL = 1; ///< Identifier to clear glyphs for large font at this codepoint
|
2006-11-16 22:05:33 +00:00
|
|
|
|
|
|
|
/* Default unicode mapping table for sprite based glyphs.
|
|
|
|
* This table allows us use unicode characters even though the glyphs don't
|
|
|
|
* exist, or are in the wrong place, in the standard sprite fonts.
|
|
|
|
* This is not used for FreeType rendering */
|
|
|
|
|
2009-09-20 23:11:01 +00:00
|
|
|
static const DefaultUnicodeMapping _default_unicode_map[] = {
|
2009-03-15 00:03:27 +00:00
|
|
|
{ 0x00A0, 0x20 }, // Non-breaking space / Up arrow
|
|
|
|
{ 0x00A4, CLRL }, // Currency sign
|
|
|
|
{ 0x00A6, CLRL }, // Broken bar
|
|
|
|
{ 0x00A7, CLRL }, // Section sign
|
|
|
|
{ 0x00A8, CLRL }, // Diaeresis
|
|
|
|
{ 0x00A9, CLRL }, // Copyright sign
|
|
|
|
{ 0x00AA, CLRA }, // Feminine ordinal indicator / Down arrow
|
|
|
|
{ 0x00AC, CLRA }, // Not sign / Tick mark
|
|
|
|
{ 0x00AD, 0x20 }, // Soft hyphen / X mark
|
|
|
|
{ 0x00AF, CLRA }, // Macron / Right arrow
|
|
|
|
{ 0x00B0, CLRL }, // Degree sign
|
|
|
|
{ 0x00B1, CLRL }, // Plus-Minus sign
|
|
|
|
{ 0x00B2, CLRL }, // Superscript 2
|
|
|
|
{ 0x00B3, CLRL }, // Superscript 3
|
|
|
|
{ 0x00B4, CLRA }, // Acute accent / Train symbol
|
|
|
|
{ 0x00B5, CLRA }, // Micro sign / Truck symbol
|
|
|
|
{ 0x00B6, CLRA }, // Pilcrow sign / Bus symbol
|
|
|
|
{ 0x00B7, CLRA }, // Middle dot / Aircraft symbol
|
|
|
|
{ 0x00B8, CLRA }, // Cedilla / Ship symbol
|
|
|
|
{ 0x00B9, CLRA }, // Superscript 1 / Superscript -1
|
|
|
|
{ 0x00BA, CLRL }, // Masculine ordinal indicator
|
|
|
|
{ 0x00BC, CLRA }, // One quarter / Small up arrow
|
|
|
|
{ 0x00BD, CLRA }, // One half / Small down arrow
|
|
|
|
{ 0x00BE, CLRL }, // Three quarters
|
|
|
|
{ 0x00D0, CLRL }, // Capital letter eth
|
|
|
|
{ 0x00D7, CLRL }, // Multiplication sign
|
|
|
|
{ 0x00D8, CLRL }, // Capital letter O with stroke
|
|
|
|
{ 0x00D9, CLRL }, // Capital letter U with grave
|
|
|
|
{ 0x00DE, CLRL }, // Capital letter thorn
|
|
|
|
{ 0x00E6, CLRL }, // Small letter ae
|
|
|
|
{ 0x00F0, CLRL }, // Small letter eth
|
|
|
|
{ 0x00F7, CLRL }, // Divison sign
|
|
|
|
{ 0x00F8, CLRL }, // Small letter o with stroke
|
|
|
|
{ 0x00FE, CLRL }, // Small letter thorn
|
|
|
|
{ 0x0178, 0x9F }, // Capital letter Y with diaeresis
|
|
|
|
{ 0x010D, 0x63 }, // Small letter c with caron
|
2006-11-16 22:05:33 +00:00
|
|
|
};
|