API changes for v1.0.0
authorKevin Townsend <kevin@ktownsend.com>
Fri, 23 Mar 2012 03:55:16 +0000 (04:55 +0100)
committerKevin Townsend <kevin@ktownsend.com>
Fri, 23 Mar 2012 03:55:16 +0000 (04:55 +0100)
19 files changed:
drivers/displays/tft/aafonts.c [new file with mode: 0644]
drivers/displays/tft/aafonts.h [new file with mode: 0644]
drivers/displays/tft/aafonts/aa2/DejaVuSansCondensed14_AA2.c [new file with mode: 0644]
drivers/displays/tft/aafonts/aa2/DejaVuSansCondensed14_AA2.h [new file with mode: 0644]
drivers/displays/tft/aafonts/aa2/DejaVuSansCondensedBold14_AA2.c [new file with mode: 0644]
drivers/displays/tft/aafonts/aa2/DejaVuSansCondensedBold14_AA2.h [new file with mode: 0644]
drivers/displays/tft/aafonts/aa2/DejaVuSansMono10_AA2.c [new file with mode: 0644]
drivers/displays/tft/aafonts/aa2/DejaVuSansMono10_AA2.h [new file with mode: 0644]
drivers/displays/tft/aafonts/aa2/DejaVuSansMono13_AA2.c [new file with mode: 0644]
drivers/displays/tft/aafonts/aa2/DejaVuSansMono13_AA2.h [new file with mode: 0644]
drivers/displays/tft/aafonts/aa2/DejaVuSansMono14_AA2.c [new file with mode: 0644]
drivers/displays/tft/aafonts/aa2/DejaVuSansMono14_AA2.h [new file with mode: 0644]
drivers/displays/tft/colors.c [new file with mode: 0644]
drivers/displays/tft/fonts.c [new file with mode: 0644]
drivers/displays/tft/fonts.h [new file with mode: 0644]
drivers/displays/tft/fonts/bitmapfonts.h [deleted file]
tools/examples/lcd/tft/basic_ui/main.c
tools/examples/lcd/tft/drawing_basic/main.c
tools/examples/lcd/tft/oscilloscope/main.c

diff --git a/drivers/displays/tft/aafonts.c b/drivers/displays/tft/aafonts.c
new file mode 100644 (file)
index 0000000..163b677
--- /dev/null
@@ -0,0 +1,288 @@
+/**************************************************************************/
+/*! 
+    @file     aafonts.c
+    @author   K. Townsend (microBuilder.eu)
+
+    @section LICENSE
+
+    Software License Agreement (BSD License)
+
+    Copyright (c) 2012, microBuilder SARL
+    All rights reserved.
+
+    Redistribution and use in source and binary forms, with or without
+    modification, are permitted provided that the following conditions are met:
+    1. Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+    2. Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in the
+    documentation and/or other materials provided with the distribution.
+    3. Neither the name of the copyright holders nor the
+    names of its contributors may be used to endorse or promote products
+    derived from this software without specific prior written permission.
+
+    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
+    EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+    WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+    DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY
+    DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+    (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+    LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+    ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+    (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+    SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+/**************************************************************************/
+#include "aafonts.h"
+
+#include "drivers/displays/tft/lcd.h"
+#include "drivers/displays/tft/drawing.h"
+
+/**************************************************************************/
+/*                                                                        */
+/* ----------------------- Private Methods ------------------------------ */
+/*                                                                        */
+/**************************************************************************/
+
+/**************************************************************************/
+/*!
+    @brief Renders a single AA2 character on the screen
+
+    This text rendering method used a lookup table of pre-calculated
+    colors, and doesn't require any reads from the LCD (not all displays
+    support reading pixels back).  This offers the best performance and
+    high-quality text, but can only be used on solid backgrounds where
+    the bgcolor is known.
+
+    @param[in]  x
+                Top-left x position
+    @param[in]  y
+                Top-left y position
+    @param[in]  height
+                Font height in pixels
+    @param[in]  character
+                Pointer to the aafontsCharInfo_t array with the char data
+    @param[in]  colorTable
+                Pointer to the 4 element color lookup table
+*/
+/**************************************************************************/
+int aafontsDrawCharAA2( uint16_t x, uint16_t y, uint16_t height, aafontsCharInfo_t character, const uint16_t * colorTable)
+{
+  uint16_t w, h, xp, yp, pos;
+  uint8_t color;
+
+  for (h = 0; h < height; h++)
+  {
+    pos = 0;
+    for (w = 0; w < character.width; w++)
+    {
+      color = character.charData[h*character.bytesPerRow + w/4];
+      switch (pos)
+      {
+        case 0:
+          color = (color >> 6) & 0x03;
+          break;
+        case 1:
+          color = (color >> 4) & 0x03;
+          break;
+        case 2:
+          color = (color >> 2) & 0x03;
+          break;
+        case 3:
+          color = color & 0x03;
+          break;
+      }
+      if (color) lcdDrawPixel(x+w, y+h, colorTable[color & 0xF]);
+      pos++;
+      if (pos == 4) pos = 0;
+    }
+  }
+} 
+
+/**************************************************************************/
+/*!
+    @brief Renders a single AA4 character on the screen
+
+    This text rendering method used a lookup table of pre-calculated
+    colors, and doesn't require any reads from the LCD (not all displays
+    support reading pixels back).  This offers the best performance and
+    high-quality text, but can only be used on solid backgrounds where
+    the bgcolor is known.
+
+    @param[in]  x
+                Top-left x position
+    @param[in]  y
+                Top-left y position
+    @param[in]  height
+                Font height in pixels
+    @param[in]  character
+                Pointer to the aafontsCharInfo_t array with the char data
+    @param[in]  colorTable
+                Pointer to the 16 element color lookup table
+*/
+/**************************************************************************/
+int aafontsDrawCharAA4( uint16_t x, uint16_t y, uint16_t height, aafontsCharInfo_t character, const uint16_t * colorTable)
+{
+  uint16_t w, h, xp, yp;
+  uint8_t color;
+
+  for (h = 0; h < height; h++)
+  {
+    for (w = 0; w < character.width; w++)
+    {
+      color = character.charData[h*character.bytesPerRow + w/2];
+      if (!(w % 2)) color = (color >> 4);
+      if (color) lcdDrawPixel(x+w, y+h, colorTable[color & 0xF]);
+    }
+  }
+}
+
+/**************************************************************************/
+/*                                                                        */
+/* ----------------------- Public Methods ------------------------------- */
+/*                                                                        */
+/**************************************************************************/
+
+/**************************************************************************/
+/*!
+    @brief  Draws a string using the supplied anti-aliased font
+
+    @param[in]  x
+                Starting x co-ordinate
+    @param[in]  y
+                Starting y co-ordinate
+    @param[in]  colorTable
+                The color lookup table to use for the antialiased pixels
+    @param[in]  font
+                Pointer to the aafontsFont_t to use when drawing the string
+    @param[in]  str
+                The string to render
+
+    @section Example
+
+    @code 
+
+    #include "drivers/displays/tft/aafonts.h"
+    #include "drivers/displays/tft/aafonts/aa2/DejaVuSansCondensed14_AA2.h"
+    #include "drivers/displays/tft/aafonts/aa2/DejaVuSansCondensedBold14_AA2.h"
+
+    // Fill screen with white (so that we can use the pre-defined color tables in aafonts.h)
+    lcdFillRGB(COLOR_WHITE);
+
+    aafontsDrawString(10, 100, COLORTABLE_AA2_BLACKONWHITE, &DejaVuSansCondensed14_AA2, "1234567890");
+    aafontsDrawString(10, 120, COLORTABLE_AA2_BLACKONWHITE, &DejaVuSansCondensed14_AA2, "ABCDEFGHIJKLMNOPQRSTUVWXYZ");
+    aafontsDrawString(10, 140, COLORTABLE_AA2_BLACKONWHITE, &DejaVuSansCondensed14_AA2, "abcdefghijklmnopqrstuvwxyz");
+    aafontsDrawString(10, 160, COLORTABLE_AA2_BLACKONWHITE, &DejaVuSansCondensed14_AA2, "!\"#$%&'()*+,-./  :;<=>?");
+    aafontsDrawString(10, 180, COLORTABLE_AA2_BLACKONWHITE, &DejaVuSansCondensed14_AA2, "@  [\\]^_  {|}~");
+
+    aafontsDrawString(10, 215, COLORTABLE_AA2_BLACKONWHITE, &DejaVuSansCondensedBold14_AA2, "1234567890");
+    aafontsDrawString(10, 235, COLORTABLE_AA2_BLACKONWHITE, &DejaVuSansCondensedBold14_AA2, "ABCDEFGHIJKLMNOPQRSTUVWXYZ");
+    aafontsDrawString(10, 255, COLORTABLE_AA2_BLACKONWHITE, &DejaVuSansCondensedBold14_AA2, "abcdefghijklmnopqrstuvwxyz");
+    aafontsDrawString(10, 275, COLORTABLE_AA2_BLACKONWHITE, &DejaVuSansCondensedBold14_AA2, "!\"#$%&'()*+,-./  :;<=>?");
+    aafontsDrawString(10, 295, COLORTABLE_AA2_BLACKONWHITE, &DejaVuSansCondensedBold14_AA2, "@  [\\]^_  {|}~");
+
+    @endcode
+*/
+/**************************************************************************/
+void aafontsDrawString(uint16_t x, uint16_t y, const uint16_t * colorTable, const aafontsFont_t *font, char *str)
+{
+  uint16_t currentX, charWidth, characterToOutput;
+  const aafontsCharInfo_t *charInfo;
+  uint16_t charOffset;
+
+  // set current x, y to that of requested
+  currentX = x;
+
+  // while not NULL
+  while (*str != '\0')
+  {
+    // get character to output
+    characterToOutput = *str;
+    uint16_t last = font->lastChar;
+
+    // Check if the character is within the font boundaries
+    if ((characterToOutput > font->lastChar) || (characterToOutput < font->firstChar))
+    {
+      // Character is out of bounds
+      // Insert space instead
+      charWidth = font->unknownCharWidth;
+    }
+    else
+    {
+      // get char info
+      charInfo = &(font->charTable[characterToOutput - font->firstChar]);    
+      // get width from char info
+      charWidth = charInfo->width;
+      // Send individual characters
+      switch (font->fontType)
+      {
+        case AAFONTS_FONTTYPE_AA2:
+          aafontsDrawCharAA2(currentX, y, font->fontHeight, *charInfo, &colorTable[0]);
+          break;
+        case AAFONTS_FONTTYPE_AA4:
+          aafontsDrawCharAA4(currentX, y, font->fontHeight, *charInfo, &colorTable[0]);
+          break;
+      }
+    }
+    
+    // Adjust x for the next character
+    currentX += charWidth;
+    
+    // next char in string
+    str++;
+  }
+}
+
+/**************************************************************************/
+/*!
+    @brief  Returns the width in pixels of a string when it is rendered
+
+    This method can be used to determine whether a string will fit
+    inside a specific area, or if it needs to be broken up into multiple
+    lines to be properly rendered on the screen.
+
+    @param[in]  font
+                Pointer to aafontsFont_t of the font that will be used
+    @param[in]  str
+                The string that will be rendered
+
+    @section Example
+
+    @code 
+
+    #include "drivers/displays/tft/aafonts.h"
+    #include "drivers/displays/tft/aafonts/aa2/DejaVuSansCondensed14_AA2.h"
+
+    uint32_t w = aafontsGetStringWidth(&DejaVuSansCondensed14_AA2, "This is a simple test 123!!! (AA2)");
+
+    @endcode
+*/
+/**************************************************************************/
+uint16_t aafontsGetStringWidth(const aafontsFont_t *font, char *str)
+{
+  uint16_t width = 0;
+  const aafontsCharInfo_t *charInfo;
+  uint32_t currChar;
+  uint32_t startChar = font->firstChar;
+
+  // until termination
+  for (currChar = *str; currChar; currChar = *(++str))
+  {
+    // Check if the character is within the font boundaries
+    if ((currChar > font->lastChar) || (currChar < font->firstChar))
+    {
+      // Character is out of bounds
+      width += font->unknownCharWidth;
+    }
+    else
+    {
+      // get char info
+      charInfo = &(font->charTable[currChar - font->firstChar]);
+      // get width from char info
+      width += charInfo->width;
+    }
+  }
+
+  /* return the string width */
+  return width;
+}
diff --git a/drivers/displays/tft/aafonts.h b/drivers/displays/tft/aafonts.h
new file mode 100644 (file)
index 0000000..f76d35a
--- /dev/null
@@ -0,0 +1,79 @@
+/**************************************************************************/
+/*! 
+    @file     aafonts.h
+    @author   K. Townsend (microBuilder.eu)
+
+    @section LICENSE
+
+    Software License Agreement (BSD License)
+
+    Copyright (c) 2012, microBuilder SARL
+    All rights reserved.
+
+    Redistribution and use in source and binary forms, with or without
+    modification, are permitted provided that the following conditions are met:
+    1. Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+    2. Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in the
+    documentation and/or other materials provided with the distribution.
+    3. Neither the name of the copyright holders nor the
+    names of its contributors may be used to endorse or promote products
+    derived from this software without specific prior written permission.
+
+    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
+    EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+    WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+    DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY
+    DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+    (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+    LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+    ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+    (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+    SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+/**************************************************************************/
+#ifndef __AAFONTS_H__
+#define __AAFONTS_H__
+
+#include "projectconfig.h"
+
+typedef enum
+{
+  AAFONTS_FONTTYPE_AA2 = 2,             /* AA2 Fonts (4 shades of gray) */
+  AAFONTS_FONTTYPE_AA4 = 4              /* AA4 Fonts (16 shades of gray) */
+} aafontsFontType_t;
+
+typedef struct 
+{
+  uint8_t width;                        /* Character width in pixels */
+  uint8_t bytesPerRow;                  /* Data width in bytes */
+  const uint8_t *charData;              /* Pointer to the character data array */
+} aafontsCharInfo_t;
+
+typedef struct aafontsFont_s
+{
+  aafontsFontType_t fontType;           /* Anti-aliasing level for the font */
+  uint16_t fontHeight;                  /* Font height in pixels */
+  uint16_t unknownCharWidth;            /* Width for unknown characters */
+  uint16_t heightUpperCase;             /* Height in pixels of upper case characters */
+  uint16_t heightLowerCase;             /* Height in pixels of lower case characters */
+  uint16_t baseline;                    /* Font baseline */
+  uint16_t firstChar;                   /* Unicode address of the first character in the char map */
+  uint16_t lastChar;                    /* Unicode address of the last character in the char map */
+  const aafontsCharInfo_t *charTable;   /* Pointer to the aafontsCharInfo_t array containing the char data */
+} aafontsFont_t;
+
+// Common color lookup tables for AA2 (4-color anti-aliased) fonts
+const uint16_t COLORTABLE_AA2_WHITEONBLACK[4] = { 0x0000, 0x52AA, 0xAD55, 0xFFFF};
+const uint16_t COLORTABLE_AA2_BLACKONWHITE[4] = { 0xFFFF, 0xAD55, 0x52AA, 0x0000};
+
+// Common color lookup tables for AA4 (16-color anti-aliased) fonts
+const uint16_t COLORTABLE_AA4_WHITEONBLACK[16] = { 0x0000, 0x1082, 0x2104, 0x3186, 0x4208, 0x528A, 0x630C, 0x738E, 0x8410, 0x9492, 0xA514, 0xB596, 0xC618, 0xD69A, 0xE71C, 0xFFFF};
+const uint16_t COLORTABLE_AA4_BLACKONWHITE[16] = { 0xFFFF, 0xE71C, 0xD69A, 0xC618, 0xB596, 0xA514, 0x9492, 0x8410, 0x738E, 0x630C, 0x528A, 0x4208, 0x3186, 0x2104, 0x1082, 0x0000};
+
+uint16_t  aafontsBlendColor ( uint16_t bgColor, uint16_t foreColor, uint8_t intensity );
+void      aafontsDrawString( uint16_t x, uint16_t y, const uint16_t * colorTable, const aafontsFont_t *font, char *str );
+uint16_t  aafontsGetStringWidth( const aafontsFont_t *font, char *str );
+
+#endif
diff --git a/drivers/displays/tft/aafonts/aa2/DejaVuSansCondensed14_AA2.c b/drivers/displays/tft/aafonts/aa2/DejaVuSansCondensed14_AA2.c
new file mode 100644 (file)
index 0000000..1a1c0da
--- /dev/null
@@ -0,0 +1,1764 @@
+/**************************************************************************/
+/*! 
+    @file     DejaVuSansCondensed14_AA2.c
+    @author   K. Townsend (microBuilder.eu)
+
+    @section LICENSE
+
+    Software License Agreement (BSD License)
+
+    Copyright (c) 2012, microBuilder SARL
+    All rights reserved.
+
+    Redistribution and use in source and binary forms, with or without
+    modification, are permitted provided that the following conditions are met:
+    1. Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+    2. Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in the
+    documentation and/or other materials provided with the distribution.
+    3. Neither the name of the copyright holders nor the
+    names of its contributors may be used to endorse or promote products
+    derived from this software without specific prior written permission.
+
+    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
+    EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+    WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+    DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY
+    DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+    (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+    LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+    ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+    (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+    SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+/**************************************************************************/
+#include "DejaVuSansCondensed14_AA2.h"
+
+/* Start of unicode area <Basic Latin> */
+const uint8_t FontDejaVuSansCondensed14_AA2_0020[ 14] = { /* code 0020, SPACE */
+  0x00,
+  0x00,
+  0x00,
+  0x00,
+  0x00,
+  0x00,
+  0x00,
+  0x00,
+  0x00,
+  0x00,
+  0x00,
+  0x00,
+  0x00,
+  0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_0021[ 14] = { /* code 0021, EXCLAMATION MARK */
+  0x00,
+  0x00,
+  0x18,
+  0x18,
+  0x18,
+  0x18,
+  0x18,
+  0x18,
+  0x00,
+  0x00,
+  0x18,
+  0x00,
+  0x00,
+  0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_0022[ 28] = { /* code 0022, QUOTATION MARK */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x22, 0x00,
+  0x22, 0x00,
+  0x22, 0x00,
+  0x22, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_0023[ 42] = { /* code 0023, NUMBER SIGN */
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x88, 0x00,
+  0x01, 0x48, 0x00,
+  0x02, 0x48, 0x00,
+  0x1F, 0xFF, 0x00,
+  0x02, 0x20, 0x00,
+  0x06, 0x20, 0x00,
+  0x3F, 0xFE, 0x00,
+  0x08, 0x50, 0x00,
+  0x08, 0x50, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_0024[ 28] = { /* code 0024, DOLLAR SIGN */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x01, 0x00,
+  0x0F, 0xC0,
+  0x31, 0x00,
+  0x21, 0x00,
+  0x2E, 0x00,
+  0x02, 0xD0,
+  0x01, 0x20,
+  0x01, 0x20,
+  0x3F, 0xC0,
+  0x01, 0x00,
+  0x01, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_0025[ 42] = { /* code 0025, PERCENT SIGN */
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x2D, 0x02, 0x00,
+  0x62, 0x09, 0x00,
+  0x52, 0x08, 0x00,
+  0x62, 0x20, 0x00,
+  0x2D, 0x22, 0x40,
+  0x00, 0x89, 0x50,
+  0x01, 0x48, 0x20,
+  0x02, 0x08, 0x20,
+  0x09, 0x07, 0xC0,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_0026[ 28] = { /* code 0026, AMPERSAND */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x0B, 0xD0,
+  0x18, 0x00,
+  0x18, 0x00,
+  0x0D, 0x00,
+  0x2B, 0x06,
+  0x21, 0xC5,
+  0x60, 0x78,
+  0x30, 0x28,
+  0x1F, 0xDB,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_0027[ 14] = { /* code 0027, APOSTROPHE */
+  0x00,
+  0x00,
+  0x20,
+  0x20,
+  0x20,
+  0x20,
+  0x00,
+  0x00,
+  0x00,
+  0x00,
+  0x00,
+  0x00,
+  0x00,
+  0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_0028[ 14] = { /* code 0028, LEFT PARENTHESIS */
+  0x00,
+  0x00,
+  0x08,
+  0x18,
+  0x24,
+  0x20,
+  0x20,
+  0x20,
+  0x20,
+  0x20,
+  0x14,
+  0x08,
+  0x05,
+  0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_0029[ 14] = { /* code 0029, RIGHT PARENTHESIS */
+  0x00,
+  0x00,
+  0x20,
+  0x14,
+  0x08,
+  0x08,
+  0x08,
+  0x08,
+  0x08,
+  0x08,
+  0x18,
+  0x24,
+  0x20,
+  0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_002A[ 28] = { /* code 002A, ASTERISK */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x04, 0x00,
+  0x44, 0x80,
+  0x2F, 0x00,
+  0x2F, 0x40,
+  0x44, 0x40,
+  0x04, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_002B[ 42] = { /* code 002B, PLUS SIGN */
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x80, 0x00,
+  0x00, 0x80, 0x00,
+  0x00, 0x80, 0x00,
+  0x00, 0x80, 0x00,
+  0x2F, 0xFE, 0x00,
+  0x00, 0x80, 0x00,
+  0x00, 0x80, 0x00,
+  0x00, 0x80, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_002C[ 14] = { /* code 002C, COMMA */
+  0x00,
+  0x00,
+  0x00,
+  0x00,
+  0x00,
+  0x00,
+  0x00,
+  0x00,
+  0x00,
+  0x00,
+  0x24,
+  0x20,
+  0x00,
+  0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_002D[ 14] = { /* code 002D, HYPHEN-MINUS */
+  0x00,
+  0x00,
+  0x00,
+  0x00,
+  0x00,
+  0x00,
+  0x00,
+  0x7D,
+  0x00,
+  0x00,
+  0x00,
+  0x00,
+  0x00,
+  0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_002E[ 14] = { /* code 002E, FULL STOP */
+  0x00,
+  0x00,
+  0x00,
+  0x00,
+  0x00,
+  0x00,
+  0x00,
+  0x00,
+  0x00,
+  0x00,
+  0x24,
+  0x00,
+  0x00,
+  0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_002F[ 14] = { /* code 002F, SOLIDUS */
+  0x00,
+  0x00,
+  0x05,
+  0x09,
+  0x08,
+  0x08,
+  0x14,
+  0x20,
+  0x20,
+  0x60,
+  0x50,
+  0x80,
+  0x00,
+  0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_0030[ 28] = { /* code 0030, DIGIT ZERO */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x0B, 0x80,
+  0x24, 0x60,
+  0x20, 0x30,
+  0x20, 0x30,
+  0x60, 0x20,
+  0x60, 0x30,
+  0x30, 0x20,
+  0x24, 0x60,
+  0x0F, 0xC0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_0031[ 28] = { /* code 0031, DIGIT ONE */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x0F, 0x00,
+  0x27, 0x00,
+  0x03, 0x00,
+  0x03, 0x00,
+  0x03, 0x00,
+  0x03, 0x00,
+  0x03, 0x00,
+  0x03, 0x00,
+  0x2F, 0xE0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_0032[ 28] = { /* code 0032, DIGIT TWO */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x2F, 0x80,
+  0x10, 0x90,
+  0x00, 0x60,
+  0x00, 0x60,
+  0x00, 0xC0,
+  0x03, 0x40,
+  0x09, 0x00,
+  0x24, 0x00,
+  0x3F, 0xE0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_0033[ 28] = { /* code 0033, DIGIT THREE */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x3F, 0x80,
+  0x00, 0xA0,
+  0x00, 0x20,
+  0x00, 0x90,
+  0x0B, 0xC0,
+  0x00, 0x60,
+  0x00, 0x20,
+  0x00, 0x60,
+  0x3F, 0xC0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_0034[ 28] = { /* code 0034, DIGIT FOUR */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x01, 0xC0,
+  0x03, 0xC0,
+  0x05, 0xC0,
+  0x08, 0xC0,
+  0x20, 0xC0,
+  0x60, 0xC0,
+  0x7F, 0xF4,
+  0x00, 0xC0,
+  0x00, 0xC0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_0035[ 28] = { /* code 0035, DIGIT FIVE */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x2F, 0xD0,
+  0x20, 0x00,
+  0x20, 0x00,
+  0x2F, 0x40,
+  0x00, 0xD0,
+  0x00, 0x20,
+  0x00, 0x30,
+  0x00, 0x60,
+  0x3F, 0xC0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_0036[ 28] = { /* code 0036, DIGIT SIX */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x07, 0xE0,
+  0x18, 0x00,
+  0x30, 0x00,
+  0x27, 0x80,
+  0x38, 0x60,
+  0x30, 0x30,
+  0x30, 0x20,
+  0x24, 0x30,
+  0x0F, 0xD0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_0037[ 28] = { /* code 0037, DIGIT SEVEN */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x3F, 0xF0,
+  0x00, 0x60,
+  0x00, 0x90,
+  0x00, 0xC0,
+  0x01, 0x80,
+  0x02, 0x40,
+  0x03, 0x00,
+  0x06, 0x00,
+  0x09, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_0038[ 28] = { /* code 0038, DIGIT EIGHT */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x0F, 0xC0,
+  0x34, 0x60,
+  0x20, 0x30,
+  0x24, 0x60,
+  0x0F, 0xC0,
+  0x20, 0x30,
+  0x60, 0x30,
+  0x30, 0x30,
+  0x1F, 0xD0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_0039[ 28] = { /* code 0039, DIGIT NINE */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x0F, 0x80,
+  0x30, 0x90,
+  0x60, 0x20,
+  0x60, 0x30,
+  0x30, 0x70,
+  0x1F, 0xA0,
+  0x00, 0x20,
+  0x00, 0x90,
+  0x2F, 0x80,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_003A[ 14] = { /* code 003A, COLON */
+  0x00,
+  0x00,
+  0x00,
+  0x00,
+  0x00,
+  0x24,
+  0x00,
+  0x00,
+  0x00,
+  0x00,
+  0x24,
+  0x00,
+  0x00,
+  0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_003B[ 14] = { /* code 003B, SEMICOLON */
+  0x00,
+  0x00,
+  0x00,
+  0x00,
+  0x00,
+  0x24,
+  0x00,
+  0x00,
+  0x00,
+  0x00,
+  0x24,
+  0x20,
+  0x00,
+  0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_003C[ 42] = { /* code 003C, LESS-THAN SIGN */
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x06, 0x00,
+  0x00, 0xB8, 0x00,
+  0x0F, 0x40, 0x00,
+  0x2C, 0x00, 0x00,
+  0x03, 0xE0, 0x00,
+  0x00, 0x1E, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_003D[ 42] = { /* code 003D, EQUALS SIGN */
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x2F, 0xFE, 0x00,
+  0x00, 0x00, 0x00,
+  0x2F, 0xFE, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_003E[ 42] = { /* code 003E, GREATER-THAN SIGN */
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x24, 0x00, 0x00,
+  0x0B, 0x80, 0x00,
+  0x00, 0x7D, 0x00,
+  0x00, 0x0E, 0x00,
+  0x02, 0xF0, 0x00,
+  0x2D, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_003F[ 28] = { /* code 003F, QUESTION MARK */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x2F, 0x00,
+  0x01, 0x80,
+  0x00, 0xC0,
+  0x02, 0x40,
+  0x0A, 0x00,
+  0x08, 0x00,
+  0x08, 0x00,
+  0x00, 0x00,
+  0x0C, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_0040[ 42] = { /* code 0040, COMMERCIAL AT */
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x07, 0xFF, 0x40,
+  0x0C, 0x00, 0x80,
+  0x20, 0xB6, 0x20,
+  0x21, 0x4A, 0x20,
+  0x22, 0x02, 0x10,
+  0x22, 0x06, 0x20,
+  0x21, 0x8E, 0x90,
+  0x20, 0xA0, 0x00,
+  0x0C, 0x00, 0x00,
+  0x02, 0xBE, 0x00,
+  0x00, 0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_0041[ 28] = { /* code 0041, LATIN CAPITAL LETTER A */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x03, 0x40,
+  0x07, 0x80,
+  0x09, 0x80,
+  0x08, 0x90,
+  0x18, 0x60,
+  0x24, 0x30,
+  0x3F, 0xF4,
+  0x60, 0x18,
+  0x90, 0x0C,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_0042[ 28] = { /* code 0042, LATIN CAPITAL LETTER B */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x3F, 0xC0,
+  0x30, 0x30,
+  0x30, 0x24,
+  0x30, 0x30,
+  0x3F, 0xD0,
+  0x30, 0x24,
+  0x30, 0x18,
+  0x30, 0x24,
+  0x3F, 0xE0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_0043[ 28] = { /* code 0043, LATIN CAPITAL LETTER C */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x07, 0xF4,
+  0x1C, 0x08,
+  0x30, 0x00,
+  0x60, 0x00,
+  0x60, 0x00,
+  0x60, 0x00,
+  0x30, 0x00,
+  0x28, 0x04,
+  0x0B, 0xF8,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_0044[ 28] = { /* code 0044, LATIN CAPITAL LETTER D */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x3F, 0xC0,
+  0x30, 0x38,
+  0x30, 0x09,
+  0x30, 0x06,
+  0x30, 0x06,
+  0x30, 0x06,
+  0x30, 0x09,
+  0x30, 0x1C,
+  0x3F, 0xE0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_0045[ 28] = { /* code 0045, LATIN CAPITAL LETTER E */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x3F, 0xF0,
+  0x30, 0x00,
+  0x30, 0x00,
+  0x30, 0x00,
+  0x3F, 0xE0,
+  0x30, 0x00,
+  0x30, 0x00,
+  0x30, 0x00,
+  0x3F, 0xF0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_0046[ 28] = { /* code 0046, LATIN CAPITAL LETTER F */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x3F, 0xD0,
+  0x30, 0x00,
+  0x30, 0x00,
+  0x30, 0x00,
+  0x3F, 0xD0,
+  0x30, 0x00,
+  0x30, 0x00,
+  0x30, 0x00,
+  0x30, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_0047[ 28] = { /* code 0047, LATIN CAPITAL LETTER G */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x07, 0xF4,
+  0x1C, 0x09,
+  0x30, 0x00,
+  0x60, 0x00,
+  0x60, 0x7D,
+  0x60, 0x05,
+  0x30, 0x05,
+  0x28, 0x05,
+  0x0B, 0xFC,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_0048[ 28] = { /* code 0048, LATIN CAPITAL LETTER H */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x30, 0x08,
+  0x30, 0x08,
+  0x30, 0x08,
+  0x30, 0x08,
+  0x3F, 0xFC,
+  0x30, 0x08,
+  0x30, 0x08,
+  0x30, 0x08,
+  0x30, 0x08,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_0049[ 14] = { /* code 0049, LATIN CAPITAL LETTER I */
+  0x00,
+  0x00,
+  0x30,
+  0x30,
+  0x30,
+  0x30,
+  0x30,
+  0x30,
+  0x30,
+  0x30,
+  0x30,
+  0x00,
+  0x00,
+  0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_004A[ 14] = { /* code 004A, LATIN CAPITAL LETTER J */
+  0x00,
+  0x00,
+  0x30,
+  0x30,
+  0x30,
+  0x30,
+  0x30,
+  0x30,
+  0x30,
+  0x30,
+  0x30,
+  0x20,
+  0xE0,
+  0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_004B[ 28] = { /* code 004B, LATIN CAPITAL LETTER K */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x30, 0x18,
+  0x30, 0x60,
+  0x31, 0x80,
+  0x3B, 0x00,
+  0x3D, 0x00,
+  0x37, 0x00,
+  0x31, 0xC0,
+  0x30, 0x70,
+  0x30, 0x1C,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_004C[ 28] = { /* code 004C, LATIN CAPITAL LETTER L */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x30, 0x00,
+  0x30, 0x00,
+  0x30, 0x00,
+  0x30, 0x00,
+  0x30, 0x00,
+  0x30, 0x00,
+  0x30, 0x00,
+  0x30, 0x00,
+  0x3F, 0xF0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_004D[ 42] = { /* code 004D, LATIN CAPITAL LETTER M */
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x38, 0x07, 0x40,
+  0x3C, 0x0B, 0x40,
+  0x39, 0x0B, 0x40,
+  0x36, 0x16, 0x40,
+  0x32, 0x22, 0x40,
+  0x31, 0xA2, 0x40,
+  0x30, 0xD2, 0x40,
+  0x30, 0x02, 0x40,
+  0x30, 0x02, 0x40,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_004E[ 28] = { /* code 004E, LATIN CAPITAL LETTER N */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x38, 0x08,
+  0x3C, 0x08,
+  0x39, 0x08,
+  0x36, 0x08,
+  0x31, 0x48,
+  0x30, 0xC8,
+  0x30, 0xA8,
+  0x30, 0x3C,
+  0x30, 0x2C,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_004F[ 42] = { /* code 004F, LATIN CAPITAL LETTER O */
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x07, 0xF0, 0x00,
+  0x18, 0x1C, 0x00,
+  0x30, 0x09, 0x00,
+  0x60, 0x06, 0x00,
+  0x60, 0x02, 0x00,
+  0x60, 0x06, 0x00,
+  0x30, 0x06, 0x00,
+  0x28, 0x0C, 0x00,
+  0x0B, 0xF4, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_0050[ 28] = { /* code 0050, LATIN CAPITAL LETTER P */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x3F, 0x80,
+  0x30, 0x60,
+  0x30, 0x30,
+  0x30, 0x30,
+  0x30, 0x60,
+  0x3F, 0x80,
+  0x30, 0x00,
+  0x30, 0x00,
+  0x30, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_0051[ 42] = { /* code 0051, LATIN CAPITAL LETTER Q */
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x07, 0xF0, 0x00,
+  0x18, 0x1C, 0x00,
+  0x30, 0x09, 0x00,
+  0x60, 0x06, 0x00,
+  0x60, 0x02, 0x00,
+  0x60, 0x06, 0x00,
+  0x30, 0x06, 0x00,
+  0x28, 0x0C, 0x00,
+  0x0B, 0xF4, 0x00,
+  0x00, 0x34, 0x00,
+  0x00, 0x0C, 0x00,
+  0x00, 0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_0052[ 28] = { /* code 0052, LATIN CAPITAL LETTER R */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x3F, 0x80,
+  0x30, 0x60,
+  0x30, 0x30,
+  0x30, 0x30,
+  0x3F, 0xD0,
+  0x30, 0x90,
+  0x30, 0x20,
+  0x30, 0x24,
+  0x30, 0x0C,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_0053[ 28] = { /* code 0053, LATIN CAPITAL LETTER S */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x0F, 0xE0,
+  0x30, 0x10,
+  0x60, 0x00,
+  0x34, 0x00,
+  0x1F, 0xC0,
+  0x00, 0x70,
+  0x00, 0x20,
+  0x00, 0x30,
+  0x7F, 0xD0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_0054[ 28] = { /* code 0054, LATIN CAPITAL LETTER T */
+  0x00, 0x00,
+  0x00, 0x00,
+  0xFF, 0xF8,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_0055[ 28] = { /* code 0055, LATIN CAPITAL LETTER U */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x20, 0x0C,
+  0x20, 0x0C,
+  0x20, 0x0C,
+  0x20, 0x0C,
+  0x20, 0x0C,
+  0x20, 0x0C,
+  0x20, 0x0C,
+  0x24, 0x18,
+  0x0F, 0xF0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_0056[ 28] = { /* code 0056, LATIN CAPITAL LETTER V */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x90, 0x08,
+  0x60, 0x08,
+  0x30, 0x14,
+  0x24, 0x20,
+  0x18, 0x60,
+  0x0C, 0x90,
+  0x09, 0xC0,
+  0x07, 0x80,
+  0x03, 0x40,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_0057[ 42] = { /* code 0057, LATIN CAPITAL LETTER W */
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x90, 0x70, 0x24,
+  0x60, 0x70, 0x20,
+  0x30, 0x94, 0x60,
+  0x20, 0x88, 0x60,
+  0x24, 0x88, 0x90,
+  0x19, 0x49, 0xC0,
+  0x0A, 0x05, 0x80,
+  0x0E, 0x07, 0x80,
+  0x0A, 0x03, 0x40,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_0058[ 28] = { /* code 0058, LATIN CAPITAL LETTER X */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x30, 0x18,
+  0x14, 0x30,
+  0x0C, 0x90,
+  0x07, 0xC0,
+  0x03, 0x40,
+  0x06, 0xC0,
+  0x0C, 0x50,
+  0x24, 0x30,
+  0x60, 0x18,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_0059[ 28] = { /* code 0059, LATIN CAPITAL LETTER Y */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x90, 0x24,
+  0x60, 0x60,
+  0x24, 0x90,
+  0x0E, 0x80,
+  0x07, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_005A[ 28] = { /* code 005A, LATIN CAPITAL LETTER Z */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x7F, 0xF8,
+  0x00, 0x24,
+  0x00, 0x60,
+  0x00, 0xC0,
+  0x02, 0x40,
+  0x0A, 0x00,
+  0x18, 0x00,
+  0x30, 0x00,
+  0x7F, 0xFC,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_005B[ 14] = { /* code 005B, LEFT SQUARE BRACKET */
+  0x00,
+  0x00,
+  0x3C,
+  0x20,
+  0x20,
+  0x20,
+  0x20,
+  0x20,
+  0x20,
+  0x20,
+  0x20,
+  0x20,
+  0x3C,
+  0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_005C[ 14] = { /* code 005C, REVERSE SOLIDUS */
+  0x00,
+  0x00,
+  0x80,
+  0x80,
+  0x50,
+  0x20,
+  0x20,
+  0x14,
+  0x18,
+  0x08,
+  0x08,
+  0x05,
+  0x00,
+  0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_005D[ 14] = { /* code 005D, RIGHT SQUARE BRACKET */
+  0x00,
+  0x00,
+  0x3D,
+  0x09,
+  0x09,
+  0x09,
+  0x09,
+  0x09,
+  0x09,
+  0x09,
+  0x09,
+  0x09,
+  0x3D,
+  0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_005E[ 42] = { /* code 005E, CIRCUMFLEX ACCENT */
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0xD0, 0x00,
+  0x03, 0x70, 0x00,
+  0x0C, 0x0C, 0x00,
+  0x20, 0x02, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_005F[ 28] = { /* code 005F, LOW LINE */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0xFF, 0xC0
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_0060[ 28] = { /* code 0060, GRAVE ACCENT */
+  0x00, 0x00,
+  0x20, 0x00,
+  0x18, 0x00,
+  0x05, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_0061[ 28] = { /* code 0061, LATIN SMALL LETTER A */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x1F, 0x40,
+  0x10, 0x90,
+  0x00, 0x60,
+  0x2F, 0xE0,
+  0x60, 0x60,
+  0x60, 0xA0,
+  0x2F, 0xA0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_0062[ 28] = { /* code 0062, LATIN SMALL LETTER B */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x20, 0x00,
+  0x20, 0x00,
+  0x27, 0x80,
+  0x38, 0x60,
+  0x30, 0x20,
+  0x20, 0x24,
+  0x20, 0x20,
+  0x34, 0x30,
+  0x2B, 0xD0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_0063[ 28] = { /* code 0063, LATIN SMALL LETTER C */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x0B, 0x80,
+  0x24, 0x00,
+  0x60, 0x00,
+  0x60, 0x00,
+  0x60, 0x00,
+  0x20, 0x00,
+  0x1F, 0xD0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_0064[ 28] = { /* code 0064, LATIN SMALL LETTER D */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x20,
+  0x00, 0x20,
+  0x0F, 0x60,
+  0x24, 0xE0,
+  0x60, 0x20,
+  0x60, 0x20,
+  0x60, 0x20,
+  0x30, 0x60,
+  0x1F, 0xA0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_0065[ 28] = { /* code 0065, LATIN SMALL LETTER E */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x0B, 0x40,
+  0x24, 0x60,
+  0x60, 0x20,
+  0x7F, 0xF0,
+  0x60, 0x00,
+  0x20, 0x00,
+  0x1F, 0xE0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_0066[ 14] = { /* code 0066, LATIN SMALL LETTER F */
+  0x00,
+  0x00,
+  0x1F,
+  0x20,
+  0xBE,
+  0x20,
+  0x20,
+  0x20,
+  0x20,
+  0x20,
+  0x20,
+  0x00,
+  0x00,
+  0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_0067[ 28] = { /* code 0067, LATIN SMALL LETTER G */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x0F, 0x60,
+  0x34, 0xE0,
+  0x60, 0x20,
+  0x60, 0x20,
+  0x60, 0x20,
+  0x20, 0x60,
+  0x1F, 0xA0,
+  0x00, 0x60,
+  0x21, 0xD0,
+  0x0A, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_0068[ 28] = { /* code 0068, LATIN SMALL LETTER H */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x20, 0x00,
+  0x20, 0x00,
+  0x27, 0x80,
+  0x38, 0x60,
+  0x20, 0x20,
+  0x20, 0x20,
+  0x20, 0x20,
+  0x20, 0x20,
+  0x20, 0x20,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_0069[ 14] = { /* code 0069, LATIN SMALL LETTER I */
+  0x00,
+  0x00,
+  0x20,
+  0x00,
+  0x20,
+  0x20,
+  0x20,
+  0x20,
+  0x20,
+  0x20,
+  0x20,
+  0x00,
+  0x00,
+  0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_006A[ 14] = { /* code 006A, LATIN SMALL LETTER J */
+  0x00,
+  0x00,
+  0x20,
+  0x00,
+  0x20,
+  0x20,
+  0x20,
+  0x20,
+  0x20,
+  0x20,
+  0x20,
+  0x20,
+  0x60,
+  0x40
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_006B[ 28] = { /* code 006B, LATIN SMALL LETTER K */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x20, 0x00,
+  0x20, 0x00,
+  0x20, 0x30,
+  0x20, 0xC0,
+  0x27, 0x00,
+  0x3C, 0x00,
+  0x26, 0x00,
+  0x21, 0x80,
+  0x20, 0x70,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_006C[ 14] = { /* code 006C, LATIN SMALL LETTER L */
+  0x00,
+  0x00,
+  0x20,
+  0x20,
+  0x20,
+  0x20,
+  0x20,
+  0x20,
+  0x20,
+  0x20,
+  0x20,
+  0x00,
+  0x00,
+  0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_006D[ 42] = { /* code 006D, LATIN SMALL LETTER M */
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x27, 0x87, 0x40,
+  0x38, 0xB8, 0x90,
+  0x20, 0x20, 0x60,
+  0x20, 0x20, 0x60,
+  0x20, 0x20, 0x60,
+  0x20, 0x20, 0x60,
+  0x20, 0x20, 0x60,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_006E[ 28] = { /* code 006E, LATIN SMALL LETTER N */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x27, 0x80,
+  0x38, 0x60,
+  0x20, 0x20,
+  0x20, 0x20,
+  0x20, 0x20,
+  0x20, 0x20,
+  0x20, 0x20,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_006F[ 28] = { /* code 006F, LATIN SMALL LETTER O */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x0B, 0x40,
+  0x24, 0x90,
+  0x60, 0x20,
+  0x60, 0x20,
+  0x60, 0x20,
+  0x30, 0x60,
+  0x1F, 0xC0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_0070[ 28] = { /* code 0070, LATIN SMALL LETTER P */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x27, 0x80,
+  0x38, 0x60,
+  0x30, 0x20,
+  0x20, 0x24,
+  0x20, 0x20,
+  0x34, 0x30,
+  0x2B, 0xD0,
+  0x20, 0x00,
+  0x20, 0x00,
+  0x20, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_0071[ 28] = { /* code 0071, LATIN SMALL LETTER Q */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x0F, 0x60,
+  0x24, 0xE0,
+  0x60, 0x20,
+  0x60, 0x20,
+  0x60, 0x20,
+  0x30, 0x60,
+  0x1F, 0xA0,
+  0x00, 0x20,
+  0x00, 0x20,
+  0x00, 0x20
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_0072[ 14] = { /* code 0072, LATIN SMALL LETTER R */
+  0x00,
+  0x00,
+  0x00,
+  0x00,
+  0x27,
+  0x38,
+  0x20,
+  0x20,
+  0x20,
+  0x20,
+  0x20,
+  0x00,
+  0x00,
+  0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_0073[ 28] = { /* code 0073, LATIN SMALL LETTER S */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x1F, 0x40,
+  0x60, 0x00,
+  0x60, 0x00,
+  0x2F, 0x00,
+  0x01, 0xC0,
+  0x00, 0x80,
+  0x7F, 0x80,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_0074[ 14] = { /* code 0074, LATIN SMALL LETTER T */
+  0x00,
+  0x00,
+  0x00,
+  0x20,
+  0xBF,
+  0x20,
+  0x20,
+  0x20,
+  0x20,
+  0x20,
+  0x2F,
+  0x00,
+  0x00,
+  0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_0075[ 28] = { /* code 0075, LATIN SMALL LETTER U */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x20, 0x20,
+  0x20, 0x20,
+  0x20, 0x20,
+  0x20, 0x20,
+  0x20, 0x20,
+  0x20, 0x60,
+  0x1F, 0xA0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_0076[ 28] = { /* code 0076, LATIN SMALL LETTER V */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x90, 0x20,
+  0x60, 0x60,
+  0x20, 0x90,
+  0x24, 0x80,
+  0x19, 0x80,
+  0x0A, 0x40,
+  0x0B, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_0077[ 42] = { /* code 0077, LATIN SMALL LETTER W */
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x50, 0xC2, 0x40,
+  0x61, 0xC2, 0x00,
+  0x22, 0x52, 0x00,
+  0x22, 0x66, 0x00,
+  0x26, 0x29, 0x00,
+  0x1D, 0x2C, 0x00,
+  0x0D, 0x1C, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_0078[ 28] = { /* code 0078, LATIN SMALL LETTER X */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x60, 0x60,
+  0x24, 0xC0,
+  0x0E, 0x40,
+  0x06, 0x00,
+  0x0F, 0x40,
+  0x24, 0xC0,
+  0x60, 0x60,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_0079[ 28] = { /* code 0079, LATIN SMALL LETTER Y */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x90, 0x20,
+  0x60, 0x60,
+  0x20, 0x90,
+  0x14, 0x80,
+  0x09, 0x80,
+  0x0B, 0x00,
+  0x06, 0x00,
+  0x05, 0x00,
+  0x0C, 0x00,
+  0x20, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_007A[ 28] = { /* code 007A, LATIN SMALL LETTER Z */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x7F, 0xC0,
+  0x00, 0xC0,
+  0x02, 0x40,
+  0x0A, 0x00,
+  0x18, 0x00,
+  0x30, 0x00,
+  0x7F, 0xC0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_007B[ 28] = { /* code 007B, LEFT CURLY BRACKET */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x02, 0xD0,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x2C, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x02, 0xD0,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_007C[ 14] = { /* code 007C, VERTICAL LINE */
+  0x00,
+  0x00,
+  0x24,
+  0x24,
+  0x24,
+  0x24,
+  0x24,
+  0x24,
+  0x24,
+  0x24,
+  0x24,
+  0x24,
+  0x24,
+  0x24
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_007D[ 28] = { /* code 007D, RIGHT CURLY BRACKET */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x2D, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x01, 0xD0,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x2D, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensed14_AA2_007E[ 42] = { /* code 007E, TILDE */
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x0B, 0x07, 0x00,
+  0x24, 0xF8, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00
+};
+
+const aafontsCharInfo_t charTable_DejaVuSansCondensed14_AA2[95] = 
+{
+  {   3,   1, FontDejaVuSansCondensed14_AA2_0020 }, /* code 0020 */
+  {   4,   1, FontDejaVuSansCondensed14_AA2_0021 }, /* code 0021 */
+  {   5,   2, FontDejaVuSansCondensed14_AA2_0022 }, /* code 0022 */
+  {   9,   3, FontDejaVuSansCondensed14_AA2_0023 }, /* code 0023 */
+  {   7,   2, FontDejaVuSansCondensed14_AA2_0024 }, /* code 0024 */
+  {  10,   3, FontDejaVuSansCondensed14_AA2_0025 }, /* code 0025 */
+  {   8,   2, FontDejaVuSansCondensed14_AA2_0026 }, /* code 0026 */
+  {   3,   1, FontDejaVuSansCondensed14_AA2_0027 }, /* code 0027 */
+  {   4,   1, FontDejaVuSansCondensed14_AA2_0028 }, /* code 0028 */
+  {   4,   1, FontDejaVuSansCondensed14_AA2_0029 }, /* code 0029 */
+  {   5,   2, FontDejaVuSansCondensed14_AA2_002A }, /* code 002A */
+  {   9,   3, FontDejaVuSansCondensed14_AA2_002B }, /* code 002B */
+  {   3,   1, FontDejaVuSansCondensed14_AA2_002C }, /* code 002C */
+  {   4,   1, FontDejaVuSansCondensed14_AA2_002D }, /* code 002D */
+  {   3,   1, FontDejaVuSansCondensed14_AA2_002E }, /* code 002E */
+  {   4,   1, FontDejaVuSansCondensed14_AA2_002F }, /* code 002F */
+  {   7,   2, FontDejaVuSansCondensed14_AA2_0030 }, /* code 0030 */
+  {   7,   2, FontDejaVuSansCondensed14_AA2_0031 }, /* code 0031 */
+  {   7,   2, FontDejaVuSansCondensed14_AA2_0032 }, /* code 0032 */
+  {   7,   2, FontDejaVuSansCondensed14_AA2_0033 }, /* code 0033 */
+  {   7,   2, FontDejaVuSansCondensed14_AA2_0034 }, /* code 0034 */
+  {   7,   2, FontDejaVuSansCondensed14_AA2_0035 }, /* code 0035 */
+  {   7,   2, FontDejaVuSansCondensed14_AA2_0036 }, /* code 0036 */
+  {   7,   2, FontDejaVuSansCondensed14_AA2_0037 }, /* code 0037 */
+  {   7,   2, FontDejaVuSansCondensed14_AA2_0038 }, /* code 0038 */
+  {   7,   2, FontDejaVuSansCondensed14_AA2_0039 }, /* code 0039 */
+  {   4,   1, FontDejaVuSansCondensed14_AA2_003A }, /* code 003A */
+  {   4,   1, FontDejaVuSansCondensed14_AA2_003B }, /* code 003B */
+  {   9,   3, FontDejaVuSansCondensed14_AA2_003C }, /* code 003C */
+  {   9,   3, FontDejaVuSansCondensed14_AA2_003D }, /* code 003D */
+  {   9,   3, FontDejaVuSansCondensed14_AA2_003E }, /* code 003E */
+  {   6,   2, FontDejaVuSansCondensed14_AA2_003F }, /* code 003F */
+  {  11,   3, FontDejaVuSansCondensed14_AA2_0040 }, /* code 0040 */
+  {   7,   2, FontDejaVuSansCondensed14_AA2_0041 }, /* code 0041 */
+  {   7,   2, FontDejaVuSansCondensed14_AA2_0042 }, /* code 0042 */
+  {   8,   2, FontDejaVuSansCondensed14_AA2_0043 }, /* code 0043 */
+  {   8,   2, FontDejaVuSansCondensed14_AA2_0044 }, /* code 0044 */
+  {   7,   2, FontDejaVuSansCondensed14_AA2_0045 }, /* code 0045 */
+  {   6,   2, FontDejaVuSansCondensed14_AA2_0046 }, /* code 0046 */
+  {   8,   2, FontDejaVuSansCondensed14_AA2_0047 }, /* code 0047 */
+  {   8,   2, FontDejaVuSansCondensed14_AA2_0048 }, /* code 0048 */
+  {   3,   1, FontDejaVuSansCondensed14_AA2_0049 }, /* code 0049 */
+  {   3,   1, FontDejaVuSansCondensed14_AA2_004A }, /* code 004A */
+  {   7,   2, FontDejaVuSansCondensed14_AA2_004B }, /* code 004B */
+  {   6,   2, FontDejaVuSansCondensed14_AA2_004C }, /* code 004C */
+  {   9,   3, FontDejaVuSansCondensed14_AA2_004D }, /* code 004D */
+  {   8,   2, FontDejaVuSansCondensed14_AA2_004E }, /* code 004E */
+  {   9,   3, FontDejaVuSansCondensed14_AA2_004F }, /* code 004F */
+  {   7,   2, FontDejaVuSansCondensed14_AA2_0050 }, /* code 0050 */
+  {   9,   3, FontDejaVuSansCondensed14_AA2_0051 }, /* code 0051 */
+  {   8,   2, FontDejaVuSansCondensed14_AA2_0052 }, /* code 0052 */
+  {   7,   2, FontDejaVuSansCondensed14_AA2_0053 }, /* code 0053 */
+  {   7,   2, FontDejaVuSansCondensed14_AA2_0054 }, /* code 0054 */
+  {   8,   2, FontDejaVuSansCondensed14_AA2_0055 }, /* code 0055 */
+  {   7,   2, FontDejaVuSansCondensed14_AA2_0056 }, /* code 0056 */
+  {  11,   3, FontDejaVuSansCondensed14_AA2_0057 }, /* code 0057 */
+  {   7,   2, FontDejaVuSansCondensed14_AA2_0058 }, /* code 0058 */
+  {   7,   2, FontDejaVuSansCondensed14_AA2_0059 }, /* code 0059 */
+  {   7,   2, FontDejaVuSansCondensed14_AA2_005A }, /* code 005A */
+  {   4,   1, FontDejaVuSansCondensed14_AA2_005B }, /* code 005B */
+  {   4,   1, FontDejaVuSansCondensed14_AA2_005C }, /* code 005C */
+  {   4,   1, FontDejaVuSansCondensed14_AA2_005D }, /* code 005D */
+  {   9,   3, FontDejaVuSansCondensed14_AA2_005E }, /* code 005E */
+  {   5,   2, FontDejaVuSansCondensed14_AA2_005F }, /* code 005F */
+  {   5,   2, FontDejaVuSansCondensed14_AA2_0060 }, /* code 0060 */
+  {   7,   2, FontDejaVuSansCondensed14_AA2_0061 }, /* code 0061 */
+  {   7,   2, FontDejaVuSansCondensed14_AA2_0062 }, /* code 0062 */
+  {   6,   2, FontDejaVuSansCondensed14_AA2_0063 }, /* code 0063 */
+  {   7,   2, FontDejaVuSansCondensed14_AA2_0064 }, /* code 0064 */
+  {   7,   2, FontDejaVuSansCondensed14_AA2_0065 }, /* code 0065 */
+  {   4,   1, FontDejaVuSansCondensed14_AA2_0066 }, /* code 0066 */
+  {   7,   2, FontDejaVuSansCondensed14_AA2_0067 }, /* code 0067 */
+  {   7,   2, FontDejaVuSansCondensed14_AA2_0068 }, /* code 0068 */
+  {   3,   1, FontDejaVuSansCondensed14_AA2_0069 }, /* code 0069 */
+  {   3,   1, FontDejaVuSansCondensed14_AA2_006A }, /* code 006A */
+  {   6,   2, FontDejaVuSansCondensed14_AA2_006B }, /* code 006B */
+  {   3,   1, FontDejaVuSansCondensed14_AA2_006C }, /* code 006C */
+  {  11,   3, FontDejaVuSansCondensed14_AA2_006D }, /* code 006D */
+  {   7,   2, FontDejaVuSansCondensed14_AA2_006E }, /* code 006E */
+  {   7,   2, FontDejaVuSansCondensed14_AA2_006F }, /* code 006F */
+  {   7,   2, FontDejaVuSansCondensed14_AA2_0070 }, /* code 0070 */
+  {   7,   2, FontDejaVuSansCondensed14_AA2_0071 }, /* code 0071 */
+  {   4,   1, FontDejaVuSansCondensed14_AA2_0072 }, /* code 0072 */
+  {   6,   2, FontDejaVuSansCondensed14_AA2_0073 }, /* code 0073 */
+  {   4,   1, FontDejaVuSansCondensed14_AA2_0074 }, /* code 0074 */
+  {   7,   2, FontDejaVuSansCondensed14_AA2_0075 }, /* code 0075 */
+  {   6,   2, FontDejaVuSansCondensed14_AA2_0076 }, /* code 0076 */
+  {   9,   3, FontDejaVuSansCondensed14_AA2_0077 }, /* code 0077 */
+  {   6,   2, FontDejaVuSansCondensed14_AA2_0078 }, /* code 0078 */
+  {   6,   2, FontDejaVuSansCondensed14_AA2_0079 }, /* code 0079 */
+  {   6,   2, FontDejaVuSansCondensed14_AA2_007A }, /* code 007A */
+  {   7,   2, FontDejaVuSansCondensed14_AA2_007B }, /* code 007B */
+  {   4,   1, FontDejaVuSansCondensed14_AA2_007C }, /* code 007C */
+  {   7,   2, FontDejaVuSansCondensed14_AA2_007D }, /* code 007D */
+  {   9,   3, FontDejaVuSansCondensed14_AA2_007E }  /* code 007E */  
+};
+
+aafontsFont_t DejaVuSansCondensed14_AA2 = 
+{
+  AAFONTS_FONTTYPE_AA2,                         /* Font type (anti-aliasing level) */
+  14,                                           /* Font height in pixels */
+  3,                                            /* Width to insert for unknown characters */
+  9,                                            /* Height of upper-case characters */
+  7,                                            /* Height of lower-case characters */
+  11,                                           /* Font baseline */
+  0x0020,                                       /* Unicode address of first character */
+  0x007E,                                       /* Unicode address of last character */
+  &charTable_DejaVuSansCondensed14_AA2[0]          /* Font char data */
+};
diff --git a/drivers/displays/tft/aafonts/aa2/DejaVuSansCondensed14_AA2.h b/drivers/displays/tft/aafonts/aa2/DejaVuSansCondensed14_AA2.h
new file mode 100644 (file)
index 0000000..96ece73
--- /dev/null
@@ -0,0 +1,44 @@
+/**************************************************************************/
+/*! 
+    @file     DejaVuSansCondensed14_AA2.h
+    @author   K. Townsend (microBuilder.eu)
+
+    @section LICENSE
+
+    Software License Agreement (BSD License)
+
+    Copyright (c) 2012, microBuilder SARL
+    All rights reserved.
+
+    Redistribution and use in source and binary forms, with or without
+    modification, are permitted provided that the following conditions are met:
+    1. Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+    2. Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in the
+    documentation and/or other materials provided with the distribution.
+    3. Neither the name of the copyright holders nor the
+    names of its contributors may be used to endorse or promote products
+    derived from this software without specific prior written permission.
+
+    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
+    EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+    WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+    DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY
+    DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+    (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+    LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+    ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+    (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+    SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+/**************************************************************************/
+#ifndef __DEJAVUSANSCONDENSED14_AA2_H__
+#define __DEJAVUSANSCONDENSED14_AA2_H__
+
+#include "projectconfig.h"
+#include "drivers/displays/tft/aafonts.h"
+
+extern aafontsFont_t DejaVuSansCondensed14_AA2;
+
+#endif
diff --git a/drivers/displays/tft/aafonts/aa2/DejaVuSansCondensedBold14_AA2.c b/drivers/displays/tft/aafonts/aa2/DejaVuSansCondensedBold14_AA2.c
new file mode 100644 (file)
index 0000000..b184e68
--- /dev/null
@@ -0,0 +1,1764 @@
+/**************************************************************************/
+/*! 
+    @file     DejaVuSansCondensedBold14_AA2.c
+    @author   K. Townsend (microBuilder.eu)
+
+    @section LICENSE
+
+    Software License Agreement (BSD License)
+
+    Copyright (c) 2012, microBuilder SARL
+    All rights reserved.
+
+    Redistribution and use in source and binary forms, with or without
+    modification, are permitted provided that the following conditions are met:
+    1. Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+    2. Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in the
+    documentation and/or other materials provided with the distribution.
+    3. Neither the name of the copyright holders nor the
+    names of its contributors may be used to endorse or promote products
+    derived from this software without specific prior written permission.
+
+    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
+    EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+    WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+    DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY
+    DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+    (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+    LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+    ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+    (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+    SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+/**************************************************************************/
+#include "DejaVuSansCondensedBold14_AA2.h"
+
+/* Start of unicode area <Basic Latin> */
+const uint8_t FontDejaVuSansCondensedBold14_AA2_0020[ 14] = { /* code 0020, SPACE */
+  0x00,
+  0x00,
+  0x00,
+  0x00,
+  0x00,
+  0x00,
+  0x00,
+  0x00,
+  0x00,
+  0x00,
+  0x00,
+  0x00,
+  0x00,
+  0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_0021[ 28] = { /* code 0021, EXCLAMATION MARK */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x1D, 0x00,
+  0x1D, 0x00,
+  0x1D, 0x00,
+  0x1D, 0x00,
+  0x1D, 0x00,
+  0x1C, 0x00,
+  0x00, 0x00,
+  0x1D, 0x00,
+  0x1D, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_0022[ 28] = { /* code 0022, QUOTATION MARK */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x36, 0x80,
+  0x36, 0x80,
+  0x36, 0x80,
+  0x36, 0x80,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_0023[ 42] = { /* code 0023, NUMBER SIGN */
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x01, 0x89, 0x00,
+  0x02, 0x4C, 0x00,
+  0x02, 0x58, 0x00,
+  0x2F, 0xFF, 0x40,
+  0x06, 0x24, 0x00,
+  0x7F, 0xFF, 0x00,
+  0x5E, 0x65, 0x00,
+  0x0C, 0x60, 0x00,
+  0x0C, 0x90, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_0024[ 28] = { /* code 0024, DOLLAR SIGN */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x02, 0x00,
+  0x0F, 0xE0,
+  0x3A, 0xB4,
+  0x36, 0x00,
+  0x3F, 0xD0,
+  0x0A, 0xF4,
+  0x02, 0x78,
+  0x32, 0x78,
+  0x3F, 0xF0,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_0025[ 42] = { /* code 0025, PERCENT SIGN */
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x2E, 0x03, 0x40,
+  0x63, 0x46, 0x00,
+  0xA2, 0x4C, 0x00,
+  0x63, 0x58, 0x00,
+  0x2E, 0x31, 0xC0,
+  0x00, 0x97, 0x70,
+  0x00, 0xCA, 0x24,
+  0x02, 0x4A, 0x34,
+  0x06, 0x03, 0xF0,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_0026[ 42] = { /* code 0026, AMPERSAND */
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x07, 0xF4, 0x00,
+  0x0F, 0xF4, 0x00,
+  0x0E, 0x00, 0x00,
+  0x0B, 0x40, 0x00,
+  0x2F, 0xD3, 0x40,
+  0x74, 0xFB, 0x40,
+  0x74, 0x7E, 0x00,
+  0x3D, 0x7E, 0x00,
+  0x1F, 0xFB, 0x80,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_0027[ 14] = { /* code 0027, APOSTROPHE */
+  0x00,
+  0x00,
+  0x34,
+  0x34,
+  0x34,
+  0x34,
+  0x00,
+  0x00,
+  0x00,
+  0x00,
+  0x00,
+  0x00,
+  0x00,
+  0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_0028[ 28] = { /* code 0028, LEFT PARENTHESIS */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x0A, 0x00,
+  0x1D, 0x00,
+  0x2C, 0x00,
+  0x28, 0x00,
+  0x38, 0x00,
+  0x38, 0x00,
+  0x38, 0x00,
+  0x2C, 0x00,
+  0x1C, 0x00,
+  0x0E, 0x00,
+  0x07, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_0029[ 28] = { /* code 0029, RIGHT PARENTHESIS */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x38, 0x00,
+  0x1C, 0x00,
+  0x0D, 0x00,
+  0x0E, 0x00,
+  0x0B, 0x00,
+  0x0B, 0x00,
+  0x0B, 0x00,
+  0x0E, 0x00,
+  0x1D, 0x00,
+  0x2C, 0x00,
+  0x34, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_002A[ 28] = { /* code 002A, ASTERISK */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x09, 0x00,
+  0x99, 0x90,
+  0x2F, 0x40,
+  0x3F, 0x80,
+  0x49, 0x50,
+  0x09, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_002B[ 42] = { /* code 002B, PLUS SIGN */
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0xC0, 0x00,
+  0x00, 0xC0, 0x00,
+  0x00, 0xC0, 0x00,
+  0x00, 0xC0, 0x00,
+  0x2F, 0xFE, 0x00,
+  0x00, 0xC0, 0x00,
+  0x00, 0xC0, 0x00,
+  0x00, 0xC0, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_002C[ 14] = { /* code 002C, COMMA */
+  0x00,
+  0x00,
+  0x00,
+  0x00,
+  0x00,
+  0x00,
+  0x00,
+  0x00,
+  0x00,
+  0x2C,
+  0x2C,
+  0x34,
+  0x60,
+  0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_002D[ 14] = { /* code 002D, HYPHEN-MINUS */
+  0x00,
+  0x00,
+  0x00,
+  0x00,
+  0x00,
+  0x00,
+  0x00,
+  0x7E,
+  0x00,
+  0x00,
+  0x00,
+  0x00,
+  0x00,
+  0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_002E[ 14] = { /* code 002E, FULL STOP */
+  0x00,
+  0x00,
+  0x00,
+  0x00,
+  0x00,
+  0x00,
+  0x00,
+  0x00,
+  0x00,
+  0x2C,
+  0x2C,
+  0x00,
+  0x00,
+  0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_002F[ 14] = { /* code 002F, SOLIDUS */
+  0x00,
+  0x00,
+  0x06,
+  0x0A,
+  0x09,
+  0x0C,
+  0x18,
+  0x24,
+  0x30,
+  0x60,
+  0x60,
+  0x90,
+  0x00,
+  0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_0030[ 28] = { /* code 0030, DIGIT ZERO */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x0B, 0xD0,
+  0x2F, 0xF4,
+  0x38, 0x38,
+  0x78, 0x3C,
+  0x74, 0x3C,
+  0x74, 0x3C,
+  0x78, 0x38,
+  0x3C, 0xB4,
+  0x0F, 0xE0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_0031[ 28] = { /* code 0031, DIGIT ONE */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x0F, 0xC0,
+  0x2F, 0xC0,
+  0x03, 0xC0,
+  0x03, 0xC0,
+  0x03, 0xC0,
+  0x03, 0xC0,
+  0x03, 0xC0,
+  0x2F, 0xF8,
+  0x2F, 0xF8,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_0032[ 28] = { /* code 0032, DIGIT TWO */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x2F, 0xD0,
+  0x3F, 0xF4,
+  0x00, 0xB4,
+  0x00, 0xB4,
+  0x01, 0xE0,
+  0x07, 0xC0,
+  0x1F, 0x00,
+  0x3F, 0xF4,
+  0x3F, 0xF4,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_0033[ 28] = { /* code 0033, DIGIT THREE */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x3F, 0xD0,
+  0x2A, 0xB4,
+  0x00, 0x74,
+  0x00, 0xF0,
+  0x0F, 0xD0,
+  0x00, 0xB4,
+  0x00, 0x78,
+  0x7A, 0xF4,
+  0x2F, 0xE0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_0034[ 28] = { /* code 0034, DIGIT FOUR */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x01, 0xE0,
+  0x03, 0xE0,
+  0x0A, 0xE0,
+  0x1D, 0xE0,
+  0x34, 0xE0,
+  0x60, 0xE0,
+  0x7F, 0xFC,
+  0x00, 0xE0,
+  0x00, 0xE0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_0035[ 28] = { /* code 0035, DIGIT FIVE */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x2F, 0xF0,
+  0x2F, 0xF0,
+  0x28, 0x00,
+  0x2F, 0xD0,
+  0x2F, 0xF4,
+  0x00, 0x78,
+  0x00, 0x78,
+  0x3A, 0xF4,
+  0x3F, 0xE0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_0036[ 28] = { /* code 0036, DIGIT SIX */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x07, 0xF4,
+  0x1F, 0xA4,
+  0x3C, 0x00,
+  0x3B, 0xD0,
+  0x7F, 0xF4,
+  0x7C, 0x38,
+  0x38, 0x38,
+  0x2F, 0x78,
+  0x0F, 0xE0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_0037[ 28] = { /* code 0037, DIGIT SEVEN */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x7F, 0xF8,
+  0x7F, 0xF8,
+  0x00, 0xB4,
+  0x00, 0xE0,
+  0x01, 0xD0,
+  0x03, 0xC0,
+  0x07, 0x80,
+  0x0B, 0x00,
+  0x0E, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_0038[ 28] = { /* code 0038, DIGIT EIGHT */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x0F, 0xE0,
+  0x3F, 0xF4,
+  0x38, 0x78,
+  0x2C, 0xB4,
+  0x0F, 0xE0,
+  0x38, 0x78,
+  0x74, 0x38,
+  0x3C, 0x78,
+  0x1F, 0xF0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_0039[ 28] = { /* code 0039, DIGIT NINE */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x0F, 0xC0,
+  0x3F, 0xF0,
+  0x74, 0x74,
+  0x74, 0x78,
+  0x3D, 0xF8,
+  0x1F, 0xF8,
+  0x00, 0x74,
+  0x20, 0xF0,
+  0x3F, 0xD0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_003A[ 14] = { /* code 003A, COLON */
+  0x00,
+  0x00,
+  0x00,
+  0x00,
+  0x2C,
+  0x2C,
+  0x00,
+  0x00,
+  0x00,
+  0x2C,
+  0x2C,
+  0x00,
+  0x00,
+  0x00
+       };
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_003B[ 14] = { /* code 003B, SEMICOLON */
+  0x00,
+  0x00,
+  0x00,
+  0x00,
+  0x2C,
+  0x2C,
+  0x2C,
+  0x00,
+  0x00,
+  0x2C,
+  0x2C,
+  0x34,
+  0x70,
+  0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_003C[ 42] = { /* code 003C, LESS-THAN SIGN */
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x0A, 0x00,
+  0x01, 0xFD, 0x00,
+  0x2F, 0x80, 0x00,
+  0x2D, 0x00, 0x00,
+  0x07, 0xF0, 0x00,
+  0x00, 0x3E, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_003D[ 42] = { /* code 003D, EQUALS SIGN */
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x2F, 0xFE, 0x00,
+  0x00, 0x00, 0x00,
+  0x2F, 0xFE, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_003E[ 42] = { /* code 003E, GREATER-THAN SIGN */
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x28, 0x00, 0x00,
+  0x1F, 0xD0, 0x00,
+  0x00, 0xBE, 0x00,
+  0x00, 0x1E, 0x00,
+  0x03, 0xF4, 0x00,
+  0x2F, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_003F[ 28] = { /* code 003F, QUESTION MARK */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x3F, 0x80,
+  0x7F, 0xD0,
+  0x01, 0xD0,
+  0x02, 0xD0,
+  0x0B, 0x40,
+  0x0E, 0x00,
+  0x00, 0x00,
+  0x0E, 0x00,
+  0x0E, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_0040[ 42] = { /* code 0040, COMMERCIAL AT */
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x07, 0xFF, 0x40,
+  0x0C, 0x00, 0xC0,
+  0x24, 0xBA, 0x60,
+  0x21, 0x8E, 0x20,
+  0x62, 0x46, 0x20,
+  0x22, 0x4A, 0x20,
+  0x21, 0xFF, 0xD0,
+  0x24, 0x00, 0x00,
+  0x0E, 0x02, 0x00,
+  0x02, 0xFE, 0x00,
+  0x00, 0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_0041[ 28] = { /* code 0041, LATIN CAPITAL LETTER A */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x03, 0xD0,
+  0x07, 0xE0,
+  0x0B, 0xF0,
+  0x0E, 0x74,
+  0x1D, 0x38,
+  0x2C, 0x2C,
+  0x3F, 0xFD,
+  0x74, 0x0E,
+  0xB4, 0x0B,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_0042[ 28] = { /* code 0042, LATIN CAPITAL LETTER B */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x3F, 0xE0,
+  0x3F, 0xFC,
+  0x3C, 0x2C,
+  0x3C, 0x3C,
+  0x3F, 0xF4,
+  0x3C, 0x2D,
+  0x3C, 0x1D,
+  0x3F, 0xFD,
+  0x3F, 0xF4,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_0043[ 28] = { /* code 0043, LATIN CAPITAL LETTER C */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x03, 0xF8,
+  0x1F, 0xFC,
+  0x3D, 0x00,
+  0x78, 0x00,
+  0x78, 0x00,
+  0x78, 0x00,
+  0x3C, 0x00,
+  0x2F, 0x5C,
+  0x0B, 0xFC,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_0044[ 42] = { /* code 0044, LATIN CAPITAL LETTER D */
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x3F, 0xE0, 0x00,
+  0x3F, 0xFD, 0x00,
+  0x3C, 0x1F, 0x00,
+  0x3C, 0x0B, 0x40,
+  0x3C, 0x0B, 0x40,
+  0x3C, 0x0B, 0x40,
+  0x3C, 0x0F, 0x00,
+  0x3F, 0xFD, 0x00,
+  0x3F, 0xF4, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_0045[ 28] = { /* code 0045, LATIN CAPITAL LETTER E */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x3F, 0xF4,
+  0x3F, 0xF4,
+  0x3C, 0x00,
+  0x3C, 0x00,
+  0x3F, 0xF4,
+  0x3C, 0x00,
+  0x3C, 0x00,
+  0x3F, 0xF8,
+  0x3F, 0xF8,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_0046[ 28] = { /* code 0046, LATIN CAPITAL LETTER F */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x3F, 0xF4,
+  0x3F, 0xF4,
+  0x3C, 0x00,
+  0x3C, 0x00,
+  0x3F, 0xF4,
+  0x3C, 0x00,
+  0x3C, 0x00,
+  0x3C, 0x00,
+  0x3C, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_0047[ 42] = { /* code 0047, LATIN CAPITAL LETTER G */
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x03, 0xFC, 0x00,
+  0x1F, 0xFE, 0x00,
+  0x3D, 0x00, 0x00,
+  0x78, 0x00, 0x00,
+  0x78, 0x3F, 0x00,
+  0x78, 0x3F, 0x00,
+  0x3C, 0x0B, 0x00,
+  0x2F, 0x9F, 0x00,
+  0x0B, 0xFE, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_0048[ 42] = { /* code 0048, LATIN CAPITAL LETTER H */
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x3C, 0x0F, 0x00,
+  0x3C, 0x0F, 0x00,
+  0x3C, 0x0F, 0x00,
+  0x3C, 0x0F, 0x00,
+  0x3F, 0xFF, 0x00,
+  0x3C, 0x0F, 0x00,
+  0x3C, 0x0F, 0x00,
+  0x3C, 0x0F, 0x00,
+  0x3C, 0x0F, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_0049[ 14] = { /* code 0049, LATIN CAPITAL LETTER I */
+  0x00,
+  0x00,
+  0x3C,
+  0x3C,
+  0x3C,
+  0x3C,
+  0x3C,
+  0x3C,
+  0x3C,
+  0x3C,
+  0x3C,
+  0x00,
+  0x00,
+  0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_004A[ 14] = { /* code 004A, LATIN CAPITAL LETTER J */
+  0x00,
+  0x00,
+  0x3C,
+  0x3C,
+  0x3C,
+  0x3C,
+  0x3C,
+  0x3C,
+  0x3C,
+  0x3C,
+  0x3C,
+  0x78,
+  0xF4,
+  0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_004B[ 28] = { /* code 004B, LATIN CAPITAL LETTER K */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x3C, 0x1F,
+  0x3C, 0x3C,
+  0x3D, 0xF0,
+  0x3F, 0xD0,
+  0x3F, 0x80,
+  0x3F, 0xD0,
+  0x3D, 0xF4,
+  0x3C, 0x3D,
+  0x3C, 0x1F,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_004C[ 28] = { /* code 004C, LATIN CAPITAL LETTER L */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x3C, 0x00,
+  0x3C, 0x00,
+  0x3C, 0x00,
+  0x3C, 0x00,
+  0x3C, 0x00,
+  0x3C, 0x00,
+  0x3C, 0x00,
+  0x3F, 0xF8,
+  0x3F, 0xF8,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_004D[ 42] = { /* code 004D, LATIN CAPITAL LETTER M */
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x3E, 0x03, 0xE0,
+  0x3F, 0x07, 0xE0,
+  0x3F, 0x4B, 0xE0,
+  0x3E, 0x8E, 0xE0,
+  0x3D, 0xED, 0xE0,
+  0x3C, 0xF8, 0xE0,
+  0x3C, 0x74, 0xE0,
+  0x3C, 0x00, 0xE0,
+  0x3C, 0x00, 0xE0,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_004E[ 42] = { /* code 004E, LATIN CAPITAL LETTER N */
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x3D, 0x0B, 0x00,
+  0x3E, 0x0B, 0x00,
+  0x3F, 0x4B, 0x00,
+  0x3F, 0x8B, 0x00,
+  0x3D, 0xDB, 0x00,
+  0x3C, 0xBF, 0x00,
+  0x3C, 0x7F, 0x00,
+  0x3C, 0x3F, 0x00,
+  0x3C, 0x1F, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_004F[ 42] = { /* code 004F, LATIN CAPITAL LETTER O */
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x07, 0xF4, 0x00,
+  0x1F, 0xFE, 0x00,
+  0x3C, 0x0F, 0x40,
+  0x78, 0x07, 0x40,
+  0x78, 0x07, 0x80,
+  0x78, 0x07, 0x80,
+  0x3C, 0x0B, 0x40,
+  0x2F, 0x7E, 0x00,
+  0x0B, 0xFC, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_0050[ 28] = { /* code 0050, LATIN CAPITAL LETTER P */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x3F, 0xE0,
+  0x3F, 0xFC,
+  0x3C, 0x2D,
+  0x3C, 0x2D,
+  0x3F, 0xFC,
+  0x3F, 0xF4,
+  0x3C, 0x00,
+  0x3C, 0x00,
+  0x3C, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_0051[ 42] = { /* code 0051, LATIN CAPITAL LETTER Q */
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x07, 0xF4, 0x00,
+  0x1F, 0xFE, 0x00,
+  0x3C, 0x0F, 0x40,
+  0x78, 0x07, 0x40,
+  0x78, 0x07, 0x80,
+  0x78, 0x07, 0x80,
+  0x3C, 0x0B, 0x40,
+  0x2F, 0x7E, 0x00,
+  0x0B, 0xF8, 0x00,
+  0x00, 0x2C, 0x00,
+  0x00, 0x0E, 0x00,
+  0x00, 0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_0052[ 28] = { /* code 0052, LATIN CAPITAL LETTER R */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x3F, 0xE0,
+  0x3F, 0xF8,
+  0x3C, 0x3C,
+  0x3C, 0x3C,
+  0x3F, 0xF4,
+  0x3F, 0xF4,
+  0x3C, 0x3C,
+  0x3C, 0x2D,
+  0x3C, 0x1F,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_0053[ 28] = { /* code 0053, LATIN CAPITAL LETTER S */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x0F, 0xF4,
+  0x3F, 0xF4,
+  0x38, 0x00,
+  0x3D, 0x00,
+  0x2F, 0xF4,
+  0x01, 0xB8,
+  0x00, 0x3C,
+  0x3F, 0xF8,
+  0x3F, 0xE0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_0054[ 28] = { /* code 0054, LATIN CAPITAL LETTER T */
+  0x00, 0x00,
+  0x00, 0x00,
+  0xFF, 0xFC,
+  0xFF, 0xFC,
+  0x07, 0x80,
+  0x07, 0x80,
+  0x07, 0x80,
+  0x07, 0x80,
+  0x07, 0x80,
+  0x07, 0x80,
+  0x07, 0x80,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_0055[ 42] = { /* code 0055, LATIN CAPITAL LETTER U */
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x3C, 0x1E, 0x00,
+  0x3C, 0x1E, 0x00,
+  0x3C, 0x1E, 0x00,
+  0x3C, 0x1E, 0x00,
+  0x3C, 0x1E, 0x00,
+  0x3C, 0x1E, 0x00,
+  0x3C, 0x1E, 0x00,
+  0x2F, 0x7D, 0x00,
+  0x0F, 0xF8, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_0056[ 28] = { /* code 0056, LATIN CAPITAL LETTER V */
+  0x00, 0x00,
+  0x00, 0x00,
+  0xB0, 0x0B,
+  0x74, 0x0E,
+  0x38, 0x1D,
+  0x2C, 0x2C,
+  0x1D, 0x38,
+  0x0E, 0x74,
+  0x0B, 0xF0,
+  0x07, 0xE0,
+  0x03, 0xD0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_0057[ 42] = { /* code 0057, LATIN CAPITAL LETTER W */
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0xB4, 0x3C, 0x1D,
+  0x74, 0x7C, 0x2D,
+  0x38, 0x7D, 0x2C,
+  0x3C, 0xAA, 0x38,
+  0x2D, 0xDA, 0x78,
+  0x1D, 0xD7, 0xB4,
+  0x1F, 0xC3, 0xF4,
+  0x0F, 0x83, 0xF0,
+  0x0F, 0x82, 0xE0,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_0058[ 28] = { /* code 0058, LATIN CAPITAL LETTER X */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x78, 0x1E,
+  0x3C, 0x2C,
+  0x1E, 0x78,
+  0x0B, 0xF0,
+  0x03, 0xD0,
+  0x0B, 0xF0,
+  0x1E, 0x74,
+  0x2C, 0x3C,
+  0xB8, 0x1F,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_0059[ 28] = { /* code 0059, LATIN CAPITAL LETTER Y */
+  0x00, 0x00,
+  0x00, 0x00,
+  0xF4, 0x1E,
+  0x78, 0x3C,
+  0x2D, 0xB8,
+  0x0F, 0xF0,
+  0x0B, 0xD0,
+  0x03, 0xC0,
+  0x03, 0xC0,
+  0x03, 0xC0,
+  0x03, 0xC0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_005A[ 28] = { /* code 005A, LATIN CAPITAL LETTER Z */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x7F, 0xFC,
+  0x7F, 0xFC,
+  0x00, 0xB4,
+  0x01, 0xE0,
+  0x03, 0xC0,
+  0x0F, 0x40,
+  0x2E, 0x00,
+  0x7F, 0xFD,
+  0x7F, 0xFD,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_005B[ 28] = { /* code 005B, LEFT SQUARE BRACKET */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x3F, 0x00,
+  0x38, 0x00,
+  0x38, 0x00,
+  0x38, 0x00,
+  0x38, 0x00,
+  0x38, 0x00,
+  0x38, 0x00,
+  0x38, 0x00,
+  0x38, 0x00,
+  0x3F, 0x00,
+  0x3F, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_005C[ 14] = { /* code 005C, REVERSE SOLIDUS */
+  0x00,
+  0x00,
+  0xC0,
+  0x90,
+  0x60,
+  0x30,
+  0x24,
+  0x18,
+  0x0C,
+  0x0C,
+  0x09,
+  0x06,
+  0x00,
+  0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_005D[ 28] = { /* code 005D, RIGHT SQUARE BRACKET */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x7F, 0x00,
+  0x0B, 0x00,
+  0x0B, 0x00,
+  0x0B, 0x00,
+  0x0B, 0x00,
+  0x0B, 0x00,
+  0x0B, 0x00,
+  0x0B, 0x00,
+  0x0B, 0x00,
+  0x7F, 0x00,
+  0x7F, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_005E[ 42] = { /* code 005E, CIRCUMFLEX ACCENT */
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x01, 0xD0, 0x00,
+  0x03, 0xF0, 0x00,
+  0x0E, 0x1C, 0x00,
+  0x24, 0x07, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_005F[ 28] = { /* code 005F, LOW LINE */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0xFF, 0xC0
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_0060[ 28] = { /* code 0060, GRAVE ACCENT */
+  0x00, 0x00,
+  0x70, 0x00,
+  0x18, 0x00,
+  0x09, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_0061[ 28] = { /* code 0061, LATIN SMALL LETTER A */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x1F, 0xC0,
+  0x3A, 0xB0,
+  0x00, 0x74,
+  0x3F, 0xF4,
+  0x74, 0x74,
+  0x74, 0xF4,
+  0x3F, 0xB4,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_0062[ 28] = { /* code 0062, LATIN SMALL LETTER B */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x38, 0x00,
+  0x38, 0x00,
+  0x3B, 0xE0,
+  0x3F, 0xF8,
+  0x3C, 0x2C,
+  0x38, 0x2C,
+  0x38, 0x2C,
+  0x3D, 0x7C,
+  0x3F, 0xF4,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_0063[ 28] = { /* code 0063, LATIN SMALL LETTER C */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x07, 0xD0,
+  0x2F, 0xE0,
+  0x78, 0x00,
+  0x74, 0x00,
+  0x74, 0x00,
+  0x3D, 0x10,
+  0x1F, 0xE0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_0064[ 28] = { /* code 0064, LATIN SMALL LETTER D */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x38,
+  0x00, 0x38,
+  0x0F, 0x38,
+  0x3F, 0xF8,
+  0x78, 0x78,
+  0x74, 0x38,
+  0x74, 0x38,
+  0x3C, 0xB8,
+  0x1F, 0xB8,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_0065[ 28] = { /* code 0065, LATIN SMALL LETTER E */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x0B, 0xC0,
+  0x2E, 0xB0,
+  0x74, 0x38,
+  0x7F, 0xF8,
+  0x74, 0x00,
+  0x3C, 0x14,
+  0x1F, 0xF4,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_0066[ 28] = { /* code 0066, LATIN SMALL LETTER F */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x1F, 0x80,
+  0x2C, 0x00,
+  0xBF, 0x80,
+  0x6E, 0x40,
+  0x2C, 0x00,
+  0x2C, 0x00,
+  0x2C, 0x00,
+  0x2C, 0x00,
+  0x2C, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_0067[ 28] = { /* code 0067, LATIN SMALL LETTER G */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x0F, 0x38,
+  0x3F, 0xF8,
+  0x78, 0x78,
+  0x74, 0x38,
+  0x74, 0x38,
+  0x3F, 0xF8,
+  0x1F, 0x78,
+  0x00, 0x78,
+  0x2F, 0xF0,
+  0x05, 0x40
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_0068[ 28] = { /* code 0068, LATIN SMALL LETTER H */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x38, 0x00,
+  0x38, 0x00,
+  0x38, 0xE0,
+  0x3F, 0xF8,
+  0x3C, 0x38,
+  0x38, 0x38,
+  0x38, 0x38,
+  0x38, 0x38,
+  0x38, 0x38,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_0069[ 14] = { /* code 0069, LATIN SMALL LETTER I */
+  0x00,
+  0x00,
+  0x38,
+  0x00,
+  0x38,
+  0x38,
+  0x38,
+  0x38,
+  0x38,
+  0x38,
+  0x38,
+  0x00,
+  0x00,
+  0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_006A[ 14] = { /* code 006A, LATIN SMALL LETTER J */
+  0x00,
+  0x00,
+  0x38,
+  0x00,
+  0x38,
+  0x38,
+  0x38,
+  0x38,
+  0x38,
+  0x38,
+  0x38,
+  0x38,
+  0xF4,
+  0xD0
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_006B[ 28] = { /* code 006B, LATIN SMALL LETTER K */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x38, 0x00,
+  0x38, 0x00,
+  0x38, 0x3C,
+  0x38, 0xF0,
+  0x3F, 0xC0,
+  0x3F, 0x40,
+  0x3F, 0xC0,
+  0x38, 0xF0,
+  0x38, 0x7C,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_006C[ 14] = { /* code 006C, LATIN SMALL LETTER L */
+  0x00,
+  0x00,
+  0x38,
+  0x38,
+  0x38,
+  0x38,
+  0x38,
+  0x38,
+  0x38,
+  0x38,
+  0x38,
+  0x00,
+  0x00,
+  0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_006D[ 42] = { /* code 006D, LATIN SMALL LETTER M */
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x39, 0xD2, 0xD0,
+  0x3F, 0xFF, 0xF0,
+  0x3C, 0x78, 0x74,
+  0x38, 0x78, 0x74,
+  0x38, 0x78, 0x74,
+  0x38, 0x78, 0x74,
+  0x38, 0x78, 0x74,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_006E[ 28] = { /* code 006E, LATIN SMALL LETTER N */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x38, 0xE0,
+  0x3F, 0xF8,
+  0x3C, 0x38,
+  0x38, 0x38,
+  0x38, 0x38,
+  0x38, 0x38,
+  0x38, 0x38,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_006F[ 28] = { /* code 006F, LATIN SMALL LETTER O */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x0B, 0xC0,
+  0x3F, 0xF4,
+  0x78, 0x38,
+  0x74, 0x3C,
+  0x74, 0x38,
+  0x3C, 0xB8,
+  0x1F, 0xE0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_0070[ 28] = { /* code 0070, LATIN SMALL LETTER P */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x38, 0xE0,
+  0x3F, 0xF8,
+  0x3C, 0x2C,
+  0x38, 0x2C,
+  0x38, 0x2C,
+  0x3D, 0x7C,
+  0x3F, 0xF4,
+  0x38, 0x00,
+  0x38, 0x00,
+  0x38, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_0071[ 28] = { /* code 0071, LATIN SMALL LETTER Q */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x0F, 0x38,
+  0x3F, 0xF8,
+  0x78, 0x78,
+  0x74, 0x38,
+  0x74, 0x38,
+  0x3C, 0xB8,
+  0x1F, 0xB8,
+  0x00, 0x38,
+  0x00, 0x38,
+  0x00, 0x38
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_0072[ 28] = { /* code 0072, LATIN SMALL LETTER R */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x38, 0xC0,
+  0x3F, 0xC0,
+  0x3C, 0x00,
+  0x38, 0x00,
+  0x38, 0x00,
+  0x38, 0x00,
+  0x38, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_0073[ 28] = { /* code 0073, LATIN SMALL LETTER S */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x2F, 0xC0,
+  0x7A, 0x90,
+  0x74, 0x00,
+  0x3F, 0x90,
+  0x02, 0xE0,
+  0x74, 0xE0,
+  0x3F, 0xD0,
+  0x05, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_0074[ 28] = { /* code 0074, LATIN SMALL LETTER T */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x3C, 0x00,
+  0xBF, 0xC0,
+  0xBF, 0xC0,
+  0x3C, 0x00,
+  0x3C, 0x00,
+  0x3C, 0x00,
+  0x2F, 0x80,
+  0x1F, 0x80,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_0075[ 28] = { /* code 0075, LATIN SMALL LETTER U */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x38, 0x38,
+  0x38, 0x38,
+  0x38, 0x38,
+  0x38, 0x38,
+  0x38, 0x38,
+  0x3D, 0xB8,
+  0x1F, 0xB8,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_0076[ 28] = { /* code 0076, LATIN SMALL LETTER V */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0xB0, 0x38,
+  0x74, 0x74,
+  0x38, 0xB0,
+  0x2C, 0xE0,
+  0x1E, 0xD0,
+  0x0F, 0xC0,
+  0x0B, 0x80,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_0077[ 42] = { /* code 0077, LATIN SMALL LETTER W */
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0xB0, 0xA0, 0xE0,
+  0x74, 0xF1, 0xD0,
+  0x39, 0xF2, 0xC0,
+  0x29, 0xF6, 0x80,
+  0x2F, 0x5F, 0x80,
+  0x1F, 0x5F, 0x40,
+  0x0F, 0x0F, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_0078[ 28] = { /* code 0078, LATIN SMALL LETTER X */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0xB4, 0x78,
+  0x3C, 0xF0,
+  0x1F, 0xD0,
+  0x0B, 0x80,
+  0x0F, 0xC0,
+  0x2D, 0xE0,
+  0xB4, 0x78,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_0079[ 28] = { /* code 0079, LATIN SMALL LETTER Y */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0xB0, 0x38,
+  0x74, 0x74,
+  0x38, 0xB0,
+  0x2D, 0xE0,
+  0x1F, 0xD0,
+  0x0B, 0xC0,
+  0x07, 0x80,
+  0x07, 0x40,
+  0x3F, 0x00,
+  0x38, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_007A[ 28] = { /* code 007A, LATIN SMALL LETTER Z */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x7F, 0xE0,
+  0x6A, 0xE0,
+  0x02, 0xD0,
+  0x0B, 0x40,
+  0x2D, 0x00,
+  0x7A, 0xA0,
+  0x7F, 0xE0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_007B[ 28] = { /* code 007B, LEFT CURLY BRACKET */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x02, 0xF4,
+  0x03, 0xC0,
+  0x03, 0x80,
+  0x03, 0x80,
+  0x07, 0x80,
+  0x2F, 0x00,
+  0x07, 0x80,
+  0x03, 0x80,
+  0x03, 0x80,
+  0x03, 0xC0,
+  0x01, 0xF4,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_007C[ 14] = { /* code 007C, VERTICAL LINE */
+  0x00,
+  0x00,
+  0x24,
+  0x24,
+  0x24,
+  0x24,
+  0x24,
+  0x24,
+  0x24,
+  0x24,
+  0x24,
+  0x24,
+  0x24,
+  0x24
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_007D[ 28] = { /* code 007D, RIGHT CURLY BRACKET */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x2F, 0x40,
+  0x07, 0x80,
+  0x03, 0x80,
+  0x03, 0x80,
+  0x03, 0xC0,
+  0x01, 0xF4,
+  0x03, 0xC0,
+  0x03, 0x80,
+  0x03, 0x80,
+  0x07, 0x80,
+  0x2F, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansCondensedBold14_AA2_007E[ 42] = { /* code 007E, TILDE */
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x0F, 0x43, 0x00,
+  0x25, 0xFE, 0x00,
+  0x00, 0x14, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00
+};
+
+const aafontsCharInfo_t charTable_DejaVuSansCondensedBold14_AA2[95] = 
+{
+  {   4,   1, FontDejaVuSansCondensedBold14_AA2_0020 }, /* code 0020 */
+  {   5,   2, FontDejaVuSansCondensedBold14_AA2_0021 }, /* code 0021 */
+  {   6,   2, FontDejaVuSansCondensedBold14_AA2_0022 }, /* code 0022 */
+  {   9,   3, FontDejaVuSansCondensedBold14_AA2_0023 }, /* code 0023 */
+  {   8,   2, FontDejaVuSansCondensedBold14_AA2_0024 }, /* code 0024 */
+  {  11,   3, FontDejaVuSansCondensedBold14_AA2_0025 }, /* code 0025 */
+  {   9,   3, FontDejaVuSansCondensedBold14_AA2_0026 }, /* code 0026 */
+  {   3,   1, FontDejaVuSansCondensedBold14_AA2_0027 }, /* code 0027 */
+  {   5,   2, FontDejaVuSansCondensedBold14_AA2_0028 }, /* code 0028 */
+  {   5,   2, FontDejaVuSansCondensedBold14_AA2_0029 }, /* code 0029 */
+  {   6,   2, FontDejaVuSansCondensedBold14_AA2_002A }, /* code 002A */
+  {   9,   3, FontDejaVuSansCondensedBold14_AA2_002B }, /* code 002B */
+  {   4,   1, FontDejaVuSansCondensedBold14_AA2_002C }, /* code 002C */
+  {   4,   1, FontDejaVuSansCondensedBold14_AA2_002D }, /* code 002D */
+  {   4,   1, FontDejaVuSansCondensedBold14_AA2_002E }, /* code 002E */
+  {   4,   1, FontDejaVuSansCondensedBold14_AA2_002F }, /* code 002F */
+  {   8,   2, FontDejaVuSansCondensedBold14_AA2_0030 }, /* code 0030 */
+  {   8,   2, FontDejaVuSansCondensedBold14_AA2_0031 }, /* code 0031 */
+  {   8,   2, FontDejaVuSansCondensedBold14_AA2_0032 }, /* code 0032 */
+  {   8,   2, FontDejaVuSansCondensedBold14_AA2_0033 }, /* code 0033 */
+  {   8,   2, FontDejaVuSansCondensedBold14_AA2_0034 }, /* code 0034 */
+  {   8,   2, FontDejaVuSansCondensedBold14_AA2_0035 }, /* code 0035 */
+  {   8,   2, FontDejaVuSansCondensedBold14_AA2_0036 }, /* code 0036 */
+  {   8,   2, FontDejaVuSansCondensedBold14_AA2_0037 }, /* code 0037 */
+  {   8,   2, FontDejaVuSansCondensedBold14_AA2_0038 }, /* code 0038 */
+  {   8,   2, FontDejaVuSansCondensedBold14_AA2_0039 }, /* code 0039 */
+  {   4,   1, FontDejaVuSansCondensedBold14_AA2_003A }, /* code 003A */
+  {   4,   1, FontDejaVuSansCondensedBold14_AA2_003B }, /* code 003B */
+  {   9,   3, FontDejaVuSansCondensedBold14_AA2_003C }, /* code 003C */
+  {   9,   3, FontDejaVuSansCondensedBold14_AA2_003D }, /* code 003D */
+  {   9,   3, FontDejaVuSansCondensedBold14_AA2_003E }, /* code 003E */
+  {   6,   2, FontDejaVuSansCondensedBold14_AA2_003F }, /* code 003F */
+  {  11,   3, FontDejaVuSansCondensedBold14_AA2_0040 }, /* code 0040 */
+  {   8,   2, FontDejaVuSansCondensedBold14_AA2_0041 }, /* code 0041 */
+  {   8,   2, FontDejaVuSansCondensedBold14_AA2_0042 }, /* code 0042 */
+  {   8,   2, FontDejaVuSansCondensedBold14_AA2_0043 }, /* code 0043 */
+  {   9,   3, FontDejaVuSansCondensedBold14_AA2_0044 }, /* code 0044 */
+  {   7,   2, FontDejaVuSansCondensedBold14_AA2_0045 }, /* code 0045 */
+  {   7,   2, FontDejaVuSansCondensedBold14_AA2_0046 }, /* code 0046 */
+  {   9,   3, FontDejaVuSansCondensedBold14_AA2_0047 }, /* code 0047 */
+  {   9,   3, FontDejaVuSansCondensedBold14_AA2_0048 }, /* code 0048 */
+  {   4,   1, FontDejaVuSansCondensedBold14_AA2_0049 }, /* code 0049 */
+  {   4,   1, FontDejaVuSansCondensedBold14_AA2_004A }, /* code 004A */
+  {   8,   2, FontDejaVuSansCondensedBold14_AA2_004B }, /* code 004B */
+  {   7,   2, FontDejaVuSansCondensedBold14_AA2_004C }, /* code 004C */
+  {  11,   3, FontDejaVuSansCondensedBold14_AA2_004D }, /* code 004D */
+  {   9,   3, FontDejaVuSansCondensedBold14_AA2_004E }, /* code 004E */
+  {   9,   3, FontDejaVuSansCondensedBold14_AA2_004F }, /* code 004F */
+  {   8,   2, FontDejaVuSansCondensedBold14_AA2_0050 }, /* code 0050 */
+  {   9,   3, FontDejaVuSansCondensedBold14_AA2_0051 }, /* code 0051 */
+  {   8,   2, FontDejaVuSansCondensedBold14_AA2_0052 }, /* code 0052 */
+  {   8,   2, FontDejaVuSansCondensedBold14_AA2_0053 }, /* code 0053 */
+  {   7,   2, FontDejaVuSansCondensedBold14_AA2_0054 }, /* code 0054 */
+  {   9,   3, FontDejaVuSansCondensedBold14_AA2_0055 }, /* code 0055 */
+  {   8,   2, FontDejaVuSansCondensedBold14_AA2_0056 }, /* code 0056 */
+  {  12,   3, FontDejaVuSansCondensedBold14_AA2_0057 }, /* code 0057 */
+  {   8,   2, FontDejaVuSansCondensedBold14_AA2_0058 }, /* code 0058 */
+  {   8,   2, FontDejaVuSansCondensedBold14_AA2_0059 }, /* code 0059 */
+  {   8,   2, FontDejaVuSansCondensedBold14_AA2_005A }, /* code 005A */
+  {   5,   2, FontDejaVuSansCondensedBold14_AA2_005B }, /* code 005B */
+  {   4,   1, FontDejaVuSansCondensedBold14_AA2_005C }, /* code 005C */
+  {   5,   2, FontDejaVuSansCondensedBold14_AA2_005D }, /* code 005D */
+  {   9,   3, FontDejaVuSansCondensedBold14_AA2_005E }, /* code 005E */
+  {   5,   2, FontDejaVuSansCondensedBold14_AA2_005F }, /* code 005F */
+  {   5,   2, FontDejaVuSansCondensedBold14_AA2_0060 }, /* code 0060 */
+  {   7,   2, FontDejaVuSansCondensedBold14_AA2_0061 }, /* code 0061 */
+  {   8,   2, FontDejaVuSansCondensedBold14_AA2_0062 }, /* code 0062 */
+  {   6,   2, FontDejaVuSansCondensedBold14_AA2_0063 }, /* code 0063 */
+  {   8,   2, FontDejaVuSansCondensedBold14_AA2_0064 }, /* code 0064 */
+  {   7,   2, FontDejaVuSansCondensedBold14_AA2_0065 }, /* code 0065 */
+  {   5,   2, FontDejaVuSansCondensedBold14_AA2_0066 }, /* code 0066 */
+  {   8,   2, FontDejaVuSansCondensedBold14_AA2_0067 }, /* code 0067 */
+  {   8,   2, FontDejaVuSansCondensedBold14_AA2_0068 }, /* code 0068 */
+  {   4,   1, FontDejaVuSansCondensedBold14_AA2_0069 }, /* code 0069 */
+  {   4,   1, FontDejaVuSansCondensedBold14_AA2_006A }, /* code 006A */
+  {   7,   2, FontDejaVuSansCondensedBold14_AA2_006B }, /* code 006B */
+  {   4,   1, FontDejaVuSansCondensedBold14_AA2_006C }, /* code 006C */
+  {  11,   3, FontDejaVuSansCondensedBold14_AA2_006D }, /* code 006D */
+  {   8,   2, FontDejaVuSansCondensedBold14_AA2_006E }, /* code 006E */
+  {   7,   2, FontDejaVuSansCondensedBold14_AA2_006F }, /* code 006F */
+  {   8,   2, FontDejaVuSansCondensedBold14_AA2_0070 }, /* code 0070 */
+  {   8,   2, FontDejaVuSansCondensedBold14_AA2_0071 }, /* code 0071 */
+  {   5,   2, FontDejaVuSansCondensedBold14_AA2_0072 }, /* code 0072 */
+  {   6,   2, FontDejaVuSansCondensedBold14_AA2_0073 }, /* code 0073 */
+  {   5,   2, FontDejaVuSansCondensedBold14_AA2_0074 }, /* code 0074 */
+  {   8,   2, FontDejaVuSansCondensedBold14_AA2_0075 }, /* code 0075 */
+  {   7,   2, FontDejaVuSansCondensedBold14_AA2_0076 }, /* code 0076 */
+  {  10,   3, FontDejaVuSansCondensedBold14_AA2_0077 }, /* code 0077 */
+  {   7,   2, FontDejaVuSansCondensedBold14_AA2_0078 }, /* code 0078 */
+  {   7,   2, FontDejaVuSansCondensedBold14_AA2_0079 }, /* code 0079 */
+  {   6,   2, FontDejaVuSansCondensedBold14_AA2_007A }, /* code 007A */
+  {   8,   2, FontDejaVuSansCondensedBold14_AA2_007B }, /* code 007B */
+  {   4,   1, FontDejaVuSansCondensedBold14_AA2_007C }, /* code 007C */
+  {   8,   2, FontDejaVuSansCondensedBold14_AA2_007D }, /* code 007D */
+  {   9,   3, FontDejaVuSansCondensedBold14_AA2_007E }  /* code 007E */
+};
+
+aafontsFont_t DejaVuSansCondensedBold14_AA2 = 
+{
+  AAFONTS_FONTTYPE_AA2,                         /* Font type (anti-aliasing level) */
+  14,                                           /* Font height in pixels */
+  3,                                            /* Width to insert for unknown characters */
+  9,                                            /* Height of upper-case characters */
+  7,                                            /* Height of lower-case characters */
+  11,                                           /* Font baseline */
+  0x0020,                                       /* Unicode address of first character */
+  0x007E,                                       /* Unicode address of last character */
+  &charTable_DejaVuSansCondensedBold14_AA2[0]              /* Font char data */
+};
diff --git a/drivers/displays/tft/aafonts/aa2/DejaVuSansCondensedBold14_AA2.h b/drivers/displays/tft/aafonts/aa2/DejaVuSansCondensedBold14_AA2.h
new file mode 100644 (file)
index 0000000..2c217d4
--- /dev/null
@@ -0,0 +1,44 @@
+/**************************************************************************/
+/*! 
+    @file     DejaVuSansCondensedBold14_AA2.h
+    @author   K. Townsend (microBuilder.eu)
+
+    @section LICENSE
+
+    Software License Agreement (BSD License)
+
+    Copyright (c) 2012, microBuilder SARL
+    All rights reserved.
+
+    Redistribution and use in source and binary forms, with or without
+    modification, are permitted provided that the following conditions are met:
+    1. Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+    2. Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in the
+    documentation and/or other materials provided with the distribution.
+    3. Neither the name of the copyright holders nor the
+    names of its contributors may be used to endorse or promote products
+    derived from this software without specific prior written permission.
+
+    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
+    EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+    WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+    DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY
+    DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+    (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+    LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+    ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+    (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+    SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+/**************************************************************************/
+#ifndef __DEJAVUSANSCONDENSEDBOLD14_AA2_H__
+#define __DEJAVUSANSCONDENSEDBOLD14_AA2_H__
+
+#include "projectconfig.h"
+#include "drivers/displays/tft/aafonts.h"
+
+extern aafontsFont_t DejaVuSansCondensedBold14_AA2;
+
+#endif
diff --git a/drivers/displays/tft/aafonts/aa2/DejaVuSansMono10_AA2.c b/drivers/displays/tft/aafonts/aa2/DejaVuSansMono10_AA2.c
new file mode 100644 (file)
index 0000000..d1e4d22
--- /dev/null
@@ -0,0 +1,1384 @@
+/**************************************************************************/
+/*! 
+    @file     DejaVuSansMono10_AA2.c
+    @author   K. Townsend (microBuilder.eu)
+
+    @section LICENSE
+
+    Software License Agreement (BSD License)
+
+    Copyright (c) 2012, microBuilder SARL
+    All rights reserved.
+
+    Redistribution and use in source and binary forms, with or without
+    modification, are permitted provided that the following conditions are met:
+    1. Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+    2. Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in the
+    documentation and/or other materials provided with the distribution.
+    3. Neither the name of the copyright holders nor the
+    names of its contributors may be used to endorse or promote products
+    derived from this software without specific prior written permission.
+
+    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
+    EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+    WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+    DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY
+    DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+    (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+    LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+    ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+    (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+    SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+/**************************************************************************/
+#include "DejaVuSansMono10_AA2.h"
+
+/* Start of unicode area <Basic Latin> */
+const uint8_t FontDejaVuSansMono10_AA2_0020[ 20] = { /* code 0020, SPACE */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_0021[ 20] = { /* code 0021, EXCLAMATION MARK */
+  0x00, 0x00,
+  0x08, 0x00,
+  0x08, 0x00,
+  0x08, 0x00,
+  0x08, 0x00,
+  0x04, 0x00,
+  0x00, 0x00,
+  0x08, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_0022[ 20] = { /* code 0022, QUOTATION MARK */
+  0x00, 0x00,
+  0x22, 0x00,
+  0x22, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_0023[ 20] = { /* code 0023, NUMBER SIGN */
+  0x00, 0x00,
+  0x04, 0x40,
+  0x05, 0x40,
+  0x7F, 0xC0,
+  0x11, 0x00,
+  0xFF, 0x80,
+  0x11, 0x00,
+  0x15, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_0024[ 20] = { /* code 0024, DOLLAR SIGN */
+  0x00, 0x00,
+  0x08, 0x00,
+  0x2F, 0x80,
+  0x20, 0x00,
+  0x38, 0x00,
+  0x0B, 0x80,
+  0x01, 0x80,
+  0x3F, 0x40,
+  0x08, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_0025[ 20] = { /* code 0025, PERCENT SIGN */
+  0x00, 0x00,
+  0x78, 0x00,
+  0x88, 0x00,
+  0x78, 0xC0,
+  0x0A, 0x00,
+  0x77, 0xC0,
+  0x05, 0x40,
+  0x03, 0xC0,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_0026[ 20] = { /* code 0026, AMPERSAND */
+  0x00, 0x00,
+  0x1F, 0x00,
+  0x20, 0x00,
+  0x14, 0x00,
+  0x2C, 0x00,
+  0x52, 0x40,
+  0x51, 0xC0,
+  0x2E, 0x80,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_0027[ 20] = { /* code 0027, APOSTROPHE */
+  0x00, 0x00,
+  0x08, 0x00,
+  0x08, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_0028[ 20] = { /* code 0028, LEFT PARENTHESIS */
+  0x02, 0x00,
+  0x08, 0x00,
+  0x08, 0x00,
+  0x08, 0x00,
+  0x08, 0x00,
+  0x08, 0x00,
+  0x08, 0x00,
+  0x02, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_0029[ 20] = { /* code 0029, RIGHT PARENTHESIS */
+  0x14, 0x00,
+  0x08, 0x00,
+  0x05, 0x00,
+  0x05, 0x00,
+  0x05, 0x00,
+  0x05, 0x00,
+  0x08, 0x00,
+  0x14, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_002A[ 20] = { /* code 002A, ASTERISK */
+  0x00, 0x00,
+  0x15, 0x80,
+  0x1E, 0x00,
+  0x1E, 0x00,
+  0x25, 0x80,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_002B[ 20] = { /* code 002B, PLUS SIGN */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x08, 0x00,
+  0x08, 0x00,
+  0x7F, 0xC0,
+  0x08, 0x00,
+  0x08, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_002C[ 20] = { /* code 002C, COMMA */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x0C, 0x00,
+  0x08, 0x00,
+  0x14, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_002D[ 20] = { /* code 002D, HYPHEN-MINUS */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x1E, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_002E[ 20] = { /* code 002E, FULL STOP */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x0C, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_002F[ 20] = { /* code 002F, SOLIDUS */
+  0x00, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x08, 0x00,
+  0x08, 0x00,
+  0x14, 0x00,
+  0x20, 0x00,
+  0x50, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_0030[ 20] = { /* code 0030, DIGIT ZERO */
+  0x00, 0x00,
+  0x2E, 0x00,
+  0x22, 0x40,
+  0x51, 0x40,
+  0x59, 0x40,
+  0x51, 0x40,
+  0x22, 0x40,
+  0x2E, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_0031[ 20] = { /* code 0031, DIGIT ONE */
+  0x00, 0x00,
+  0x3D, 0x00,
+  0x05, 0x00,
+  0x05, 0x00,
+  0x05, 0x00,
+  0x05, 0x00,
+  0x05, 0x00,
+  0x2F, 0x80,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_0032[ 20] = { /* code 0032, DIGIT TWO */
+  0x00, 0x00,
+  0x2F, 0x00,
+  0x01, 0x40,
+  0x01, 0x40,
+  0x02, 0x00,
+  0x08, 0x00,
+  0x30, 0x00,
+  0x7F, 0x80,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_0033[ 20] = { /* code 0033, DIGIT THREE */
+  0x00, 0x00,
+  0x2E, 0x00,
+  0x51, 0x40,
+  0x01, 0x40,
+  0x1D, 0x00,
+  0x01, 0x40,
+  0x41, 0x40,
+  0x3F, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_0034[ 20] = { /* code 0034, DIGIT FOUR */
+  0x00, 0x00,
+  0x06, 0x00,
+  0x0A, 0x00,
+  0x16, 0x00,
+  0x26, 0x00,
+  0x12, 0x00,
+  0x7F, 0x40,
+  0x02, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_0035[ 20] = { /* code 0035, DIGIT FIVE */
+  0x00, 0x00,
+  0x3F, 0x00,
+  0x20, 0x00,
+  0x20, 0x00,
+  0x3F, 0x00,
+  0x01, 0x40,
+  0x01, 0x40,
+  0x7E, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_0036[ 20] = { /* code 0036, DIGIT SIX */
+  0x00, 0x00,
+  0x1F, 0x40,
+  0x30, 0x00,
+  0x50, 0x00,
+  0x6F, 0x00,
+  0x61, 0x40,
+  0x11, 0x40,
+  0x2F, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_0037[ 20] = { /* code 0037, DIGIT SEVEN */
+  0x00, 0x00,
+  0xBF, 0x40,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x05, 0x00,
+  0x08, 0x00,
+  0x08, 0x00,
+  0x24, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_0038[ 20] = { /* code 0038, DIGIT EIGHT */
+  0x00, 0x00,
+  0x2E, 0x00,
+  0x21, 0x40,
+  0x21, 0x40,
+  0x1D, 0x00,
+  0x61, 0x40,
+  0x51, 0x40,
+  0x3F, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_0039[ 20] = { /* code 0039, DIGIT NINE */
+  0x00, 0x00,
+  0x3E, 0x00,
+  0x51, 0x40,
+  0x51, 0x40,
+  0x3F, 0x40,
+  0x01, 0x40,
+  0x03, 0x00,
+  0x7D, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_003A[ 20] = { /* code 003A, COLON */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x0C, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x0C, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_003B[ 20] = { /* code 003B, SEMICOLON */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x0C, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x0C, 0x00,
+  0x08, 0x00,
+  0x14, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_003C[ 20] = { /* code 003C, LESS-THAN SIGN */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x01, 0xC0,
+  0x3E, 0x00,
+  0x78, 0x00,
+  0x03, 0xC0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_003D[ 20] = { /* code 003D, EQUALS SIGN */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0xBF, 0xC0,
+  0x00, 0x00,
+  0xBF, 0xC0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_003E[ 20] = { /* code 003E, GREATER-THAN SIGN */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x60, 0x00,
+  0x0F, 0x80,
+  0x07, 0xC0,
+  0x78, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_003F[ 20] = { /* code 003F, QUESTION MARK */
+  0x00, 0x00,
+  0x3F, 0x00,
+  0x01, 0x40,
+  0x03, 0x00,
+  0x08, 0x00,
+  0x08, 0x00,
+  0x00, 0x00,
+  0x04, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_0040[ 20] = { /* code 0040, COMMERCIAL AT */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x1F, 0x40,
+  0x30, 0x80,
+  0x57, 0xC0,
+  0x58, 0x80,
+  0x57, 0xC0,
+  0x30, 0x00,
+  0x0F, 0x40,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_0041[ 20] = { /* code 0041, LATIN CAPITAL LETTER A */
+  0x00, 0x00,
+  0x0A, 0x00,
+  0x0A, 0x00,
+  0x09, 0x40,
+  0x14, 0x80,
+  0x20, 0x80,
+  0x3F, 0xC0,
+  0x50, 0x40,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_0042[ 20] = { /* code 0042, LATIN CAPITAL LETTER B */
+  0x00, 0x00,
+  0x7E, 0x00,
+  0x52, 0x00,
+  0x52, 0x00,
+  0x7D, 0x00,
+  0x52, 0x40,
+  0x51, 0x40,
+  0x7F, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_0043[ 20] = { /* code 0043, LATIN CAPITAL LETTER C */
+  0x00, 0x00,
+  0x1F, 0x40,
+  0x20, 0x00,
+  0x50, 0x00,
+  0x50, 0x00,
+  0x50, 0x00,
+  0x20, 0x00,
+  0x1F, 0x40,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_0044[ 20] = { /* code 0044, LATIN CAPITAL LETTER D */
+  0x00, 0x00,
+  0x7D, 0x00,
+  0x52, 0x00,
+  0x51, 0x40,
+  0x51, 0x40,
+  0x51, 0x40,
+  0x52, 0x00,
+  0x7D, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_0045[ 20] = { /* code 0045, LATIN CAPITAL LETTER E */
+  0x00, 0x00,
+  0x7F, 0x40,
+  0x50, 0x00,
+  0x50, 0x00,
+  0x7F, 0x40,
+  0x50, 0x00,
+  0x50, 0x00,
+  0x7F, 0x40,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_0046[ 20] = { /* code 0046, LATIN CAPITAL LETTER F */
+  0x00, 0x00,
+  0xBF, 0x40,
+  0x80, 0x00,
+  0x80, 0x00,
+  0xBF, 0x00,
+  0x80, 0x00,
+  0x80, 0x00,
+  0x80, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_0047[ 20] = { /* code 0047, LATIN CAPITAL LETTER G */
+  0x00, 0x00,
+  0x1F, 0x40,
+  0x20, 0x00,
+  0x50, 0x00,
+  0x57, 0x40,
+  0x51, 0x40,
+  0x21, 0x40,
+  0x1F, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_0048[ 20] = { /* code 0048, LATIN CAPITAL LETTER H */
+  0x00, 0x00,
+  0x41, 0x40,
+  0x41, 0x40,
+  0x41, 0x40,
+  0x7F, 0x40,
+  0x41, 0x40,
+  0x41, 0x40,
+  0x41, 0x40,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_0049[ 20] = { /* code 0049, LATIN CAPITAL LETTER I */
+  0x00, 0x00,
+  0x3F, 0x40,
+  0x08, 0x00,
+  0x08, 0x00,
+  0x08, 0x00,
+  0x08, 0x00,
+  0x08, 0x00,
+  0x3F, 0x40,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_004A[ 20] = { /* code 004A, LATIN CAPITAL LETTER J */
+  0x00, 0x00,
+  0x1F, 0x40,
+  0x01, 0x40,
+  0x01, 0x40,
+  0x01, 0x40,
+  0x01, 0x40,
+  0x02, 0x00,
+  0x7E, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_004B[ 20] = { /* code 004B, LATIN CAPITAL LETTER K */
+  0x00, 0x00,
+  0x41, 0x80,
+  0x46, 0x00,
+  0x58, 0x00,
+  0x78, 0x00,
+  0x45, 0x00,
+  0x42, 0x00,
+  0x41, 0xC0,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_004C[ 20] = { /* code 004C, LATIN CAPITAL LETTER L */
+  0x00, 0x00,
+  0x40, 0x00,
+  0x40, 0x00,
+  0x40, 0x00,
+  0x40, 0x00,
+  0x40, 0x00,
+  0x40, 0x00,
+  0x7F, 0x40,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_004D[ 20] = { /* code 004D, LATIN CAPITAL LETTER M */
+  0x00, 0x00,
+  0x60, 0xC0,
+  0x61, 0xC0,
+  0x55, 0x80,
+  0x55, 0x80,
+  0x59, 0x80,
+  0x50, 0x80,
+  0x50, 0x80,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_004E[ 20] = { /* code 004E, LATIN CAPITAL LETTER N */
+  0x00, 0x00,
+  0x61, 0x40,
+  0x71, 0x40,
+  0x55, 0x40,
+  0x55, 0x40,
+  0x55, 0x40,
+  0x53, 0x40,
+  0x52, 0x40,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_004F[ 20] = { /* code 004F, LATIN CAPITAL LETTER O */
+  0x00, 0x00,
+  0x2E, 0x00,
+  0x62, 0x40,
+  0x51, 0x40,
+  0x51, 0x40,
+  0x51, 0x40,
+  0x62, 0x40,
+  0x2E, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_0050[ 20] = { /* code 0050, LATIN CAPITAL LETTER P */
+  0x00, 0x00,
+  0x7F, 0x00,
+  0x51, 0x40,
+  0x51, 0x40,
+  0x7F, 0x00,
+  0x50, 0x00,
+  0x50, 0x00,
+  0x50, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_0051[ 20] = { /* code 0051, LATIN CAPITAL LETTER Q */
+  0x00, 0x00,
+  0x2E, 0x00,
+  0x62, 0x40,
+  0x51, 0x40,
+  0x51, 0x40,
+  0x51, 0x40,
+  0x62, 0x40,
+  0x2E, 0x00,
+  0x02, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_0052[ 20] = { /* code 0052, LATIN CAPITAL LETTER R */
+  0x00, 0x00,
+  0x7F, 0x00,
+  0x51, 0x40,
+  0x51, 0x40,
+  0x7D, 0x00,
+  0x52, 0x00,
+  0x51, 0x40,
+  0x50, 0x80,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_0053[ 20] = { /* code 0053, LATIN CAPITAL LETTER S */
+  0x00, 0x00,
+  0x2F, 0x00,
+  0x50, 0x40,
+  0x50, 0x00,
+  0x1F, 0x00,
+  0x01, 0x40,
+  0x41, 0x40,
+  0x2F, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_0054[ 20] = { /* code 0054, LATIN CAPITAL LETTER T */
+  0x00, 0x00,
+  0xBF, 0xC0,
+  0x08, 0x00,
+  0x08, 0x00,
+  0x08, 0x00,
+  0x08, 0x00,
+  0x08, 0x00,
+  0x08, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_0055[ 20] = { /* code 0055, LATIN CAPITAL LETTER U */
+  0x00, 0x00,
+  0x51, 0x40,
+  0x51, 0x40,
+  0x51, 0x40,
+  0x51, 0x40,
+  0x51, 0x40,
+  0x51, 0x40,
+  0x2E, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_0056[ 20] = { /* code 0056, LATIN CAPITAL LETTER V */
+  0x00, 0x00,
+  0x50, 0x80,
+  0x20, 0x80,
+  0x20, 0x80,
+  0x15, 0x40,
+  0x16, 0x00,
+  0x0A, 0x00,
+  0x0A, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_0057[ 20] = { /* code 0057, LATIN CAPITAL LETTER W */
+  0x00, 0x00,
+  0x80, 0x40,
+  0x80, 0x80,
+  0x89, 0x80,
+  0x59, 0x80,
+  0x66, 0x80,
+  0x31, 0x80,
+  0x31, 0x40,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_0058[ 20] = { /* code 0058, LATIN CAPITAL LETTER X */
+  0x00, 0x00,
+  0x20, 0x80,
+  0x14, 0x80,
+  0x0A, 0x00,
+  0x06, 0x00,
+  0x0A, 0x40,
+  0x20, 0x80,
+  0x60, 0x40,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_0059[ 20] = { /* code 0059, LATIN CAPITAL LETTER Y */
+  0x00, 0x00,
+  0x90, 0x80,
+  0x21, 0x40,
+  0x16, 0x00,
+  0x0D, 0x00,
+  0x08, 0x00,
+  0x08, 0x00,
+  0x08, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_005A[ 20] = { /* code 005A, LATIN CAPITAL LETTER Z */
+  0x00, 0x00,
+  0x7F, 0x40,
+  0x02, 0x00,
+  0x05, 0x00,
+  0x08, 0x00,
+  0x14, 0x00,
+  0x20, 0x00,
+  0x7F, 0x40,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_005B[ 20] = { /* code 005B, LEFT SQUARE BRACKET */
+  0x0F, 0x00,
+  0x08, 0x00,
+  0x08, 0x00,
+  0x08, 0x00,
+  0x08, 0x00,
+  0x08, 0x00,
+  0x08, 0x00,
+  0x0F, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_005C[ 20] = { /* code 005C, REVERSE SOLIDUS */
+  0x00, 0x00,
+  0x50, 0x00,
+  0x20, 0x00,
+  0x14, 0x00,
+  0x08, 0x00,
+  0x08, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_005D[ 20] = { /* code 005D, RIGHT SQUARE BRACKET */
+  0x1D, 0x00,
+  0x05, 0x00,
+  0x05, 0x00,
+  0x05, 0x00,
+  0x05, 0x00,
+  0x05, 0x00,
+  0x05, 0x00,
+  0x1D, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_005E[ 20] = { /* code 005E, CIRCUMFLEX ACCENT */
+  0x00, 0x00,
+  0x0E, 0x00,
+  0x61, 0xC0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_005F[ 20] = { /* code 005F, LOW LINE */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0xFF, 0xC0
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_0060[ 20] = { /* code 0060, GRAVE ACCENT */
+  0x24, 0x00,
+  0x08, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_0061[ 20] = { /* code 0061, LATIN SMALL LETTER A */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x3F, 0x00,
+  0x00, 0x40,
+  0x3F, 0x80,
+  0x51, 0x80,
+  0x3F, 0x80,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_0062[ 20] = { /* code 0062, LATIN SMALL LETTER B */
+  0x50, 0x00,
+  0x50, 0x00,
+  0x50, 0x00,
+  0x7F, 0x00,
+  0x61, 0x40,
+  0x50, 0x80,
+  0x61, 0x40,
+  0x7F, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_0063[ 20] = { /* code 0063, LATIN SMALL LETTER C */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x1F, 0x40,
+  0x20, 0x00,
+  0x50, 0x00,
+  0x20, 0x00,
+  0x1F, 0x40,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_0064[ 20] = { /* code 0064, LATIN SMALL LETTER D */
+  0x00, 0x80,
+  0x00, 0x80,
+  0x00, 0x80,
+  0x2E, 0x80,
+  0x61, 0x80,
+  0x50, 0x80,
+  0x61, 0x80,
+  0x2F, 0x80,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_0065[ 20] = { /* code 0065, LATIN SMALL LETTER E */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x2F, 0x00,
+  0x21, 0x40,
+  0x7F, 0x80,
+  0x20, 0x00,
+  0x2F, 0x40,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_0066[ 20] = { /* code 0066, LATIN SMALL LETTER F */
+  0x07, 0x80,
+  0x04, 0x00,
+  0x08, 0x00,
+  0x3F, 0x80,
+  0x08, 0x00,
+  0x08, 0x00,
+  0x08, 0x00,
+  0x08, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_0067[ 20] = { /* code 0067, LATIN SMALL LETTER G */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x2E, 0x80,
+  0x61, 0x80,
+  0x50, 0x80,
+  0x61, 0x80,
+  0x2F, 0x80,
+  0x01, 0x40,
+  0x2F, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_0068[ 20] = { /* code 0068, LATIN SMALL LETTER H */
+  0x50, 0x00,
+  0x50, 0x00,
+  0x50, 0x00,
+  0x6F, 0x00,
+  0x61, 0x40,
+  0x50, 0x80,
+  0x50, 0x80,
+  0x50, 0x80,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_0069[ 20] = { /* code 0069, LATIN SMALL LETTER I */
+  0x08, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x2C, 0x00,
+  0x08, 0x00,
+  0x08, 0x00,
+  0x08, 0x00,
+  0x7F, 0x80,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_006A[ 20] = { /* code 006A, LATIN SMALL LETTER J */
+  0x05, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x2D, 0x00,
+  0x05, 0x00,
+  0x05, 0x00,
+  0x05, 0x00,
+  0x05, 0x00,
+  0x05, 0x00,
+  0x3C, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_006B[ 20] = { /* code 006B, LATIN SMALL LETTER K */
+  0x50, 0x00,
+  0x50, 0x00,
+  0x50, 0x00,
+  0x53, 0x00,
+  0x5C, 0x00,
+  0x78, 0x00,
+  0x55, 0x00,
+  0x52, 0x40,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_006C[ 20] = { /* code 006C, LATIN SMALL LETTER L */
+  0xB8, 0x00,
+  0x08, 0x00,
+  0x08, 0x00,
+  0x08, 0x00,
+  0x08, 0x00,
+  0x08, 0x00,
+  0x08, 0x00,
+  0x07, 0x40,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_006D[ 20] = { /* code 006D, LATIN SMALL LETTER M */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x7E, 0xC0,
+  0x55, 0x80,
+  0x55, 0x80,
+  0x55, 0x80,
+  0x55, 0x80,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_006E[ 20] = { /* code 006E, LATIN SMALL LETTER N */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x6F, 0x00,
+  0x61, 0x40,
+  0x50, 0x80,
+  0x50, 0x80,
+  0x50, 0x80,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_006F[ 20] = { /* code 006F, LATIN SMALL LETTER O */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x2F, 0x00,
+  0x61, 0x40,
+  0x50, 0x80,
+  0x61, 0x40,
+  0x2F, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_0070[ 20] = { /* code 0070, LATIN SMALL LETTER P */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x7F, 0x00,
+  0x61, 0x40,
+  0x50, 0x80,
+  0x61, 0x40,
+  0x7F, 0x00,
+  0x50, 0x00,
+  0x50, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_0071[ 20] = { /* code 0071, LATIN SMALL LETTER Q */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x2E, 0x80,
+  0x61, 0x80,
+  0x50, 0x80,
+  0x61, 0x80,
+  0x2F, 0x80,
+  0x00, 0x80,
+  0x00, 0x80
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_0072[ 20] = { /* code 0072, LATIN SMALL LETTER R */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x1B, 0xC0,
+  0x18, 0x00,
+  0x14, 0x00,
+  0x14, 0x00,
+  0x14, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_0073[ 20] = { /* code 0073, LATIN SMALL LETTER S */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x3F, 0x80,
+  0x50, 0x00,
+  0x2F, 0x00,
+  0x00, 0x80,
+  0x7F, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_0074[ 20] = { /* code 0074, LATIN SMALL LETTER T */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x08, 0x00,
+  0x7F, 0x40,
+  0x08, 0x00,
+  0x08, 0x00,
+  0x08, 0x00,
+  0x0B, 0x40,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_0075[ 20] = { /* code 0075, LATIN SMALL LETTER U */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x50, 0x80,
+  0x50, 0x80,
+  0x50, 0x80,
+  0x51, 0x80,
+  0x3E, 0x80,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_0076[ 20] = { /* code 0076, LATIN SMALL LETTER V */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x21, 0x40,
+  0x12, 0x00,
+  0x26, 0x00,
+  0x1D, 0x00,
+  0x0C, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_0077[ 20] = { /* code 0077, LATIN SMALL LETTER W */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x80, 0x40,
+  0x88, 0x80,
+  0x59, 0x40,
+  0x26, 0x80,
+  0x22, 0x40,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_0078[ 20] = { /* code 0078, LATIN SMALL LETTER X */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x20, 0xC0,
+  0x0A, 0x00,
+  0x05, 0x00,
+  0x1A, 0x40,
+  0x20, 0xC0,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_0079[ 20] = { /* code 0079, LATIN SMALL LETTER Y */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x21, 0x40,
+  0x22, 0x00,
+  0x16, 0x00,
+  0x0D, 0x00,
+  0x08, 0x00,
+  0x08, 0x00,
+  0x34, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_007A[ 20] = { /* code 007A, LATIN SMALL LETTER Z */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x7F, 0x80,
+  0x02, 0x00,
+  0x08, 0x00,
+  0x24, 0x00,
+  0x7F, 0x80,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_007B[ 20] = { /* code 007B, LEFT CURLY BRACKET */
+  0x07, 0x40,
+  0x08, 0x00,
+  0x08, 0x00,
+  0x34, 0x00,
+  0x08, 0x00,
+  0x08, 0x00,
+  0x08, 0x00,
+  0x07, 0x40,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_007C[ 20] = { /* code 007C, VERTICAL LINE */
+  0x04, 0x00,
+  0x04, 0x00,
+  0x04, 0x00,
+  0x04, 0x00,
+  0x04, 0x00,
+  0x04, 0x00,
+  0x04, 0x00,
+  0x04, 0x00,
+  0x04, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_007D[ 20] = { /* code 007D, RIGHT CURLY BRACKET */
+  0x38, 0x00,
+  0x08, 0x00,
+  0x04, 0x00,
+  0x03, 0x40,
+  0x09, 0x00,
+  0x08, 0x00,
+  0x08, 0x00,
+  0x38, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono10_AA2_007E[ 20] = { /* code 007E, TILDE */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x3C, 0x00,
+  0x03, 0x80,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const aafontsCharInfo_t charTable_DejaVuSansMono10_AA2[95] = 
+{
+  {   5,   2, FontDejaVuSansMono10_AA2_0020 }, /* code 0020 */
+  {   5,   2, FontDejaVuSansMono10_AA2_0021 }, /* code 0021 */
+  {   5,   2, FontDejaVuSansMono10_AA2_0022 }, /* code 0022 */
+  {   5,   2, FontDejaVuSansMono10_AA2_0023 }, /* code 0023 */
+  {   5,   2, FontDejaVuSansMono10_AA2_0024 }, /* code 0024 */
+  {   5,   2, FontDejaVuSansMono10_AA2_0025 }, /* code 0025 */
+  {   5,   2, FontDejaVuSansMono10_AA2_0026 }, /* code 0026 */
+  {   5,   2, FontDejaVuSansMono10_AA2_0027 }, /* code 0027 */
+  {   5,   2, FontDejaVuSansMono10_AA2_0028 }, /* code 0028 */
+  {   5,   2, FontDejaVuSansMono10_AA2_0029 }, /* code 0029 */
+  {   5,   2, FontDejaVuSansMono10_AA2_002A }, /* code 002A */
+  {   5,   2, FontDejaVuSansMono10_AA2_002B }, /* code 002B */
+  {   5,   2, FontDejaVuSansMono10_AA2_002C }, /* code 002C */
+  {   5,   2, FontDejaVuSansMono10_AA2_002D }, /* code 002D */
+  {   5,   2, FontDejaVuSansMono10_AA2_002E }, /* code 002E */
+  {   5,   2, FontDejaVuSansMono10_AA2_002F }, /* code 002F */
+  {   5,   2, FontDejaVuSansMono10_AA2_0030 }, /* code 0030 */
+  {   5,   2, FontDejaVuSansMono10_AA2_0031 }, /* code 0031 */
+  {   5,   2, FontDejaVuSansMono10_AA2_0032 }, /* code 0032 */
+  {   5,   2, FontDejaVuSansMono10_AA2_0033 }, /* code 0033 */
+  {   5,   2, FontDejaVuSansMono10_AA2_0034 }, /* code 0034 */
+  {   5,   2, FontDejaVuSansMono10_AA2_0035 }, /* code 0035 */
+  {   5,   2, FontDejaVuSansMono10_AA2_0036 }, /* code 0036 */
+  {   5,   2, FontDejaVuSansMono10_AA2_0037 }, /* code 0037 */
+  {   5,   2, FontDejaVuSansMono10_AA2_0038 }, /* code 0038 */
+  {   5,   2, FontDejaVuSansMono10_AA2_0039 }, /* code 0039 */
+  {   5,   2, FontDejaVuSansMono10_AA2_003A }, /* code 003A */
+  {   5,   2, FontDejaVuSansMono10_AA2_003B }, /* code 003B */
+  {   5,   2, FontDejaVuSansMono10_AA2_003C }, /* code 003C */
+  {   5,   2, FontDejaVuSansMono10_AA2_003D }, /* code 003D */
+  {   5,   2, FontDejaVuSansMono10_AA2_003E }, /* code 003E */
+  {   5,   2, FontDejaVuSansMono10_AA2_003F }, /* code 003F */
+  {   5,   2, FontDejaVuSansMono10_AA2_0040 }, /* code 0040 */
+  {   5,   2, FontDejaVuSansMono10_AA2_0041 }, /* code 0041 */
+  {   5,   2, FontDejaVuSansMono10_AA2_0042 }, /* code 0042 */
+  {   5,   2, FontDejaVuSansMono10_AA2_0043 }, /* code 0043 */
+  {   5,   2, FontDejaVuSansMono10_AA2_0044 }, /* code 0044 */
+  {   5,   2, FontDejaVuSansMono10_AA2_0045 }, /* code 0045 */
+  {   5,   2, FontDejaVuSansMono10_AA2_0046 }, /* code 0046 */
+  {   5,   2, FontDejaVuSansMono10_AA2_0047 }, /* code 0047 */
+  {   5,   2, FontDejaVuSansMono10_AA2_0048 }, /* code 0048 */
+  {   5,   2, FontDejaVuSansMono10_AA2_0049 }, /* code 0049 */
+  {   5,   2, FontDejaVuSansMono10_AA2_004A }, /* code 004A */
+  {   5,   2, FontDejaVuSansMono10_AA2_004B }, /* code 004B */
+  {   5,   2, FontDejaVuSansMono10_AA2_004C }, /* code 004C */
+  {   5,   2, FontDejaVuSansMono10_AA2_004D }, /* code 004D */
+  {   5,   2, FontDejaVuSansMono10_AA2_004E }, /* code 004E */
+  {   5,   2, FontDejaVuSansMono10_AA2_004F }, /* code 004F */
+  {   5,   2, FontDejaVuSansMono10_AA2_0050 }, /* code 0050 */
+  {   5,   2, FontDejaVuSansMono10_AA2_0051 }, /* code 0051 */
+  {   5,   2, FontDejaVuSansMono10_AA2_0052 }, /* code 0052 */
+  {   5,   2, FontDejaVuSansMono10_AA2_0053 }, /* code 0053 */
+  {   5,   2, FontDejaVuSansMono10_AA2_0054 }, /* code 0054 */
+  {   5,   2, FontDejaVuSansMono10_AA2_0055 }, /* code 0055 */
+  {   5,   2, FontDejaVuSansMono10_AA2_0056 }, /* code 0056 */
+  {   5,   2, FontDejaVuSansMono10_AA2_0057 }, /* code 0057 */
+  {   5,   2, FontDejaVuSansMono10_AA2_0058 }, /* code 0058 */
+  {   5,   2, FontDejaVuSansMono10_AA2_0059 }, /* code 0059 */
+  {   5,   2, FontDejaVuSansMono10_AA2_005A }, /* code 005A */
+  {   5,   2, FontDejaVuSansMono10_AA2_005B }, /* code 005B */
+  {   5,   2, FontDejaVuSansMono10_AA2_005C }, /* code 005C */
+  {   5,   2, FontDejaVuSansMono10_AA2_005D }, /* code 005D */
+  {   5,   2, FontDejaVuSansMono10_AA2_005E }, /* code 005E */
+  {   5,   2, FontDejaVuSansMono10_AA2_005F }, /* code 005F */
+  {   5,   2, FontDejaVuSansMono10_AA2_0060 }, /* code 0060 */
+  {   5,   2, FontDejaVuSansMono10_AA2_0061 }, /* code 0061 */
+  {   5,   2, FontDejaVuSansMono10_AA2_0062 }, /* code 0062 */
+  {   5,   2, FontDejaVuSansMono10_AA2_0063 }, /* code 0063 */
+  {   5,   2, FontDejaVuSansMono10_AA2_0064 }, /* code 0064 */
+  {   5,   2, FontDejaVuSansMono10_AA2_0065 }, /* code 0065 */
+  {   5,   2, FontDejaVuSansMono10_AA2_0066 }, /* code 0066 */
+  {   5,   2, FontDejaVuSansMono10_AA2_0067 }, /* code 0067 */
+  {   5,   2, FontDejaVuSansMono10_AA2_0068 }, /* code 0068 */
+  {   5,   2, FontDejaVuSansMono10_AA2_0069 }, /* code 0069 */
+  {   5,   2, FontDejaVuSansMono10_AA2_006A }, /* code 006A */
+  {   5,   2, FontDejaVuSansMono10_AA2_006B }, /* code 006B */
+  {   5,   2, FontDejaVuSansMono10_AA2_006C }, /* code 006C */
+  {   5,   2, FontDejaVuSansMono10_AA2_006D }, /* code 006D */
+  {   5,   2, FontDejaVuSansMono10_AA2_006E }, /* code 006E */
+  {   5,   2, FontDejaVuSansMono10_AA2_006F }, /* code 006F */
+  {   5,   2, FontDejaVuSansMono10_AA2_0070 }, /* code 0070 */
+  {   5,   2, FontDejaVuSansMono10_AA2_0071 }, /* code 0071 */
+  {   5,   2, FontDejaVuSansMono10_AA2_0072 }, /* code 0072 */
+  {   5,   2, FontDejaVuSansMono10_AA2_0073 }, /* code 0073 */
+  {   5,   2, FontDejaVuSansMono10_AA2_0074 }, /* code 0074 */
+  {   5,   2, FontDejaVuSansMono10_AA2_0075 }, /* code 0075 */
+  {   5,   2, FontDejaVuSansMono10_AA2_0076 }, /* code 0076 */
+  {   5,   2, FontDejaVuSansMono10_AA2_0077 }, /* code 0077 */
+  {   5,   2, FontDejaVuSansMono10_AA2_0078 }, /* code 0078 */
+  {   5,   2, FontDejaVuSansMono10_AA2_0079 }, /* code 0079 */
+  {   5,   2, FontDejaVuSansMono10_AA2_007A }, /* code 007A */
+  {   5,   2, FontDejaVuSansMono10_AA2_007B }, /* code 007B */
+  {   5,   2, FontDejaVuSansMono10_AA2_007C }, /* code 007C */
+  {   5,   2, FontDejaVuSansMono10_AA2_007D }, /* code 007D */
+  {   5,   2, FontDejaVuSansMono10_AA2_007E }  /* code 007E */
+};
+
+aafontsFont_t DejaVuSansMono10_AA2 = 
+{
+  AAFONTS_FONTTYPE_AA2,                         /* Font type (anti-aliasing level) */
+  10,                                           /* Font height in pixels */
+  5,                                            /* Width to insert for unknown characters */
+  7,                                            /* Height of upper-case characters */
+  5,                                            /* Height of lower-case characters */
+  8,                                            /* Font baseline */
+  0x0020,                                       /* Unicode address of first character */
+  0x007E,                                       /* Unicode address of last character */
+  &charTable_DejaVuSansMono10_AA2[0]       /* Font char data */
+};
diff --git a/drivers/displays/tft/aafonts/aa2/DejaVuSansMono10_AA2.h b/drivers/displays/tft/aafonts/aa2/DejaVuSansMono10_AA2.h
new file mode 100644 (file)
index 0000000..c530a8e
--- /dev/null
@@ -0,0 +1,44 @@
+/**************************************************************************/
+/*! 
+    @file     DejaVuSansMono10_AA2.h
+    @author   K. Townsend (microBuilder.eu)
+
+    @section LICENSE
+
+    Software License Agreement (BSD License)
+
+    Copyright (c) 2012, microBuilder SARL
+    All rights reserved.
+
+    Redistribution and use in source and binary forms, with or without
+    modification, are permitted provided that the following conditions are met:
+    1. Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+    2. Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in the
+    documentation and/or other materials provided with the distribution.
+    3. Neither the name of the copyright holders nor the
+    names of its contributors may be used to endorse or promote products
+    derived from this software without specific prior written permission.
+
+    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
+    EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+    WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+    DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY
+    DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+    (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+    LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+    ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+    (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+    SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+/**************************************************************************/
+#ifndef __DejaVuSansMono10_AA2_H__
+#define __DejaVuSansMono10_AA2_H__
+
+#include "projectconfig.h"
+#include "drivers/displays/tft/aafonts.h"
+
+extern aafontsFont_t DejaVuSansMono10_AA2;
+
+#endif
diff --git a/drivers/displays/tft/aafonts/aa2/DejaVuSansMono13_AA2.c b/drivers/displays/tft/aafonts/aa2/DejaVuSansMono13_AA2.c
new file mode 100644 (file)
index 0000000..2a87b8d
--- /dev/null
@@ -0,0 +1,1669 @@
+/**************************************************************************/
+/*! 
+    @file     DejaVuSansMono13_AA2.c
+    @author   K. Townsend (microBuilder.eu)
+
+    @section LICENSE
+
+    Software License Agreement (BSD License)
+
+    Copyright (c) 2012, microBuilder SARL
+    All rights reserved.
+
+    Redistribution and use in source and binary forms, with or without
+    modification, are permitted provided that the following conditions are met:
+    1. Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+    2. Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in the
+    documentation and/or other materials provided with the distribution.
+    3. Neither the name of the copyright holders nor the
+    names of its contributors may be used to endorse or promote products
+    derived from this software without specific prior written permission.
+
+    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
+    EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+    WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+    DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY
+    DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+    (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+    LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+    ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+    (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+    SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+/**************************************************************************/
+#include "DejaVuSansMono13_AA2.h"
+
+/* Start of unicode area <Basic Latin> */
+const uint8_t FontDejaVuSansMono13_AA2_0020[ 26] = { /* code 0020, SPACE */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_0021[ 26] = { /* code 0021, EXCLAMATION MARK */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x00, 0x00,
+  0x02, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_0022[ 26] = { /* code 0022, QUOTATION MARK */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x08, 0x80,
+  0x08, 0x80,
+  0x08, 0x80,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_0023[ 26] = { /* code 0023, NUMBER SIGN */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x05, 0x20,
+  0x09, 0x50,
+  0x7F, 0xF8,
+  0x08, 0x80,
+  0x14, 0x80,
+  0xFF, 0xF0,
+  0x21, 0x40,
+  0x22, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_0024[ 26] = { /* code 0024, DOLLAR SIGN */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x01, 0x00,
+  0x1F, 0xF0,
+  0x31, 0x00,
+  0x31, 0x00,
+  0x0F, 0xC0,
+  0x01, 0x20,
+  0x01, 0x20,
+  0x3F, 0xC0,
+  0x01, 0x00,
+  0x01, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_0025[ 26] = { /* code 0025, PERCENT SIGN */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x7C, 0x00,
+  0x86, 0x00,
+  0x7C, 0x20,
+  0x01, 0xC0,
+  0x09, 0x00,
+  0x71, 0xF0,
+  0x02, 0x14,
+  0x01, 0xF0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_0026[ 26] = { /* code 0026, AMPERSAND */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x0F, 0xC0,
+  0x14, 0x00,
+  0x18, 0x00,
+  0x1D, 0x00,
+  0x63, 0x24,
+  0x51, 0xA0,
+  0x70, 0x90,
+  0x1F, 0xB4,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_0027[ 26] = { /* code 0027, APOSTROPHE */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_0028[ 26] = { /* code 0028, LEFT PARENTHESIS */
+  0x00, 0x00,
+  0x01, 0x80,
+  0x02, 0x00,
+  0x06, 0x00,
+  0x05, 0x00,
+  0x09, 0x00,
+  0x09, 0x00,
+  0x05, 0x00,
+  0x06, 0x00,
+  0x02, 0x00,
+  0x01, 0x80,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_0029[ 26] = { /* code 0029, RIGHT PARENTHESIS */
+  0x00, 0x00,
+  0x08, 0x00,
+  0x05, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x02, 0x40,
+  0x02, 0x40,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x05, 0x00,
+  0x08, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_002A[ 26] = { /* code 002A, ASTERISK */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x01, 0x00,
+  0x21, 0x20,
+  0x0F, 0x80,
+  0x0F, 0x40,
+  0x21, 0x60,
+  0x01, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_002B[ 26] = { /* code 002B, PLUS SIGN */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x7F, 0xF4,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_002C[ 26] = { /* code 002C, COMMA */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x03, 0x40,
+  0x07, 0x00,
+  0x05, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_002D[ 26] = { /* code 002D, HYPHEN-MINUS */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x0F, 0x80,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_002E[ 26] = { /* code 002E, FULL STOP */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x03, 0x00,
+  0x03, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_002F[ 26] = { /* code 002F, SOLIDUS */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x30,
+  0x00, 0x90,
+  0x00, 0x80,
+  0x02, 0x40,
+  0x02, 0x00,
+  0x09, 0x00,
+  0x08, 0x00,
+  0x24, 0x00,
+  0x20, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_0030[ 26] = { /* code 0030, DIGIT ZERO */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x0F, 0x80,
+  0x20, 0x90,
+  0x24, 0x60,
+  0x29, 0x60,
+  0x22, 0x60,
+  0x20, 0xA0,
+  0x20, 0x90,
+  0x0F, 0x80,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_0031[ 26] = { /* code 0031, DIGIT ONE */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x2F, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x1F, 0xE0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_0032[ 26] = { /* code 0032, DIGIT TWO */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x2F, 0x80,
+  0x50, 0x90,
+  0x00, 0x50,
+  0x00, 0x80,
+  0x02, 0x40,
+  0x09, 0x00,
+  0x24, 0x00,
+  0x7F, 0xD0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_0033[ 26] = { /* code 0033, DIGIT THREE */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x1F, 0x80,
+  0x10, 0x90,
+  0x00, 0x90,
+  0x0F, 0x40,
+  0x00, 0x90,
+  0x00, 0x60,
+  0x50, 0xA0,
+  0x2F, 0x80,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_0034[ 26] = { /* code 0034, DIGIT FOUR */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0xE0,
+  0x02, 0x60,
+  0x05, 0x60,
+  0x18, 0x60,
+  0x20, 0x60,
+  0x7F, 0xF8,
+  0x00, 0x60,
+  0x00, 0x60,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_0035[ 26] = { /* code 0035, DIGIT FIVE */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x3F, 0xC0,
+  0x20, 0x00,
+  0x20, 0x00,
+  0x3F, 0x80,
+  0x00, 0x90,
+  0x00, 0x60,
+  0x00, 0x90,
+  0x7F, 0x80,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_0036[ 26] = { /* code 0036, DIGIT SIX */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x0B, 0xE0,
+  0x28, 0x00,
+  0x30, 0x00,
+  0x6B, 0xC0,
+  0x70, 0x60,
+  0x20, 0x20,
+  0x20, 0x60,
+  0x0F, 0xC0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_0037[ 26] = { /* code 0037, DIGIT SEVEN */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x3F, 0xF0,
+  0x00, 0x50,
+  0x00, 0x80,
+  0x01, 0x80,
+  0x02, 0x40,
+  0x03, 0x00,
+  0x06, 0x00,
+  0x09, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_0038[ 26] = { /* code 0038, DIGIT EIGHT */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x1F, 0xC0,
+  0x30, 0x60,
+  0x20, 0x60,
+  0x0F, 0x80,
+  0x20, 0x60,
+  0x60, 0x20,
+  0x30, 0x60,
+  0x1F, 0xC0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_0039[ 26] = { /* code 0039, DIGIT NINE */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x1F, 0x80,
+  0x30, 0x50,
+  0x60, 0x20,
+  0x30, 0x60,
+  0x1F, 0xA0,
+  0x00, 0x60,
+  0x00, 0xD0,
+  0x7F, 0x40,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_003A[ 26] = { /* code 003A, COLON */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x03, 0x00,
+  0x03, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x03, 0x00,
+  0x03, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_003B[ 26] = { /* code 003B, SEMICOLON */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x03, 0x00,
+  0x03, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x03, 0x40,
+  0x07, 0x00,
+  0x05, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_003C[ 26] = { /* code 003C, LESS-THAN SIGN */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x30,
+  0x0F, 0x80,
+  0x70, 0x00,
+  0x0F, 0x40,
+  0x00, 0x70,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_003D[ 26] = { /* code 003D, EQUALS SIGN */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x7F, 0xF0,
+  0x00, 0x00,
+  0x7F, 0xF0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_003E[ 26] = { /* code 003E, GREATER-THAN SIGN */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x60, 0x00,
+  0x0F, 0x80,
+  0x00, 0x70,
+  0x0B, 0x80,
+  0x70, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_003F[ 26] = { /* code 003F, QUESTION MARK */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x1F, 0xD0,
+  0x00, 0x20,
+  0x00, 0x90,
+  0x02, 0x80,
+  0x03, 0x00,
+  0x02, 0x00,
+  0x00, 0x00,
+  0x02, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_0040[ 26] = { /* code 0040, COMMERCIAL AT */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x07, 0xE0,
+  0x18, 0x24,
+  0x30, 0x18,
+  0x62, 0xF8,
+  0x52, 0x18,
+  0x52, 0x18,
+  0x62, 0xF8,
+  0x20, 0x00,
+  0x1C, 0x00,
+  0x07, 0xE0,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_0041[ 26] = { /* code 0041, LATIN CAPITAL LETTER A */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x07, 0x40,
+  0x06, 0x40,
+  0x09, 0x80,
+  0x08, 0x80,
+  0x18, 0x90,
+  0x2F, 0xE0,
+  0x20, 0x20,
+  0x60, 0x24,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_0042[ 26] = { /* code 0042, LATIN CAPITAL LETTER B */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x7F, 0xC0,
+  0x60, 0x50,
+  0x60, 0x50,
+  0x7F, 0x40,
+  0x60, 0x60,
+  0x60, 0x20,
+  0x60, 0x60,
+  0x7F, 0xC0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_0043[ 26] = { /* code 0043, LATIN CAPITAL LETTER C */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x0F, 0xC0,
+  0x24, 0x10,
+  0x20, 0x00,
+  0x60, 0x00,
+  0x60, 0x00,
+  0x20, 0x00,
+  0x24, 0x10,
+  0x0F, 0xC0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_0044[ 26] = { /* code 0044, LATIN CAPITAL LETTER D */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x7F, 0x40,
+  0x60, 0x90,
+  0x60, 0x60,
+  0x60, 0x20,
+  0x60, 0x20,
+  0x60, 0x60,
+  0x60, 0xD0,
+  0x7F, 0x40,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_0045[ 26] = { /* code 0045, LATIN CAPITAL LETTER E */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x7F, 0xD0,
+  0x60, 0x00,
+  0x60, 0x00,
+  0x7F, 0xD0,
+  0x60, 0x00,
+  0x60, 0x00,
+  0x60, 0x00,
+  0x7F, 0xD0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_0046[ 26] = { /* code 0046, LATIN CAPITAL LETTER F */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x3F, 0xD0,
+  0x20, 0x00,
+  0x20, 0x00,
+  0x3F, 0xC0,
+  0x20, 0x00,
+  0x20, 0x00,
+  0x20, 0x00,
+  0x20, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_0047[ 26] = { /* code 0047, LATIN CAPITAL LETTER G */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x0B, 0xE0,
+  0x24, 0x14,
+  0x20, 0x00,
+  0x60, 0x00,
+  0x60, 0x78,
+  0x20, 0x18,
+  0x24, 0x18,
+  0x0B, 0xF0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_0048[ 26] = { /* code 0048, LATIN CAPITAL LETTER H */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x20, 0x20,
+  0x20, 0x20,
+  0x20, 0x20,
+  0x3F, 0xE0,
+  0x20, 0x20,
+  0x20, 0x20,
+  0x20, 0x20,
+  0x20, 0x20,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_0049[ 26] = { /* code 0049, LATIN CAPITAL LETTER I */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x3F, 0xD0,
+  0x06, 0x00,
+  0x06, 0x00,
+  0x06, 0x00,
+  0x06, 0x00,
+  0x06, 0x00,
+  0x06, 0x00,
+  0x3F, 0xD0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_004A[ 26] = { /* code 004A, LATIN CAPITAL LETTER J */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x0B, 0xC0,
+  0x00, 0x80,
+  0x00, 0x80,
+  0x00, 0x80,
+  0x00, 0x80,
+  0x00, 0x80,
+  0x00, 0x80,
+  0x2F, 0x40,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_004B[ 26] = { /* code 004B, LATIN CAPITAL LETTER K */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x60, 0x70,
+  0x61, 0x80,
+  0x67, 0x00,
+  0x7D, 0x00,
+  0x77, 0x00,
+  0x61, 0x80,
+  0x60, 0x90,
+  0x60, 0x34,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_004C[ 26] = { /* code 004C, LATIN CAPITAL LETTER L */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x60, 0x00,
+  0x60, 0x00,
+  0x60, 0x00,
+  0x60, 0x00,
+  0x60, 0x00,
+  0x60, 0x00,
+  0x60, 0x00,
+  0x7F, 0xE0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_004D[ 26] = { /* code 004D, LATIN CAPITAL LETTER M */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x74, 0x38,
+  0x78, 0x68,
+  0x64, 0x98,
+  0x66, 0x98,
+  0x63, 0x18,
+  0x60, 0x18,
+  0x60, 0x18,
+  0x60, 0x18,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_004E[ 26] = { /* code 004E, LATIN CAPITAL LETTER N */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x70, 0x60,
+  0x78, 0x60,
+  0x68, 0x60,
+  0x65, 0x60,
+  0x62, 0x60,
+  0x62, 0xA0,
+  0x60, 0xE0,
+  0x60, 0xA0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_004F[ 26] = { /* code 004F, LATIN CAPITAL LETTER O */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x1F, 0x80,
+  0x30, 0x60,
+  0x60, 0x20,
+  0x60, 0x20,
+  0x60, 0x20,
+  0x60, 0x20,
+  0x30, 0x60,
+  0x1F, 0x80,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_0050[ 26] = { /* code 0050, LATIN CAPITAL LETTER P */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x7F, 0x80,
+  0x60, 0x90,
+  0x60, 0x60,
+  0x60, 0x90,
+  0x7F, 0x80,
+  0x60, 0x00,
+  0x60, 0x00,
+  0x60, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_0051[ 26] = { /* code 0051, LATIN CAPITAL LETTER Q */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x1F, 0x80,
+  0x30, 0x60,
+  0x60, 0x20,
+  0x60, 0x20,
+  0x60, 0x20,
+  0x60, 0x20,
+  0x30, 0x60,
+  0x1F, 0xC0,
+  0x00, 0x90,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_0052[ 26] = { /* code 0052, LATIN CAPITAL LETTER R */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x7F, 0x80,
+  0x60, 0x90,
+  0x60, 0x60,
+  0x60, 0x90,
+  0x7F, 0x40,
+  0x60, 0xC0,
+  0x60, 0x60,
+  0x60, 0x34,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_0053[ 26] = { /* code 0053, LATIN CAPITAL LETTER S */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x1F, 0xC0,
+  0x30, 0x20,
+  0x60, 0x00,
+  0x3F, 0x00,
+  0x01, 0xD0,
+  0x00, 0x60,
+  0x50, 0x60,
+  0x2F, 0xC0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_0054[ 26] = { /* code 0054, LATIN CAPITAL LETTER T */
+  0x00, 0x00,
+  0x00, 0x00,
+  0xBF, 0xF4,
+  0x06, 0x00,
+  0x06, 0x00,
+  0x06, 0x00,
+  0x06, 0x00,
+  0x06, 0x00,
+  0x06, 0x00,
+  0x06, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_0055[ 26] = { /* code 0055, LATIN CAPITAL LETTER U */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x60, 0x60,
+  0x60, 0x60,
+  0x60, 0x60,
+  0x60, 0x60,
+  0x60, 0x60,
+  0x60, 0x60,
+  0x20, 0x50,
+  0x1F, 0x80,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_0056[ 26] = { /* code 0056, LATIN CAPITAL LETTER V */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x20, 0x24,
+  0x30, 0x20,
+  0x24, 0x20,
+  0x18, 0x60,
+  0x08, 0x90,
+  0x09, 0x80,
+  0x06, 0x80,
+  0x03, 0x40,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_0057[ 26] = { /* code 0057, LATIN CAPITAL LETTER W */
+  0x00, 0x00,
+  0x00, 0x00,
+  0xC0, 0x14,
+  0x90, 0x24,
+  0x97, 0x20,
+  0x57, 0x20,
+  0x69, 0x60,
+  0x28, 0xE0,
+  0x34, 0xE0,
+  0x24, 0x90,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_0058[ 26] = { /* code 0058, LATIN CAPITAL LETTER X */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x34, 0x34,
+  0x18, 0x50,
+  0x09, 0x80,
+  0x03, 0x40,
+  0x07, 0x40,
+  0x0C, 0x80,
+  0x18, 0x60,
+  0x30, 0x24,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_0059[ 26] = { /* code 0059, LATIN CAPITAL LETTER Y */
+  0x00, 0x00,
+  0x00, 0x00,
+  0xA0, 0x30,
+  0x30, 0x90,
+  0x18, 0x80,
+  0x0B, 0x40,
+  0x06, 0x00,
+  0x06, 0x00,
+  0x06, 0x00,
+  0x06, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_005A[ 26] = { /* code 005A, LATIN CAPITAL LETTER Z */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x7F, 0xF4,
+  0x00, 0x30,
+  0x00, 0xC0,
+  0x02, 0x40,
+  0x06, 0x00,
+  0x0C, 0x00,
+  0x20, 0x00,
+  0x7F, 0xF8,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_005B[ 26] = { /* code 005B, LEFT SQUARE BRACKET */
+  0x00, 0x00,
+  0x07, 0x80,
+  0x05, 0x00,
+  0x05, 0x00,
+  0x05, 0x00,
+  0x05, 0x00,
+  0x05, 0x00,
+  0x05, 0x00,
+  0x05, 0x00,
+  0x05, 0x00,
+  0x07, 0x80,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_005C[ 26] = { /* code 005C, REVERSE SOLIDUS */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x20, 0x00,
+  0x24, 0x00,
+  0x08, 0x00,
+  0x09, 0x00,
+  0x02, 0x00,
+  0x02, 0x40,
+  0x00, 0x80,
+  0x00, 0x90,
+  0x00, 0x30,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_005D[ 26] = { /* code 005D, RIGHT SQUARE BRACKET */
+  0x00, 0x00,
+  0x0F, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x0F, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_005E[ 26] = { /* code 005E, CIRCUMFLEX ACCENT */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x07, 0x00,
+  0x18, 0xC0,
+  0x60, 0x30,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_005F[ 26] = { /* code 005F, LOW LINE */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0xFF, 0xF8
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_0060[ 26] = { /* code 0060, GRAVE ACCENT */
+  0x00, 0x00,
+  0x1C, 0x00,
+  0x02, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_0061[ 26] = { /* code 0061, LATIN SMALL LETTER A */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x2F, 0xC0,
+  0x00, 0x60,
+  0x1F, 0xE0,
+  0x20, 0x60,
+  0x20, 0xA0,
+  0x2F, 0xA0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_0062[ 26] = { /* code 0062, LATIN SMALL LETTER B */
+  0x00, 0x00,
+  0x60, 0x00,
+  0x60, 0x00,
+  0x60, 0x00,
+  0x7F, 0x80,
+  0x70, 0x90,
+  0x60, 0x60,
+  0x60, 0x60,
+  0x70, 0x90,
+  0x7F, 0x80,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_0063[ 26] = { /* code 0063, LATIN SMALL LETTER C */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x0F, 0xD0,
+  0x34, 0x00,
+  0x20, 0x00,
+  0x20, 0x00,
+  0x34, 0x00,
+  0x0F, 0xD0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_0064[ 26] = { /* code 0064, LATIN SMALL LETTER D */
+  0x00, 0x00,
+  0x00, 0x60,
+  0x00, 0x60,
+  0x00, 0x60,
+  0x1F, 0xA0,
+  0x30, 0xA0,
+  0x20, 0x60,
+  0x20, 0x60,
+  0x30, 0xA0,
+  0x1F, 0xA0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_0065[ 26] = { /* code 0065, LATIN SMALL LETTER E */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x0F, 0xC0,
+  0x20, 0x60,
+  0x3F, 0xE0,
+  0x20, 0x00,
+  0x30, 0x00,
+  0x0F, 0xD0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_0066[ 26] = { /* code 0066, LATIN SMALL LETTER F */
+  0x00, 0x00,
+  0x02, 0xE0,
+  0x02, 0x00,
+  0x06, 0x00,
+  0x3F, 0xE0,
+  0x06, 0x00,
+  0x06, 0x00,
+  0x06, 0x00,
+  0x06, 0x00,
+  0x06, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_0067[ 26] = { /* code 0067, LATIN SMALL LETTER G */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x1F, 0xA0,
+  0x30, 0xA0,
+  0x20, 0x60,
+  0x20, 0x60,
+  0x30, 0xA0,
+  0x1F, 0xA0,
+  0x00, 0x60,
+  0x1F, 0xC0,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_0068[ 26] = { /* code 0068, LATIN SMALL LETTER H */
+  0x00, 0x00,
+  0x60, 0x00,
+  0x60, 0x00,
+  0x60, 0x00,
+  0x6B, 0xC0,
+  0x74, 0x60,
+  0x60, 0x60,
+  0x60, 0x60,
+  0x60, 0x60,
+  0x60, 0x60,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_0069[ 26] = { /* code 0069, LATIN SMALL LETTER I */
+  0x00, 0x00,
+  0x02, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x2F, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x3F, 0xE0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_006A[ 26] = { /* code 006A, LATIN SMALL LETTER J */
+  0x00, 0x00,
+  0x02, 0x40,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x1F, 0x40,
+  0x02, 0x40,
+  0x02, 0x40,
+  0x02, 0x40,
+  0x02, 0x40,
+  0x02, 0x40,
+  0x02, 0x00,
+  0x3E, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_006B[ 26] = { /* code 006B, LATIN SMALL LETTER K */
+  0x00, 0x00,
+  0x20, 0x00,
+  0x20, 0x00,
+  0x20, 0x00,
+  0x20, 0xD0,
+  0x23, 0x00,
+  0x3D, 0x00,
+  0x37, 0x00,
+  0x21, 0x80,
+  0x20, 0xA0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_006C[ 26] = { /* code 006C, LATIN SMALL LETTER L */
+  0x00, 0x00,
+  0x7D, 0x00,
+  0x05, 0x00,
+  0x05, 0x00,
+  0x05, 0x00,
+  0x05, 0x00,
+  0x05, 0x00,
+  0x05, 0x00,
+  0x06, 0x00,
+  0x03, 0xD0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_006D[ 26] = { /* code 006D, LATIN SMALL LETTER M */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x7E, 0xB0,
+  0x63, 0x24,
+  0x62, 0x24,
+  0x62, 0x24,
+  0x62, 0x24,
+  0x62, 0x24,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_006E[ 26] = { /* code 006E, LATIN SMALL LETTER N */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x6B, 0xC0,
+  0x74, 0x60,
+  0x60, 0x60,
+  0x60, 0x60,
+  0x60, 0x60,
+  0x60, 0x60,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_006F[ 26] = { /* code 006F, LATIN SMALL LETTER O */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x1F, 0x80,
+  0x30, 0x90,
+  0x20, 0x60,
+  0x20, 0x60,
+  0x30, 0x90,
+  0x1F, 0x80,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_0070[ 26] = { /* code 0070, LATIN SMALL LETTER P */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x7F, 0x80,
+  0x70, 0x90,
+  0x60, 0x60,
+  0x60, 0x60,
+  0x70, 0x90,
+  0x7F, 0x80,
+  0x60, 0x00,
+  0x60, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_0071[ 26] = { /* code 0071, LATIN SMALL LETTER Q */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x1F, 0xA0,
+  0x30, 0xA0,
+  0x20, 0x60,
+  0x20, 0x60,
+  0x30, 0xA0,
+  0x1F, 0xA0,
+  0x00, 0x60,
+  0x00, 0x60,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_0072[ 26] = { /* code 0072, LATIN SMALL LETTER R */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x0A, 0xF0,
+  0x0D, 0x00,
+  0x08, 0x00,
+  0x08, 0x00,
+  0x08, 0x00,
+  0x08, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_0073[ 26] = { /* code 0073, LATIN SMALL LETTER S */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x2F, 0xC0,
+  0x20, 0x00,
+  0x38, 0x00,
+  0x03, 0xC0,
+  0x00, 0xC0,
+  0x7F, 0x40,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_0074[ 26] = { /* code 0074, LATIN SMALL LETTER T */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x09, 0x00,
+  0x09, 0x00,
+  0x7F, 0xD0,
+  0x09, 0x00,
+  0x09, 0x00,
+  0x09, 0x00,
+  0x09, 0x00,
+  0x07, 0xD0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_0075[ 26] = { /* code 0075, LATIN SMALL LETTER U */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x60, 0x60,
+  0x60, 0x60,
+  0x60, 0x60,
+  0x60, 0x60,
+  0x30, 0xA0,
+  0x2F, 0xA0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_0076[ 26] = { /* code 0076, LATIN SMALL LETTER V */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x30, 0x60,
+  0x24, 0x90,
+  0x14, 0x80,
+  0x09, 0x80,
+  0x0B, 0x40,
+  0x07, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_0077[ 26] = { /* code 0077, LATIN SMALL LETTER W */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x80, 0x14,
+  0x90, 0x24,
+  0x56, 0x20,
+  0x26, 0x60,
+  0x38, 0x90,
+  0x24, 0xD0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_0078[ 26] = { /* code 0078, LATIN SMALL LETTER X */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x24, 0x30,
+  0x0C, 0x80,
+  0x03, 0x40,
+  0x07, 0x80,
+  0x0C, 0x90,
+  0x34, 0x34,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_0079[ 26] = { /* code 0079, LATIN SMALL LETTER Y */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x30, 0x60,
+  0x24, 0x80,
+  0x18, 0x80,
+  0x0E, 0x40,
+  0x07, 0x00,
+  0x06, 0x00,
+  0x09, 0x00,
+  0x2C, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_007A[ 26] = { /* code 007A, LATIN SMALL LETTER Z */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x3F, 0xE0,
+  0x00, 0xC0,
+  0x02, 0x00,
+  0x09, 0x00,
+  0x24, 0x00,
+  0x7F, 0xE0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_007B[ 26] = { /* code 007B, LEFT CURLY BRACKET */
+  0x00, 0x00,
+  0x02, 0xD0,
+  0x03, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x28, 0x00,
+  0x06, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x03, 0x00,
+  0x02, 0xD0,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_007C[ 26] = { /* code 007C, VERTICAL LINE */
+  0x00, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_007D[ 26] = { /* code 007D, RIGHT CURLY BRACKET */
+  0x00, 0x00,
+  0x2D, 0x00,
+  0x06, 0x00,
+  0x06, 0x00,
+  0x02, 0x00,
+  0x00, 0xD0,
+  0x03, 0x00,
+  0x06, 0x00,
+  0x06, 0x00,
+  0x06, 0x00,
+  0x2D, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono13_AA2_007E[ 26] = { /* code 007E, TILDE */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x3D, 0x00,
+  0x42, 0xE0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const aafontsCharInfo_t charTable_DejaVuSansMono13_AA2[95] = 
+{
+  {   7,   2, FontDejaVuSansMono13_AA2_0020 }, /* code 0020 */
+  {   7,   2, FontDejaVuSansMono13_AA2_0021 }, /* code 0021 */
+  {   7,   2, FontDejaVuSansMono13_AA2_0022 }, /* code 0022 */
+  {   7,   2, FontDejaVuSansMono13_AA2_0023 }, /* code 0023 */
+  {   7,   2, FontDejaVuSansMono13_AA2_0024 }, /* code 0024 */
+  {   7,   2, FontDejaVuSansMono13_AA2_0025 }, /* code 0025 */
+  {   7,   2, FontDejaVuSansMono13_AA2_0026 }, /* code 0026 */
+  {   7,   2, FontDejaVuSansMono13_AA2_0027 }, /* code 0027 */
+  {   7,   2, FontDejaVuSansMono13_AA2_0028 }, /* code 0028 */
+  {   7,   2, FontDejaVuSansMono13_AA2_0029 }, /* code 0029 */
+  {   7,   2, FontDejaVuSansMono13_AA2_002A }, /* code 002A */
+  {   7,   2, FontDejaVuSansMono13_AA2_002B }, /* code 002B */
+  {   7,   2, FontDejaVuSansMono13_AA2_002C }, /* code 002C */
+  {   7,   2, FontDejaVuSansMono13_AA2_002D }, /* code 002D */
+  {   7,   2, FontDejaVuSansMono13_AA2_002E }, /* code 002E */
+  {   7,   2, FontDejaVuSansMono13_AA2_002F }, /* code 002F */
+  {   7,   2, FontDejaVuSansMono13_AA2_0030 }, /* code 0030 */
+  {   7,   2, FontDejaVuSansMono13_AA2_0031 }, /* code 0031 */
+  {   7,   2, FontDejaVuSansMono13_AA2_0032 }, /* code 0032 */
+  {   7,   2, FontDejaVuSansMono13_AA2_0033 }, /* code 0033 */
+  {   7,   2, FontDejaVuSansMono13_AA2_0034 }, /* code 0034 */
+  {   7,   2, FontDejaVuSansMono13_AA2_0035 }, /* code 0035 */
+  {   7,   2, FontDejaVuSansMono13_AA2_0036 }, /* code 0036 */
+  {   7,   2, FontDejaVuSansMono13_AA2_0037 }, /* code 0037 */
+  {   7,   2, FontDejaVuSansMono13_AA2_0038 }, /* code 0038 */
+  {   7,   2, FontDejaVuSansMono13_AA2_0039 }, /* code 0039 */
+  {   7,   2, FontDejaVuSansMono13_AA2_003A }, /* code 003A */
+  {   7,   2, FontDejaVuSansMono13_AA2_003B }, /* code 003B */
+  {   7,   2, FontDejaVuSansMono13_AA2_003C }, /* code 003C */
+  {   7,   2, FontDejaVuSansMono13_AA2_003D }, /* code 003D */
+  {   7,   2, FontDejaVuSansMono13_AA2_003E }, /* code 003E */
+  {   7,   2, FontDejaVuSansMono13_AA2_003F }, /* code 003F */
+  {   7,   2, FontDejaVuSansMono13_AA2_0040 }, /* code 0040 */
+  {   7,   2, FontDejaVuSansMono13_AA2_0041 }, /* code 0041 */
+  {   7,   2, FontDejaVuSansMono13_AA2_0042 }, /* code 0042 */
+  {   7,   2, FontDejaVuSansMono13_AA2_0043 }, /* code 0043 */
+  {   7,   2, FontDejaVuSansMono13_AA2_0044 }, /* code 0044 */
+  {   7,   2, FontDejaVuSansMono13_AA2_0045 }, /* code 0045 */
+  {   7,   2, FontDejaVuSansMono13_AA2_0046 }, /* code 0046 */
+  {   7,   2, FontDejaVuSansMono13_AA2_0047 }, /* code 0047 */
+  {   7,   2, FontDejaVuSansMono13_AA2_0048 }, /* code 0048 */
+  {   7,   2, FontDejaVuSansMono13_AA2_0049 }, /* code 0049 */
+  {   7,   2, FontDejaVuSansMono13_AA2_004A }, /* code 004A */
+  {   7,   2, FontDejaVuSansMono13_AA2_004B }, /* code 004B */
+  {   7,   2, FontDejaVuSansMono13_AA2_004C }, /* code 004C */
+  {   7,   2, FontDejaVuSansMono13_AA2_004D }, /* code 004D */
+  {   7,   2, FontDejaVuSansMono13_AA2_004E }, /* code 004E */
+  {   7,   2, FontDejaVuSansMono13_AA2_004F }, /* code 004F */
+  {   7,   2, FontDejaVuSansMono13_AA2_0050 }, /* code 0050 */
+  {   7,   2, FontDejaVuSansMono13_AA2_0051 }, /* code 0051 */
+  {   7,   2, FontDejaVuSansMono13_AA2_0052 }, /* code 0052 */
+  {   7,   2, FontDejaVuSansMono13_AA2_0053 }, /* code 0053 */
+  {   7,   2, FontDejaVuSansMono13_AA2_0054 }, /* code 0054 */
+  {   7,   2, FontDejaVuSansMono13_AA2_0055 }, /* code 0055 */
+  {   7,   2, FontDejaVuSansMono13_AA2_0056 }, /* code 0056 */
+  {   7,   2, FontDejaVuSansMono13_AA2_0057 }, /* code 0057 */
+  {   7,   2, FontDejaVuSansMono13_AA2_0058 }, /* code 0058 */
+  {   7,   2, FontDejaVuSansMono13_AA2_0059 }, /* code 0059 */
+  {   7,   2, FontDejaVuSansMono13_AA2_005A }, /* code 005A */
+  {   7,   2, FontDejaVuSansMono13_AA2_005B }, /* code 005B */
+  {   7,   2, FontDejaVuSansMono13_AA2_005C }, /* code 005C */
+  {   7,   2, FontDejaVuSansMono13_AA2_005D }, /* code 005D */
+  {   7,   2, FontDejaVuSansMono13_AA2_005E }, /* code 005E */
+  {   7,   2, FontDejaVuSansMono13_AA2_005F }, /* code 005F */
+  {   7,   2, FontDejaVuSansMono13_AA2_0060 }, /* code 0060 */
+  {   7,   2, FontDejaVuSansMono13_AA2_0061 }, /* code 0061 */
+  {   7,   2, FontDejaVuSansMono13_AA2_0062 }, /* code 0062 */
+  {   7,   2, FontDejaVuSansMono13_AA2_0063 }, /* code 0063 */
+  {   7,   2, FontDejaVuSansMono13_AA2_0064 }, /* code 0064 */
+  {   7,   2, FontDejaVuSansMono13_AA2_0065 }, /* code 0065 */
+  {   7,   2, FontDejaVuSansMono13_AA2_0066 }, /* code 0066 */
+  {   7,   2, FontDejaVuSansMono13_AA2_0067 }, /* code 0067 */
+  {   7,   2, FontDejaVuSansMono13_AA2_0068 }, /* code 0068 */
+  {   7,   2, FontDejaVuSansMono13_AA2_0069 }, /* code 0069 */
+  {   7,   2, FontDejaVuSansMono13_AA2_006A }, /* code 006A */
+  {   7,   2, FontDejaVuSansMono13_AA2_006B }, /* code 006B */
+  {   7,   2, FontDejaVuSansMono13_AA2_006C }, /* code 006C */
+  {   7,   2, FontDejaVuSansMono13_AA2_006D }, /* code 006D */
+  {   7,   2, FontDejaVuSansMono13_AA2_006E }, /* code 006E */
+  {   7,   2, FontDejaVuSansMono13_AA2_006F }, /* code 006F */
+  {   7,   2, FontDejaVuSansMono13_AA2_0070 }, /* code 0070 */
+  {   7,   2, FontDejaVuSansMono13_AA2_0071 }, /* code 0071 */
+  {   7,   2, FontDejaVuSansMono13_AA2_0072 }, /* code 0072 */
+  {   7,   2, FontDejaVuSansMono13_AA2_0073 }, /* code 0073 */
+  {   7,   2, FontDejaVuSansMono13_AA2_0074 }, /* code 0074 */
+  {   7,   2, FontDejaVuSansMono13_AA2_0075 }, /* code 0075 */
+  {   7,   2, FontDejaVuSansMono13_AA2_0076 }, /* code 0076 */
+  {   7,   2, FontDejaVuSansMono13_AA2_0077 }, /* code 0077 */
+  {   7,   2, FontDejaVuSansMono13_AA2_0078 }, /* code 0078 */
+  {   7,   2, FontDejaVuSansMono13_AA2_0079 }, /* code 0079 */
+  {   7,   2, FontDejaVuSansMono13_AA2_007A }, /* code 007A */
+  {   7,   2, FontDejaVuSansMono13_AA2_007B }, /* code 007B */
+  {   7,   2, FontDejaVuSansMono13_AA2_007C }, /* code 007C */
+  {   7,   2, FontDejaVuSansMono13_AA2_007D }, /* code 007D */
+  {   7,   2, FontDejaVuSansMono13_AA2_007E }  /* code 007E */
+};
+
+aafontsFont_t DejaVuSansMono13_AA2 = 
+{
+  AAFONTS_FONTTYPE_AA2,                         /* Font type (anti-aliasing level) */
+  13,                                           /* Font height in pixels */
+  7,                                            /* Width to insert for unknown characters */
+  8,                                            /* Height of upper-case characters */
+  6,                                            /* Height of lower-case characters */
+  10,                                           /* Font baseline */
+  0x0020,                                       /* Unicode address of first character */
+  0x007E,                                       /* Unicode address of last character */
+  &charTable_DejaVuSansMono13_AA2[0]       /* Font char data */
+};
diff --git a/drivers/displays/tft/aafonts/aa2/DejaVuSansMono13_AA2.h b/drivers/displays/tft/aafonts/aa2/DejaVuSansMono13_AA2.h
new file mode 100644 (file)
index 0000000..1ae669a
--- /dev/null
@@ -0,0 +1,44 @@
+/**************************************************************************/
+/*! 
+    @file     DejaVuSansMono13_AA2.h
+    @author   K. Townsend (microBuilder.eu)
+
+    @section LICENSE
+
+    Software License Agreement (BSD License)
+
+    Copyright (c) 2012, microBuilder SARL
+    All rights reserved.
+
+    Redistribution and use in source and binary forms, with or without
+    modification, are permitted provided that the following conditions are met:
+    1. Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+    2. Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in the
+    documentation and/or other materials provided with the distribution.
+    3. Neither the name of the copyright holders nor the
+    names of its contributors may be used to endorse or promote products
+    derived from this software without specific prior written permission.
+
+    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
+    EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+    WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+    DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY
+    DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+    (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+    LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+    ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+    (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+    SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+/**************************************************************************/
+#ifndef __DejaVuSansMono13_AA2_H__
+#define __DejaVuSansMono13_AA2_H__
+
+#include "projectconfig.h"
+#include "drivers/displays/tft/aafonts.h"
+
+extern aafontsFont_t DejaVuSansMono13_AA2;
+
+#endif
diff --git a/drivers/displays/tft/aafonts/aa2/DejaVuSansMono14_AA2.c b/drivers/displays/tft/aafonts/aa2/DejaVuSansMono14_AA2.c
new file mode 100644 (file)
index 0000000..c650ebe
--- /dev/null
@@ -0,0 +1,1764 @@
+/**************************************************************************/
+/*! 
+    @file     DejaVuSansMono14_AA2.c
+    @author   K. Townsend (microBuilder.eu)
+
+    @section LICENSE
+
+    Software License Agreement (BSD License)
+
+    Copyright (c) 2012, microBuilder SARL
+    All rights reserved.
+
+    Redistribution and use in source and binary forms, with or without
+    modification, are permitted provided that the following conditions are met:
+    1. Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+    2. Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in the
+    documentation and/or other materials provided with the distribution.
+    3. Neither the name of the copyright holders nor the
+    names of its contributors may be used to endorse or promote products
+    derived from this software without specific prior written permission.
+
+    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
+    EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+    WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+    DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY
+    DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+    (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+    LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+    ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+    (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+    SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+/**************************************************************************/
+#include "DejaVuSansMono14_AA2.h"
+
+/* Start of unicode area <Basic Latin> */
+const uint8_t FontDejaVuSansMono14_AA2_0020[ 28] = { /* code 0020, SPACE */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_0021[ 28] = { /* code 0021, EXCLAMATION MARK */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x00, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_0022[ 28] = { /* code 0022, QUOTATION MARK */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x08, 0x90,
+  0x08, 0x90,
+  0x08, 0x90,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_0023[ 28] = { /* code 0023, NUMBER SIGN */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x02, 0x20,
+  0x05, 0x20,
+  0x7F, 0xFC,
+  0x08, 0x50,
+  0x08, 0x80,
+  0xFF, 0xF4,
+  0x25, 0x80,
+  0x21, 0x40,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_0024[ 28] = { /* code 0024, DOLLAR SIGN */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x01, 0x00,
+  0x0F, 0xE0,
+  0x25, 0x14,
+  0x21, 0x00,
+  0x1E, 0x00,
+  0x02, 0xF0,
+  0x01, 0x14,
+  0x11, 0x24,
+  0x0F, 0xE0,
+  0x01, 0x00,
+  0x01, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_0025[ 28] = { /* code 0025, PERCENT SIGN */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x3D, 0x00,
+  0x92, 0x00,
+  0x92, 0x00,
+  0x3D, 0x38,
+  0x03, 0x80,
+  0x38, 0xF4,
+  0x02, 0x4C,
+  0x02, 0x4C,
+  0x00, 0xF4,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_0026[ 28] = { /* code 0026, AMPERSAND */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x0B, 0xD0,
+  0x18, 0x00,
+  0x18, 0x00,
+  0x0C, 0x00,
+  0x2E, 0x00,
+  0x62, 0x88,
+  0x50, 0x98,
+  0x70, 0x30,
+  0x1F, 0xDC,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_0027[ 28] = { /* code 0027, APOSTROPHE */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_0028[ 28] = { /* code 0028, LEFT PARENTHESIS */
+  0x00, 0x00,
+  0x00, 0xC0,
+  0x02, 0x40,
+  0x02, 0x00,
+  0x06, 0x00,
+  0x06, 0x00,
+  0x05, 0x00,
+  0x06, 0x00,
+  0x06, 0x00,
+  0x02, 0x00,
+  0x02, 0x40,
+  0x00, 0xC0,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_0029[ 28] = { /* code 0029, RIGHT PARENTHESIS */
+  0x00, 0x00,
+  0x09, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x02, 0x40,
+  0x01, 0x80,
+  0x01, 0x80,
+  0x01, 0x80,
+  0x02, 0x40,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x09, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_002A[ 28] = { /* code 002A, ASTERISK */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x01, 0x00,
+  0x21, 0x20,
+  0x0F, 0xD0,
+  0x0B, 0xC0,
+  0x25, 0x30,
+  0x01, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_002B[ 28] = { /* code 002B, PLUS SIGN */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x7F, 0xF8,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_002C[ 28] = { /* code 002C, COMMA */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x03, 0x40,
+  0x07, 0x00,
+  0x09, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_002D[ 28] = { /* code 002D, HYPHEN-MINUS */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x0B, 0xC0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_002E[ 28] = { /* code 002E, FULL STOP */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x03, 0x40,
+  0x03, 0x40,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_002F[ 28] = { /* code 002F, SOLIDUS */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x30,
+  0x00, 0x90,
+  0x00, 0x80,
+  0x01, 0x40,
+  0x03, 0x00,
+  0x06, 0x00,
+  0x08, 0x00,
+  0x18, 0x00,
+  0x24, 0x00,
+  0x20, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_0030[ 28] = { /* code 0030, DIGIT ZERO */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x0B, 0xD0,
+  0x24, 0x30,
+  0x20, 0x14,
+  0x20, 0x18,
+  0x63, 0x58,
+  0x20, 0x18,
+  0x20, 0x14,
+  0x24, 0x30,
+  0x0B, 0xD0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_0031[ 28] = { /* code 0031, DIGIT ONE */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x1F, 0x40,
+  0x01, 0x40,
+  0x01, 0x40,
+  0x01, 0x40,
+  0x01, 0x40,
+  0x01, 0x40,
+  0x01, 0x40,
+  0x01, 0x40,
+  0x1F, 0xF4,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_0032[ 28] = { /* code 0032, DIGIT TWO */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x1F, 0xC0,
+  0x20, 0x60,
+  0x00, 0x20,
+  0x00, 0x60,
+  0x00, 0xD0,
+  0x02, 0x40,
+  0x09, 0x00,
+  0x24, 0x00,
+  0x7F, 0xF0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_0033[ 28] = { /* code 0033, DIGIT THREE */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x0F, 0xD0,
+  0x20, 0x24,
+  0x00, 0x14,
+  0x00, 0x34,
+  0x0B, 0xC0,
+  0x00, 0x34,
+  0x00, 0x18,
+  0x50, 0x24,
+  0x1F, 0xE0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_0034[ 28] = { /* code 0034, DIGIT FOUR */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0xD0,
+  0x02, 0x90,
+  0x06, 0x50,
+  0x08, 0x50,
+  0x14, 0x50,
+  0x20, 0x50,
+  0x7F, 0xF8,
+  0x00, 0x50,
+  0x00, 0x50,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_0035[ 28] = { /* code 0035, DIGIT FIVE */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x2F, 0xF0,
+  0x20, 0x00,
+  0x20, 0x00,
+  0x2F, 0xD0,
+  0x00, 0x34,
+  0x00, 0x18,
+  0x00, 0x18,
+  0x50, 0x34,
+  0x2F, 0xD0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_0036[ 28] = { /* code 0036, DIGIT SIX */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x0B, 0xE0,
+  0x18, 0x00,
+  0x20, 0x00,
+  0x2B, 0xE0,
+  0x74, 0x24,
+  0x20, 0x18,
+  0x20, 0x18,
+  0x24, 0x24,
+  0x0F, 0xE0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_0037[ 28] = { /* code 0037, DIGIT SEVEN */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x7F, 0xF8,
+  0x00, 0x20,
+  0x00, 0x60,
+  0x00, 0x90,
+  0x00, 0xC0,
+  0x02, 0x40,
+  0x03, 0x00,
+  0x06, 0x00,
+  0x0C, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_0038[ 28] = { /* code 0038, DIGIT EIGHT */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x0F, 0xE0,
+  0x24, 0x24,
+  0x20, 0x14,
+  0x24, 0x24,
+  0x0B, 0xC0,
+  0x34, 0x24,
+  0x20, 0x18,
+  0x30, 0x28,
+  0x1F, 0xE0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_0039[ 28] = { /* code 0039, DIGIT NINE */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x0F, 0xD0,
+  0x34, 0x20,
+  0x20, 0x14,
+  0x20, 0x18,
+  0x34, 0x28,
+  0x0F, 0xD8,
+  0x00, 0x14,
+  0x10, 0x70,
+  0x0F, 0xC0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_003A[ 28] = { /* code 003A, COLON */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x03, 0x40,
+  0x03, 0x40,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x03, 0x40,
+  0x03, 0x40,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_003B[ 28] = { /* code 003B, SEMICOLON */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x03, 0x40,
+  0x03, 0x40,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x03, 0x40,
+  0x07, 0x00,
+  0x09, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_003C[ 28] = { /* code 003C, LESS-THAN SIGN */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x18,
+  0x03, 0xE0,
+  0x7C, 0x00,
+  0x7C, 0x00,
+  0x03, 0xE0,
+  0x00, 0x18,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_003D[ 28] = { /* code 003D, EQUALS SIGN */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x7F, 0xF8,
+  0x00, 0x00,
+  0x7F, 0xF8,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_003E[ 28] = { /* code 003E, GREATER-THAN SIGN */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x60, 0x00,
+  0x1F, 0x00,
+  0x00, 0xB8,
+  0x00, 0xB8,
+  0x1F, 0x00,
+  0x60, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_003F[ 28] = { /* code 003F, QUESTION MARK */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x0F, 0xD0,
+  0x10, 0x30,
+  0x00, 0x30,
+  0x00, 0xD0,
+  0x03, 0x00,
+  0x02, 0x00,
+  0x00, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_0040[ 28] = { /* code 0040, COMMERCIAL AT */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x07, 0xF0,
+  0x18, 0x28,
+  0x30, 0x0C,
+  0x61, 0xFC,
+  0x53, 0x0C,
+  0x53, 0x08,
+  0x61, 0xFC,
+  0x30, 0x00,
+  0x1C, 0x00,
+  0x07, 0xF0,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_0041[ 28] = { /* code 0041, LATIN CAPITAL LETTER A */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x03, 0x80,
+  0x07, 0xC0,
+  0x05, 0x90,
+  0x09, 0x60,
+  0x0C, 0x30,
+  0x18, 0x24,
+  0x2F, 0xF4,
+  0x30, 0x18,
+  0x60, 0x0C,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_0042[ 28] = { /* code 0042, LATIN CAPITAL LETTER B */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x7F, 0xD0,
+  0x60, 0x30,
+  0x60, 0x24,
+  0x60, 0x30,
+  0x7F, 0xC0,
+  0x60, 0x34,
+  0x60, 0x18,
+  0x60, 0x24,
+  0x7F, 0xE0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_0043[ 28] = { /* code 0043, LATIN CAPITAL LETTER C */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x07, 0xF0,
+  0x18, 0x04,
+  0x20, 0x00,
+  0x20, 0x00,
+  0x60, 0x00,
+  0x60, 0x00,
+  0x20, 0x00,
+  0x18, 0x04,
+  0x07, 0xF0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_0044[ 28] = { /* code 0044, LATIN CAPITAL LETTER D */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x7F, 0x80,
+  0x60, 0x70,
+  0x60, 0x24,
+  0x60, 0x18,
+  0x60, 0x18,
+  0x60, 0x18,
+  0x60, 0x24,
+  0x60, 0x70,
+  0x7F, 0x80,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_0045[ 28] = { /* code 0045, LATIN CAPITAL LETTER E */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x7F, 0xE0,
+  0x60, 0x00,
+  0x60, 0x00,
+  0x60, 0x00,
+  0x7F, 0xE0,
+  0x60, 0x00,
+  0x60, 0x00,
+  0x60, 0x00,
+  0x7F, 0xF0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_0046[ 28] = { /* code 0046, LATIN CAPITAL LETTER F */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x2F, 0xF4,
+  0x24, 0x00,
+  0x24, 0x00,
+  0x24, 0x00,
+  0x2F, 0xF0,
+  0x24, 0x00,
+  0x24, 0x00,
+  0x24, 0x00,
+  0x24, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_0047[ 28] = { /* code 0047, LATIN CAPITAL LETTER G */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x0B, 0xE0,
+  0x28, 0x00,
+  0x20, 0x00,
+  0x60, 0x00,
+  0x60, 0xB8,
+  0x60, 0x18,
+  0x20, 0x18,
+  0x28, 0x18,
+  0x0B, 0xF0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_0048[ 28] = { /* code 0048, LATIN CAPITAL LETTER H */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x60, 0x18,
+  0x60, 0x18,
+  0x60, 0x18,
+  0x60, 0x18,
+  0x7F, 0xF8,
+  0x60, 0x18,
+  0x60, 0x18,
+  0x60, 0x18,
+  0x60, 0x18,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_0049[ 28] = { /* code 0049, LATIN CAPITAL LETTER I */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x2F, 0xE0,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x2F, 0xE0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_004A[ 28] = { /* code 004A, LATIN CAPITAL LETTER J */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x0B, 0xE0,
+  0x00, 0x60,
+  0x00, 0x60,
+  0x00, 0x60,
+  0x00, 0x60,
+  0x00, 0x60,
+  0x00, 0x60,
+  0x50, 0x90,
+  0x2F, 0x80,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_004B[ 28] = { /* code 004B, LATIN CAPITAL LETTER K */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x60, 0x38,
+  0x60, 0xD0,
+  0x62, 0x40,
+  0x69, 0x00,
+  0x7F, 0x00,
+  0x62, 0x80,
+  0x60, 0xD0,
+  0x60, 0x70,
+  0x60, 0x28,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_004C[ 28] = { /* code 004C, LATIN CAPITAL LETTER L */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x60, 0x00,
+  0x60, 0x00,
+  0x60, 0x00,
+  0x60, 0x00,
+  0x60, 0x00,
+  0x60, 0x00,
+  0x60, 0x00,
+  0x60, 0x00,
+  0x7F, 0xF8,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_004D[ 28] = { /* code 004D, LATIN CAPITAL LETTER M */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x74, 0x38,
+  0x78, 0x78,
+  0x78, 0x98,
+  0x65, 0x98,
+  0x63, 0x58,
+  0x62, 0x58,
+  0x60, 0x18,
+  0x60, 0x18,
+  0x60, 0x18,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_004E[ 28] = { /* code 004E, LATIN CAPITAL LETTER N */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x74, 0x18,
+  0x78, 0x18,
+  0x7D, 0x18,
+  0x66, 0x18,
+  0x62, 0x18,
+  0x61, 0x98,
+  0x60, 0xD8,
+  0x60, 0x78,
+  0x60, 0x38,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_004F[ 28] = { /* code 004F, LATIN CAPITAL LETTER O */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x0F, 0xD0,
+  0x24, 0x30,
+  0x30, 0x14,
+  0x60, 0x18,
+  0x60, 0x18,
+  0x60, 0x18,
+  0x30, 0x14,
+  0x24, 0x30,
+  0x0F, 0xD0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_0050[ 28] = { /* code 0050, LATIN CAPITAL LETTER P */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x7F, 0xE0,
+  0x60, 0x24,
+  0x60, 0x18,
+  0x60, 0x24,
+  0x7F, 0xE0,
+  0x60, 0x00,
+  0x60, 0x00,
+  0x60, 0x00,
+  0x60, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_0051[ 28] = { /* code 0051, LATIN CAPITAL LETTER Q */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x0F, 0xD0,
+  0x24, 0x30,
+  0x30, 0x14,
+  0x60, 0x18,
+  0x60, 0x18,
+  0x60, 0x18,
+  0x30, 0x14,
+  0x24, 0x30,
+  0x0F, 0xD0,
+  0x00, 0xA0,
+  0x00, 0x20,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_0052[ 28] = { /* code 0052, LATIN CAPITAL LETTER R */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x7F, 0xE0,
+  0x60, 0x24,
+  0x60, 0x18,
+  0x60, 0x24,
+  0x7F, 0xC0,
+  0x60, 0x70,
+  0x60, 0x24,
+  0x60, 0x1C,
+  0x60, 0x08,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_0053[ 28] = { /* code 0053, LATIN CAPITAL LETTER S */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x0F, 0xE0,
+  0x30, 0x08,
+  0x60, 0x00,
+  0x34, 0x00,
+  0x0F, 0xE0,
+  0x00, 0x24,
+  0x00, 0x18,
+  0x20, 0x24,
+  0x1F, 0xE0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_0054[ 28] = { /* code 0054, LATIN CAPITAL LETTER T */
+  0x00, 0x00,
+  0x00, 0x00,
+  0xBF, 0xF8,
+  0x03, 0x00,
+  0x03, 0x00,
+  0x03, 0x00,
+  0x03, 0x00,
+  0x03, 0x00,
+  0x03, 0x00,
+  0x03, 0x00,
+  0x03, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_0055[ 28] = { /* code 0055, LATIN CAPITAL LETTER U */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x60, 0x18,
+  0x60, 0x18,
+  0x60, 0x18,
+  0x60, 0x18,
+  0x60, 0x18,
+  0x60, 0x18,
+  0x60, 0x18,
+  0x30, 0x24,
+  0x0F, 0xE0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_0056[ 28] = { /* code 0056, LATIN CAPITAL LETTER V */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x30, 0x24,
+  0x30, 0x24,
+  0x24, 0x30,
+  0x18, 0x60,
+  0x0C, 0x50,
+  0x08, 0x90,
+  0x09, 0x80,
+  0x07, 0x80,
+  0x03, 0x40,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_0057[ 28] = { /* code 0057, LATIN CAPITAL LETTER W */
+  0x00, 0x00,
+  0x00, 0x00,
+  0xC0, 0x0C,
+  0x90, 0x08,
+  0x93, 0x48,
+  0x57, 0x58,
+  0x65, 0x98,
+  0x28, 0x98,
+  0x28, 0x64,
+  0x28, 0x70,
+  0x24, 0x70,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_0058[ 28] = { /* code 0058, LATIN CAPITAL LETTER X */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x34, 0x0C,
+  0x0C, 0x24,
+  0x0A, 0x20,
+  0x03, 0xD0,
+  0x02, 0xC0,
+  0x06, 0x90,
+  0x09, 0x30,
+  0x18, 0x18,
+  0x34, 0x08,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_0059[ 28] = { /* code 0059, LATIN CAPITAL LETTER Y */
+  0x00, 0x00,
+  0x00, 0x00,
+  0xA0, 0x28,
+  0x34, 0x30,
+  0x18, 0x90,
+  0x0A, 0x80,
+  0x07, 0x40,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_005A[ 28] = { /* code 005A, LATIN CAPITAL LETTER Z */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x3F, 0xF4,
+  0x00, 0x30,
+  0x00, 0x90,
+  0x01, 0x80,
+  0x03, 0x00,
+  0x09, 0x00,
+  0x18, 0x00,
+  0x34, 0x00,
+  0x7F, 0xF8,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_005B[ 28] = { /* code 005B, LEFT SQUARE BRACKET */
+  0x00, 0x00,
+  0x07, 0xD0,
+  0x06, 0x00,
+  0x06, 0x00,
+  0x06, 0x00,
+  0x06, 0x00,
+  0x06, 0x00,
+  0x06, 0x00,
+  0x06, 0x00,
+  0x06, 0x00,
+  0x06, 0x00,
+  0x07, 0xD0,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_005C[ 28] = { /* code 005C, REVERSE SOLIDUS */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x20, 0x00,
+  0x24, 0x00,
+  0x18, 0x00,
+  0x08, 0x00,
+  0x06, 0x00,
+  0x03, 0x00,
+  0x01, 0x40,
+  0x00, 0x80,
+  0x00, 0x90,
+  0x00, 0x30,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_005D[ 28] = { /* code 005D, RIGHT SQUARE BRACKET */
+  0x00, 0x00,
+  0x0F, 0x40,
+  0x01, 0x40,
+  0x01, 0x40,
+  0x01, 0x40,
+  0x01, 0x40,
+  0x01, 0x40,
+  0x01, 0x40,
+  0x01, 0x40,
+  0x01, 0x40,
+  0x01, 0x40,
+  0x0F, 0x40,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_005E[ 28] = { /* code 005E, CIRCUMFLEX ACCENT */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x07, 0x80,
+  0x0C, 0x90,
+  0x70, 0x28,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_005F[ 28] = { /* code 005F, LOW LINE */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0xFF, 0xFC
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_0060[ 28] = { /* code 0060, GRAVE ACCENT */
+  0x00, 0x00,
+  0x0C, 0x00,
+  0x03, 0x40,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_0061[ 28] = { /* code 0061, LATIN SMALL LETTER A */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x2F, 0x80,
+  0x00, 0x60,
+  0x00, 0x60,
+  0x1F, 0xE0,
+  0x30, 0x60,
+  0x30, 0xA0,
+  0x2F, 0xA0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_0062[ 28] = { /* code 0062, LATIN SMALL LETTER B */
+  0x00, 0x00,
+  0x20, 0x00,
+  0x20, 0x00,
+  0x20, 0x00,
+  0x2B, 0x80,
+  0x34, 0x90,
+  0x30, 0x60,
+  0x20, 0x60,
+  0x30, 0x60,
+  0x34, 0x90,
+  0x2B, 0x80,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_0063[ 28] = { /* code 0063, LATIN SMALL LETTER C */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x0B, 0xD0,
+  0x24, 0x10,
+  0x30, 0x00,
+  0x20, 0x00,
+  0x30, 0x00,
+  0x24, 0x10,
+  0x0B, 0xD0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_0064[ 28] = { /* code 0064, LATIN SMALL LETTER D */
+  0x00, 0x00,
+  0x00, 0x60,
+  0x00, 0x60,
+  0x00, 0x60,
+  0x0F, 0xA0,
+  0x24, 0xA0,
+  0x30, 0x60,
+  0x20, 0x60,
+  0x30, 0x60,
+  0x24, 0xA0,
+  0x0F, 0xA0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_0065[ 28] = { /* code 0065, LATIN SMALL LETTER E */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x0B, 0xD0,
+  0x24, 0x24,
+  0x30, 0x14,
+  0x3F, 0xF8,
+  0x20, 0x00,
+  0x24, 0x14,
+  0x0B, 0xE0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_0066[ 28] = { /* code 0066, LATIN SMALL LETTER F */
+  0x00, 0x00,
+  0x01, 0xF0,
+  0x02, 0x00,
+  0x03, 0x00,
+  0x2F, 0xF0,
+  0x03, 0x00,
+  0x03, 0x00,
+  0x03, 0x00,
+  0x03, 0x00,
+  0x03, 0x00,
+  0x03, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_0067[ 28] = { /* code 0067, LATIN SMALL LETTER G */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x0F, 0xA0,
+  0x24, 0xA0,
+  0x30, 0x60,
+  0x20, 0x60,
+  0x30, 0x60,
+  0x24, 0xA0,
+  0x0F, 0xA0,
+  0x00, 0x60,
+  0x10, 0x90,
+  0x0B, 0x80
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_0068[ 28] = { /* code 0068, LATIN SMALL LETTER H */
+  0x00, 0x00,
+  0x20, 0x00,
+  0x20, 0x00,
+  0x20, 0x00,
+  0x2B, 0xC0,
+  0x34, 0x60,
+  0x30, 0x60,
+  0x20, 0x60,
+  0x20, 0x60,
+  0x20, 0x60,
+  0x20, 0x60,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_0069[ 28] = { /* code 0069, LATIN SMALL LETTER I */
+  0x00, 0x00,
+  0x02, 0x40,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x1F, 0x40,
+  0x02, 0x40,
+  0x02, 0x40,
+  0x02, 0x40,
+  0x02, 0x40,
+  0x02, 0x40,
+  0x3F, 0xF4,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_006A[ 28] = { /* code 006A, LATIN SMALL LETTER J */
+  0x00, 0x00,
+  0x01, 0x40,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x1F, 0x40,
+  0x01, 0x40,
+  0x01, 0x40,
+  0x01, 0x40,
+  0x01, 0x40,
+  0x01, 0x40,
+  0x01, 0x40,
+  0x01, 0x40,
+  0x02, 0x40,
+  0x3E, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_006B[ 28] = { /* code 006B, LATIN SMALL LETTER K */
+  0x00, 0x00,
+  0x20, 0x00,
+  0x20, 0x00,
+  0x20, 0x00,
+  0x20, 0xA0,
+  0x22, 0x40,
+  0x2D, 0x00,
+  0x3F, 0x00,
+  0x22, 0x80,
+  0x20, 0xD0,
+  0x20, 0x74,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_006C[ 28] = { /* code 006C, LATIN SMALL LETTER L */
+  0x00, 0x00,
+  0x7E, 0x00,
+  0x06, 0x00,
+  0x06, 0x00,
+  0x06, 0x00,
+  0x06, 0x00,
+  0x06, 0x00,
+  0x06, 0x00,
+  0x06, 0x00,
+  0x03, 0x00,
+  0x02, 0xF0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_006D[ 28] = { /* code 006D, LATIN SMALL LETTER M */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0xFE, 0xD0,
+  0xC9, 0x60,
+  0x89, 0x20,
+  0x89, 0x20,
+  0x89, 0x20,
+  0x89, 0x20,
+  0x89, 0x20,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_006E[ 28] = { /* code 006E, LATIN SMALL LETTER N */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x2B, 0xC0,
+  0x34, 0x60,
+  0x30, 0x60,
+  0x20, 0x60,
+  0x20, 0x60,
+  0x20, 0x60,
+  0x20, 0x60,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_006F[ 28] = { /* code 006F, LATIN SMALL LETTER O */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x0F, 0x80,
+  0x24, 0x90,
+  0x30, 0x60,
+  0x20, 0x60,
+  0x30, 0x60,
+  0x24, 0x90,
+  0x0F, 0x80,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_0070[ 28] = { /* code 0070, LATIN SMALL LETTER P */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x2B, 0x80,
+  0x34, 0x90,
+  0x30, 0x60,
+  0x20, 0x60,
+  0x30, 0x60,
+  0x34, 0x90,
+  0x2B, 0x80,
+  0x20, 0x00,
+  0x20, 0x00,
+  0x20, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_0071[ 28] = { /* code 0071, LATIN SMALL LETTER Q */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x0F, 0xA0,
+  0x24, 0xA0,
+  0x30, 0x60,
+  0x20, 0x60,
+  0x30, 0x60,
+  0x24, 0xA0,
+  0x0F, 0xA0,
+  0x00, 0x60,
+  0x00, 0x60,
+  0x00, 0x60
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_0072[ 28] = { /* code 0072, LATIN SMALL LETTER R */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x09, 0xF8,
+  0x0A, 0x00,
+  0x09, 0x00,
+  0x08, 0x00,
+  0x08, 0x00,
+  0x08, 0x00,
+  0x08, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_0073[ 28] = { /* code 0073, LATIN SMALL LETTER S */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x1F, 0xC0,
+  0x30, 0x10,
+  0x30, 0x00,
+  0x0F, 0xC0,
+  0x00, 0x60,
+  0x10, 0x60,
+  0x1F, 0xC0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_0074[ 28] = { /* code 0074, LATIN SMALL LETTER T */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x05, 0x00,
+  0x05, 0x00,
+  0x7F, 0xF0,
+  0x05, 0x00,
+  0x05, 0x00,
+  0x05, 0x00,
+  0x05, 0x00,
+  0x06, 0x00,
+  0x03, 0xF0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_0075[ 28] = { /* code 0075, LATIN SMALL LETTER U */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x20, 0x60,
+  0x20, 0x60,
+  0x20, 0x60,
+  0x20, 0x60,
+  0x20, 0x60,
+  0x30, 0xA0,
+  0x1F, 0xA0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_0076[ 28] = { /* code 0076, LATIN SMALL LETTER V */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x30, 0x18,
+  0x24, 0x24,
+  0x18, 0x20,
+  0x08, 0x60,
+  0x09, 0x90,
+  0x06, 0x80,
+  0x03, 0x80,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_0077[ 28] = { /* code 0077, LATIN SMALL LETTER W */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x80, 0x0C,
+  0x90, 0x0C,
+  0x53, 0x18,
+  0x22, 0x54,
+  0x25, 0x64,
+  0x2C, 0xB0,
+  0x18, 0x60,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_0078[ 28] = { /* code 0078, LATIN SMALL LETTER X */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x28, 0x28,
+  0x09, 0x60,
+  0x03, 0xC0,
+  0x02, 0x80,
+  0x06, 0x90,
+  0x0C, 0x30,
+  0x34, 0x1C,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_0079[ 28] = { /* code 0079, LATIN SMALL LETTER Y */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x30, 0x18,
+  0x24, 0x24,
+  0x18, 0x20,
+  0x0C, 0x60,
+  0x05, 0x90,
+  0x03, 0xC0,
+  0x02, 0x80,
+  0x02, 0x40,
+  0x03, 0x00,
+  0x2D, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_007A[ 28] = { /* code 007A, LATIN SMALL LETTER Z */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x3F, 0xE0,
+  0x00, 0x90,
+  0x01, 0x80,
+  0x07, 0x00,
+  0x0C, 0x00,
+  0x24, 0x00,
+  0x3F, 0xE0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_007B[ 28] = { /* code 007B, LEFT CURLY BRACKET */
+  0x00, 0x00,
+  0x01, 0xF0,
+  0x02, 0x40,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x03, 0x00,
+  0x2C, 0x00,
+  0x03, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x02, 0x40,
+  0x01, 0xF0,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_007C[ 28] = { /* code 007C, VERTICAL LINE */
+  0x00, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x02, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_007D[ 28] = { /* code 007D, RIGHT CURLY BRACKET */
+  0x00, 0x00,
+  0x2E, 0x00,
+  0x02, 0x00,
+  0x03, 0x00,
+  0x03, 0x00,
+  0x02, 0x40,
+  0x00, 0xB0,
+  0x02, 0x40,
+  0x03, 0x00,
+  0x03, 0x00,
+  0x02, 0x00,
+  0x2E, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const uint8_t FontDejaVuSansMono14_AA2_007E[ 28] = { /* code 007E, TILDE */
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x3E, 0x04,
+  0x41, 0xF0,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00,
+  0x00, 0x00
+};
+
+const aafontsCharInfo_t charTable_DejaVuSansMono14_AA2[95] = 
+{
+  {   7,   2, FontDejaVuSansMono14_AA2_0020 }, /* code 0020 */
+  {   7,   2, FontDejaVuSansMono14_AA2_0021 }, /* code 0021 */
+  {   7,   2, FontDejaVuSansMono14_AA2_0022 }, /* code 0022 */
+  {   7,   2, FontDejaVuSansMono14_AA2_0023 }, /* code 0023 */
+  {   7,   2, FontDejaVuSansMono14_AA2_0024 }, /* code 0024 */
+  {   7,   2, FontDejaVuSansMono14_AA2_0025 }, /* code 0025 */
+  {   7,   2, FontDejaVuSansMono14_AA2_0026 }, /* code 0026 */
+  {   7,   2, FontDejaVuSansMono14_AA2_0027 }, /* code 0027 */
+  {   7,   2, FontDejaVuSansMono14_AA2_0028 }, /* code 0028 */
+  {   7,   2, FontDejaVuSansMono14_AA2_0029 }, /* code 0029 */
+  {   7,   2, FontDejaVuSansMono14_AA2_002A }, /* code 002A */
+  {   7,   2, FontDejaVuSansMono14_AA2_002B }, /* code 002B */
+  {   7,   2, FontDejaVuSansMono14_AA2_002C }, /* code 002C */
+  {   7,   2, FontDejaVuSansMono14_AA2_002D }, /* code 002D */
+  {   7,   2, FontDejaVuSansMono14_AA2_002E }, /* code 002E */
+  {   7,   2, FontDejaVuSansMono14_AA2_002F }, /* code 002F */
+  {   7,   2, FontDejaVuSansMono14_AA2_0030 }, /* code 0030 */
+  {   7,   2, FontDejaVuSansMono14_AA2_0031 }, /* code 0031 */
+  {   7,   2, FontDejaVuSansMono14_AA2_0032 }, /* code 0032 */
+  {   7,   2, FontDejaVuSansMono14_AA2_0033 }, /* code 0033 */
+  {   7,   2, FontDejaVuSansMono14_AA2_0034 }, /* code 0034 */
+  {   7,   2, FontDejaVuSansMono14_AA2_0035 }, /* code 0035 */
+  {   7,   2, FontDejaVuSansMono14_AA2_0036 }, /* code 0036 */
+  {   7,   2, FontDejaVuSansMono14_AA2_0037 }, /* code 0037 */
+  {   7,   2, FontDejaVuSansMono14_AA2_0038 }, /* code 0038 */
+  {   7,   2, FontDejaVuSansMono14_AA2_0039 }, /* code 0039 */
+  {   7,   2, FontDejaVuSansMono14_AA2_003A }, /* code 003A */
+  {   7,   2, FontDejaVuSansMono14_AA2_003B }, /* code 003B */
+  {   7,   2, FontDejaVuSansMono14_AA2_003C }, /* code 003C */
+  {   7,   2, FontDejaVuSansMono14_AA2_003D }, /* code 003D */
+  {   7,   2, FontDejaVuSansMono14_AA2_003E }, /* code 003E */
+  {   7,   2, FontDejaVuSansMono14_AA2_003F }, /* code 003F */
+  {   7,   2, FontDejaVuSansMono14_AA2_0040 }, /* code 0040 */
+  {   7,   2, FontDejaVuSansMono14_AA2_0041 }, /* code 0041 */
+  {   7,   2, FontDejaVuSansMono14_AA2_0042 }, /* code 0042 */
+  {   7,   2, FontDejaVuSansMono14_AA2_0043 }, /* code 0043 */
+  {   7,   2, FontDejaVuSansMono14_AA2_0044 }, /* code 0044 */
+  {   7,   2, FontDejaVuSansMono14_AA2_0045 }, /* code 0045 */
+  {   7,   2, FontDejaVuSansMono14_AA2_0046 }, /* code 0046 */
+  {   7,   2, FontDejaVuSansMono14_AA2_0047 }, /* code 0047 */
+  {   7,   2, FontDejaVuSansMono14_AA2_0048 }, /* code 0048 */
+  {   7,   2, FontDejaVuSansMono14_AA2_0049 }, /* code 0049 */
+  {   7,   2, FontDejaVuSansMono14_AA2_004A }, /* code 004A */
+  {   7,   2, FontDejaVuSansMono14_AA2_004B }, /* code 004B */
+  {   7,   2, FontDejaVuSansMono14_AA2_004C }, /* code 004C */
+  {   7,   2, FontDejaVuSansMono14_AA2_004D }, /* code 004D */
+  {   7,   2, FontDejaVuSansMono14_AA2_004E }, /* code 004E */
+  {   7,   2, FontDejaVuSansMono14_AA2_004F }, /* code 004F */
+  {   7,   2, FontDejaVuSansMono14_AA2_0050 }, /* code 0050 */
+  {   7,   2, FontDejaVuSansMono14_AA2_0051 }, /* code 0051 */
+  {   7,   2, FontDejaVuSansMono14_AA2_0052 }, /* code 0052 */
+  {   7,   2, FontDejaVuSansMono14_AA2_0053 }, /* code 0053 */
+  {   7,   2, FontDejaVuSansMono14_AA2_0054 }, /* code 0054 */
+  {   7,   2, FontDejaVuSansMono14_AA2_0055 }, /* code 0055 */
+  {   7,   2, FontDejaVuSansMono14_AA2_0056 }, /* code 0056 */
+  {   7,   2, FontDejaVuSansMono14_AA2_0057 }, /* code 0057 */
+  {   7,   2, FontDejaVuSansMono14_AA2_0058 }, /* code 0058 */
+  {   7,   2, FontDejaVuSansMono14_AA2_0059 }, /* code 0059 */
+  {   7,   2, FontDejaVuSansMono14_AA2_005A }, /* code 005A */
+  {   7,   2, FontDejaVuSansMono14_AA2_005B }, /* code 005B */
+  {   7,   2, FontDejaVuSansMono14_AA2_005C }, /* code 005C */
+  {   7,   2, FontDejaVuSansMono14_AA2_005D }, /* code 005D */
+  {   7,   2, FontDejaVuSansMono14_AA2_005E }, /* code 005E */
+  {   7,   2, FontDejaVuSansMono14_AA2_005F }, /* code 005F */
+  {   7,   2, FontDejaVuSansMono14_AA2_0060 }, /* code 0060 */
+  {   7,   2, FontDejaVuSansMono14_AA2_0061 }, /* code 0061 */
+  {   7,   2, FontDejaVuSansMono14_AA2_0062 }, /* code 0062 */
+  {   7,   2, FontDejaVuSansMono14_AA2_0063 }, /* code 0063 */
+  {   7,   2, FontDejaVuSansMono14_AA2_0064 }, /* code 0064 */
+  {   7,   2, FontDejaVuSansMono14_AA2_0065 }, /* code 0065 */
+  {   7,   2, FontDejaVuSansMono14_AA2_0066 }, /* code 0066 */
+  {   7,   2, FontDejaVuSansMono14_AA2_0067 }, /* code 0067 */
+  {   7,   2, FontDejaVuSansMono14_AA2_0068 }, /* code 0068 */
+  {   7,   2, FontDejaVuSansMono14_AA2_0069 }, /* code 0069 */
+  {   7,   2, FontDejaVuSansMono14_AA2_006A }, /* code 006A */
+  {   7,   2, FontDejaVuSansMono14_AA2_006B }, /* code 006B */
+  {   7,   2, FontDejaVuSansMono14_AA2_006C }, /* code 006C */
+  {   7,   2, FontDejaVuSansMono14_AA2_006D }, /* code 006D */
+  {   7,   2, FontDejaVuSansMono14_AA2_006E }, /* code 006E */
+  {   7,   2, FontDejaVuSansMono14_AA2_006F }, /* code 006F */
+  {   7,   2, FontDejaVuSansMono14_AA2_0070 }, /* code 0070 */
+  {   7,   2, FontDejaVuSansMono14_AA2_0071 }, /* code 0071 */
+  {   7,   2, FontDejaVuSansMono14_AA2_0072 }, /* code 0072 */
+  {   7,   2, FontDejaVuSansMono14_AA2_0073 }, /* code 0073 */
+  {   7,   2, FontDejaVuSansMono14_AA2_0074 }, /* code 0074 */
+  {   7,   2, FontDejaVuSansMono14_AA2_0075 }, /* code 0075 */
+  {   7,   2, FontDejaVuSansMono14_AA2_0076 }, /* code 0076 */
+  {   7,   2, FontDejaVuSansMono14_AA2_0077 }, /* code 0077 */
+  {   7,   2, FontDejaVuSansMono14_AA2_0078 }, /* code 0078 */
+  {   7,   2, FontDejaVuSansMono14_AA2_0079 }, /* code 0079 */
+  {   7,   2, FontDejaVuSansMono14_AA2_007A }, /* code 007A */
+  {   7,   2, FontDejaVuSansMono14_AA2_007B }, /* code 007B */
+  {   7,   2, FontDejaVuSansMono14_AA2_007C }, /* code 007C */
+  {   7,   2, FontDejaVuSansMono14_AA2_007D }, /* code 007D */
+  {   7,   2, FontDejaVuSansMono14_AA2_007E }  /* code 007E */
+};
+
+aafontsFont_t DejaVuSansMono14_AA2 = 
+{
+  AAFONTS_FONTTYPE_AA2,                         /* Font type (anti-aliasing level) */
+  14,                                           /* Font height in pixels */
+  7,                                            /* Width to insert for unknown characters */
+  9,                                            /* Height of upper-case characters */
+  7,                                            /* Height of lower-case characters */
+  11,                                           /* Font baseline */
+  0x0020,                                       /* Unicode address of first character */
+  0x007E,                                       /* Unicode address of last character */
+  &charTable_DejaVuSansMono14_AA2[0]       /* Font char data */
+};
diff --git a/drivers/displays/tft/aafonts/aa2/DejaVuSansMono14_AA2.h b/drivers/displays/tft/aafonts/aa2/DejaVuSansMono14_AA2.h
new file mode 100644 (file)
index 0000000..296208a
--- /dev/null
@@ -0,0 +1,44 @@
+/**************************************************************************/
+/*! 
+    @file     DejaVuSansMono14_AA2.h
+    @author   K. Townsend (microBuilder.eu)
+
+    @section LICENSE
+
+    Software License Agreement (BSD License)
+
+    Copyright (c) 2012, microBuilder SARL
+    All rights reserved.
+
+    Redistribution and use in source and binary forms, with or without
+    modification, are permitted provided that the following conditions are met:
+    1. Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+    2. Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in the
+    documentation and/or other materials provided with the distribution.
+    3. Neither the name of the copyright holders nor the
+    names of its contributors may be used to endorse or promote products
+    derived from this software without specific prior written permission.
+
+    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
+    EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+    WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+    DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY
+    DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+    (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+    LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+    ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+    (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+    SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+/**************************************************************************/
+#ifndef __DejaVuSansMono14_AA2_H__
+#define __DejaVuSansMono14_AA2_H__
+
+#include "projectconfig.h"
+#include "drivers/displays/tft/aafonts.h"
+
+extern aafontsFont_t DejaVuSansMono14_AA2;
+
+#endif
diff --git a/drivers/displays/tft/colors.c b/drivers/displays/tft/colors.c
new file mode 100644 (file)
index 0000000..74fdf00
--- /dev/null
@@ -0,0 +1,256 @@
+/**************************************************************************/
+/*! 
+    @file     colors.c
+    @author   K. Townsend (microBuilder.eu)
+    
+    Various helper functions to work with RGB565 colors, including 
+    color conversion, color blending, and a basic set of predefined
+    color constants (see colors.h).
+       
+    @section LICENSE
+
+    Software License Agreement (BSD License)
+
+    Copyright (c) 2012, Kevin Townsend
+    All rights reserved.
+
+    Redistribution and use in source and binary forms, with or without
+    modification, are permitted provided that the following conditions are met:
+    1. Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+    2. Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in the
+    documentation and/or other materials provided with the distribution.
+    3. Neither the name of the copyright holders nor the
+    names of its contributors may be used to endorse or promote products
+    derived from this software without specific prior written permission.
+
+    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
+    EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+    WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+    DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY
+    DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+    (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+    LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+    ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+    (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+    SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+/**************************************************************************/
+#include <string.h>
+
+#include "colors.h"
+
+/**************************************************************************/
+/*                                                                        */
+/* ----------------------- Private Methods ------------------------------ */
+/*                                                                        */
+/**************************************************************************/
+
+/**************************************************************************/
+/*                                                                        */
+/* ----------------------- Public Methods ------------------------------- */
+/*                                                                        */
+/**************************************************************************/
+
+/**************************************************************************/
+/*!
+    @brief  Converts a 24-bit RGB color to an equivalent 16-bit RGB565 value
+
+    @param[in]  r
+                8-bit red
+    @param[in]  g
+                8-bit green
+    @param[in]  b
+                8-bit blue
+
+    @section Example
+
+    @code 
+
+    // Get 16-bit equivalent of 24-bit color
+    uint16_t gray = colorsRGB24toRGB565(0x33, 0x33, 0x33);
+
+    @endcode
+*/
+/**************************************************************************/
+uint16_t colorsRGB24toRGB565(uint8_t r, uint8_t g, uint8_t b)
+{
+  return ((r / 8) << 11) | ((g / 4) << 5) | (b / 8);
+}
+
+/**************************************************************************/
+/*!
+    @brief  Converts a 16-bit RGB565 color to a standard 32-bit BGRA32
+            color (with alpha set to 0xFF)
+
+    @param[in]  color
+                16-bit rgb565 color
+
+    @section Example
+
+    @code 
+
+    // First convert 24-bit color to RGB565
+    uint16_t rgb565 = colorsRGB24toRGB565(0xFF, 0x00, 0x00);
+  
+    // Convert RGB565 color back to BGRA32
+    uint32_t bgra32 = colorsRGB565toBGRA32(rgb565);
+  
+    // Display results
+    printf("BGRA32: 0x%08X R: %u G: %u B: %u A: %u \r\n", 
+        bgra32, 
+        (bgra32 & 0x000000FF),        // Blue
+        (bgra32 & 0x0000FF00) >> 8,   // Green
+        (bgra32 & 0x00FF0000) >> 16,  // Red
+        (bgra32 & 0xFF000000) >> 24); // Alpha
+
+    @endcode
+*/
+/**************************************************************************/
+uint32_t colorsRGB565toBGRA32(uint16_t color)
+{
+  uint32_t bits = (uint32_t)color;
+  uint32_t blue = bits & 0x001F;     // 5 bits blue
+  uint32_t green = bits & 0x07E0;    // 6 bits green
+  uint32_t red = bits & 0xF800;      // 5 bits red
+
+  // Return shifted bits with alpha set to 0xFF
+  return (red << 8) | (green << 5) | (blue << 3) | 0xFF000000;
+}
+
+/**************************************************************************/
+/*! 
+    @brief  Reverses a 16-bit color from BGR to RGB or vice verse
+*/
+/**************************************************************************/
+uint16_t colorsBGR2RGB(uint16_t color)
+{   
+  uint16_t r, g, b;   
+   
+  b = (color>>0)  & 0x1f;   
+  g = (color>>5)  & 0x3f;   
+  r = (color>>11) & 0x1f;   
+     
+  return( (b<<11) + (g<<5) + (r<<0) );
+}
+
+/**************************************************************************/
+/*!
+    @brief  Adjusts the supplied color to have the specified intensity 
+            (0..100).  100 will leave the color as is at full intensity,
+            50 will reduce the color intensity by half, and 0 will return
+            black.
+
+            This function is useful for anti-aliasing and sub-pixel
+            rendering since colors are returned as a percentage of
+            the original value, depending on the amount of space they
+            take up in the sub-pixel array.
+
+    @param[in]  color
+                Base color (rgb565)
+    @param[in]  intensity
+                Color intensity relative to the source (0..100)
+
+    @section Example
+
+    @code
+
+    #include "drivers/displays/tft/colors.h"
+
+    uint16_t newColor;
+
+    // Draw a pure red rectangle
+    drawRectangleFilled(10, 10, 200, 100, COLOR_RED);
+
+    // Draw a rectangle at 50% intensity red
+    newColor = colorsDim(COLOR_RED, 50);
+    drawRectangleFilled(20, 20, 190, 90, newColor);
+
+    // Draw a rectangle at 25% intensity red
+    newColor = colorsDim(COLOR_RED, 25);
+    drawRectangleFilled(30, 30, 180, 80, newColor);
+
+    // Draw a rectangle at 0% intensity red
+    newColor = colorsDim(COLOR_RED, 0);
+    drawRectangleFilled(40, 40, 170, 70, newColor);
+
+    @endcode
+*/
+/**************************************************************************/
+uint16_t colorsDim(uint16_t color, uint8_t intensity)
+{
+  uint16_t r, g, b;               // Individual component colors
+
+  // Add intensity adjusted forecolor
+  r = ((((color >> 11) & 0x1F) * intensity) / 100) & 0x1F;
+  g = ((((color >> 5) & 0x3F) * intensity) / 100) & 0x3F;
+  b = (((color & 0x1F)  * intensity) / 100) & 0x1F;
+
+  return (r << 11) | (g << 6) | b;
+}
+
+/**************************************************************************/
+/*!
+    @brief  Returns an alpha-blended color based on the supplied bg color,
+            fore color, and intensity value (0..100).
+
+            This function is used when alpha-blending anti-aliased fonts
+            with an existing background image, amongst other things, and
+            can be used to create images that appear to be 'faded' or
+            semi-transparent, though at the expense of slow updates since
+            reading pixels from most LCD controllers is an extremely
+            expensive operation.
+
+    @param[in]  bgColor
+                Background color (rgb565)
+    @param[in]  foreColor
+                Forground color (rgb565)
+    @param[in]  intensity
+                Intensity of the fore color for alpha-blending (0..100)
+
+    @section Example
+
+    @code
+
+    #include "drivers/displays/tft/colors.h"
+
+    uint16_t mixedColor;
+
+    // Alpha-blend white onto a black background at 50% intensity
+    mixedColor = colorsBlend(COLOR_BLACK, COLOR_WHITE, 50);
+
+    @endcode
+*/
+/**************************************************************************/
+uint16_t colorsBlend(uint16_t bgColor, uint16_t foreColor, uint8_t intensity)
+{
+  // Note: This algorithm is buggy and needs to be redone!
+
+  uint16_t br, bg, bb;              // Background component colors
+  uint16_t fr, fg, fb;              // Foreground component colors
+  uint16_t newr, newg, newb;        // Blended component colors
+
+  if (intensity > 100)
+  {
+    intensity = 100;
+  }
+
+  // Short cut if the color is full intensity
+  if (intensity == 100)
+    return foreColor;
+
+  // Break out component colors
+  br = ((bgColor >> 11) & 0x1F);
+  fr = ((foreColor >> 11) & 0x1F);
+  bg = ((bgColor >> 5) & 0x3F);
+  fg = ((foreColor >> 5) & 0x3F);
+  bb = (bgColor & 0x1F);
+  fb = (foreColor & 0x1F);
+
+  newr = (((fr-br) * intensity) / 100 + br) & 0x1F;
+  newg = (((fg-bg) * intensity) / 100 + bg) & 0x3F;
+  newb = (((fb-bb) * intensity) / 100 + bb) & 0x1F;
+
+  return (newr << 11) | (newg << 6) | newb;
+}
diff --git a/drivers/displays/tft/fonts.c b/drivers/displays/tft/fonts.c
new file mode 100644 (file)
index 0000000..1071d86
--- /dev/null
@@ -0,0 +1,219 @@
+/**************************************************************************/
+/*! 
+    @file     aafonts.c
+    @author   K. Townsend (microBuilder.eu)
+
+    drawString based on an example from Eran Duchan:
+    http://www.pavius.net/downloads/tools/53-the-dot-factory
+
+    @section LICENSE
+
+    Software License Agreement (BSD License)
+
+    Copyright (c) 2012, microBuilder SARL
+    All rights reserved.
+
+    Redistribution and use in source and binary forms, with or without
+    modification, are permitted provided that the following conditions are met:
+    1. Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+    2. Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in the
+    documentation and/or other materials provided with the distribution.
+    3. Neither the name of the copyright holders nor the
+    names of its contributors may be used to endorse or promote products
+    derived from this software without specific prior written permission.
+
+    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
+    EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+    WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+    DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY
+    DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+    (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+    LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+    ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+    (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+    SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+/**************************************************************************/
+#include "fonts.h"
+#include "lcd.h"
+#include "drawing.h"
+
+/**************************************************************************/
+/*                                                                        */
+/* ----------------------- Private Methods ------------------------------ */
+/*                                                                        */
+/**************************************************************************/
+
+/**************************************************************************/
+/*!
+    @brief  Draws a single bitmap character
+*/
+/**************************************************************************/
+void fontsDrawCharBitmap(const uint16_t xPixel, const uint16_t yPixel, uint16_t color, const char *glyph, uint8_t cols, uint8_t rows)
+{
+  uint16_t currentY, currentX, indexIntoGlyph;
+  uint16_t _row, _col, _colPages;
+
+  // set initial current y
+  currentY = yPixel;
+  currentX = xPixel;
+
+  // Figure out how many columns worth of data we have
+  if (cols % 8)
+    _colPages = cols / 8 + 1;
+  else
+    _colPages = cols / 8;
+
+  for (_row = 0; _row < rows; _row++)
+  {
+    for (_col = 0; _col < _colPages; _col++)
+    {
+      if (_row == 0)
+        indexIntoGlyph = _col;
+      else
+        indexIntoGlyph = (_row * _colPages) + _col;
+
+      currentY = yPixel + _row;
+      currentX = xPixel + (_col*8);
+      // send the data byte
+      if (glyph[indexIntoGlyph] & (0X80)) drawPixel(currentX, currentY, color);
+      if (glyph[indexIntoGlyph] & (0X40)) drawPixel(currentX+1, currentY, color);
+      if (glyph[indexIntoGlyph] & (0X20)) drawPixel(currentX+2, currentY, color);
+      if (glyph[indexIntoGlyph] & (0X10)) drawPixel(currentX+3, currentY, color);
+      if (glyph[indexIntoGlyph] & (0X08)) drawPixel(currentX+4, currentY, color);
+      if (glyph[indexIntoGlyph] & (0X04)) drawPixel(currentX+5, currentY, color);
+      if (glyph[indexIntoGlyph] & (0X02)) drawPixel(currentX+6, currentY, color);
+      if (glyph[indexIntoGlyph] & (0X01)) drawPixel(currentX+7, currentY, color);
+    }
+  }
+}
+
+/**************************************************************************/
+/*                                                                        */
+/* ----------------------- Public Methods ------------------------------- */
+/*                                                                        */
+/**************************************************************************/
+
+/**************************************************************************/
+/*!
+    @brief  Draws a string using the supplied font
+
+    @param[in]  x
+                Starting x co-ordinate
+    @param[in]  y
+                Starting y co-ordinate
+    @param[in]  color
+                Color to use when rendering the font
+    @param[in]  fontInfo
+                Pointer to the FONT_INFO to use when drawing the string
+    @param[in]  str
+                The string to render
+
+    @section Example
+
+    @code 
+
+    #include "drivers/displays/tft/fonts/dejavusans9.h"
+    
+    fontsDrawString(0, 90,  COLOR_BLACK, &dejaVuSans9ptFontInfo, "DejaVu Sans 9");
+    fontsDrawString(0, 105, COLOR_BLACK, &dejaVuSans9ptFontInfo, "123456789012345678901234567890");
+
+    @endcode
+*/
+/**************************************************************************/
+void fontsDrawString(uint16_t x, uint16_t y, uint16_t color, const FONT_INFO *fontInfo, char *str)
+{
+  uint16_t currentX, charWidth, characterToOutput;
+  const FONT_CHAR_INFO *charInfo;
+  uint16_t charOffset;
+
+  // set current x, y to that of requested
+  currentX = x;
+
+  // while not NULL
+  while (*str != '\0')
+  {
+    // get character to output
+    characterToOutput = *str;
+    
+    // get char info
+    charInfo = fontInfo->charInfo;
+    
+    // some fonts have character descriptors, some don't
+    if (charInfo != NULL)
+    {
+      // get correct char offset
+      charInfo += (characterToOutput - fontInfo->startChar);
+      
+      // get width from char info
+      charWidth = charInfo->widthBits;
+      
+      // get offset from char info
+      charOffset = charInfo->offset;
+    }        
+    else
+    {
+      // if no char info, char width is always 5
+      charWidth = 5;
+      
+      // char offset - assume 5 * letter offset
+      charOffset = (characterToOutput - fontInfo->startChar) * 5;
+    }        
+    
+    // Send individual characters
+    // We need to manually calculate width in pages since this is screwy with variable width fonts
+    //uint8_t heightPages = charWidth % 8 ? charWidth / 8 : charWidth / 8 + 1;
+    fontsDrawCharBitmap(currentX, y, color, (const char *)(&fontInfo->data[charOffset]), charWidth, fontInfo->height);
+
+    // next char X
+    currentX += charWidth + 1;
+    
+    // next char
+    str++;
+  }
+}
+
+/**************************************************************************/
+/*!
+    @brief  Returns the width in pixels of a string when it is rendered
+
+    This method can be used to determine whether a string will fit
+    inside a specific area, or if it needs to be broken up into multiple
+    lines to be properly rendered on the screen.
+
+    This function only applied to bitmap fonts (which can have variable
+    widths).  All smallfonts (if available) are fixed width and can
+    easily have their width calculated without costly functions like
+    this one.
+
+    @param[in]  fontInfo
+                Pointer to the FONT_INFO for the font that will be used
+    @param[in]  str
+                The string that will be rendered
+*/
+/**************************************************************************/
+uint16_t fontsGetStringWidth(const FONT_INFO *fontInfo, char *str)
+{
+  uint16_t width = 0;
+  uint32_t currChar;
+  uint32_t startChar = fontInfo->startChar;
+
+  // until termination
+  for (currChar = *str; currChar; currChar = *(++str))
+  {
+    // if char info exists for the font, use width from there
+    if (fontInfo->charInfo != NULL)
+    {
+      width += fontInfo->charInfo[currChar - startChar].widthBits + 1;
+    }
+    else
+    {
+      width += 5 + 1;
+    }
+  }
+
+  /* return the width */
+  return width > 0 ? width - 1 : width;
+}
diff --git a/drivers/displays/tft/fonts.h b/drivers/displays/tft/fonts.h
new file mode 100644 (file)
index 0000000..0dbef73
--- /dev/null
@@ -0,0 +1,69 @@
+/**************************************************************************/
+/*! 
+    @file     fonts.h
+    @author   K. Townsend (microBuilder.eu)
+
+    @section LICENSE
+
+    Software License Agreement (BSD License)
+
+    Copyright (c) 2012, microBuilder SARL
+    All rights reserved.
+
+    Redistribution and use in source and binary forms, with or without
+    modification, are permitted provided that the following conditions are met:
+    1. Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+    2. Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in the
+    documentation and/or other materials provided with the distribution.
+    3. Neither the name of the copyright holders nor the
+    names of its contributors may be used to endorse or promote products
+    derived from this software without specific prior written permission.
+
+    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
+    EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+    WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+    DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY
+    DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+    (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+    LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+    ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+    (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+    SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+/**************************************************************************/
+#ifndef __FONTS_H__
+#define __FONTS_H__
+
+#include "projectconfig.h"
+
+/**************************************************************************/
+/*! 
+    @brief Describes a single character's display information
+*/
+/**************************************************************************/
+typedef struct
+{
+  const uint8_t widthBits;              // width, in bits (or pixels), of the character
+  const uint16_t offset;                // offset of the character's bitmap, in bytes, into the the FONT_INFO's data array
+} FONT_CHAR_INFO;      
+
+/**************************************************************************/
+/*! 
+    @brief Describes a single font
+*/
+/**************************************************************************/
+typedef struct
+{
+  const uint8_t           height;       // height of the font's characters
+  const uint8_t           startChar;    // the first character in the font (e.g. in charInfo and data)
+  const uint8_t           endChar;      // the last character in the font (e.g. in charInfo and data)
+  const FONT_CHAR_INFO*          charInfo;     // pointer to array of char information
+  const uint8_t*          data;         // pointer to generated array of character visual representation
+} FONT_INFO;
+
+void      fontsDrawString      ( uint16_t x, uint16_t y, uint16_t color, const FONT_INFO *fontInfo, char *str );
+uint16_t  fontsGetStringWidth  ( const FONT_INFO *fontInfo, char *str ); 
+
+#endif
diff --git a/drivers/displays/tft/fonts/bitmapfonts.h b/drivers/displays/tft/fonts/bitmapfonts.h
deleted file mode 100644 (file)
index 68f234d..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-/**************************************************************************/
-/*! 
-    @file     bitmapfonts.h
-    @author   K. Townsend (microBuilder.eu)
-    @date     22 March 2010
-    @version  0.10
-
-    @section LICENSE
-
-    Software License Agreement (BSD License)
-
-    Copyright (c) 2010, microBuilder SARL
-    All rights reserved.
-
-    Redistribution and use in source and binary forms, with or without
-    modification, are permitted provided that the following conditions are met:
-    1. Redistributions of source code must retain the above copyright
-    notice, this list of conditions and the following disclaimer.
-    2. Redistributions in binary form must reproduce the above copyright
-    notice, this list of conditions and the following disclaimer in the
-    documentation and/or other materials provided with the distribution.
-    3. Neither the name of the copyright holders nor the
-    names of its contributors may be used to endorse or promote products
-    derived from this software without specific prior written permission.
-
-    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
-    EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-    WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-    DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY
-    DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-    (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-    LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-    ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-    (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-    SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-/**************************************************************************/
-#ifndef __BITMAPFONTS_H__
-#define __BITMAPFONTS_H__
-
-#include "projectconfig.h"
-
-/**************************************************************************/
-/*! 
-    @brief Describes a single character's display information
-*/
-/**************************************************************************/
-typedef struct
-{
-  const uint8_t widthBits;              // width, in bits (or pixels), of the character
-  const uint16_t offset;                // offset of the character's bitmap, in bytes, into the the FONT_INFO's data array
-} FONT_CHAR_INFO;      
-
-/**************************************************************************/
-/*! 
-    @brief Describes a single font
-*/
-/**************************************************************************/
-typedef struct
-{
-  const uint8_t           height;       // height of the font's characters
-  const uint8_t           startChar;    // the first character in the font (e.g. in charInfo and data)
-  const uint8_t           endChar;      // the last character in the font (e.g. in charInfo and data)
-  const FONT_CHAR_INFO*          charInfo;     // pointer to array of char information
-  const uint8_t*          data;         // pointer to generated array of character visual representation
-} FONT_INFO;
-
-#endif
index 67fb41d..5603260 100644 (file)
@@ -82,8 +82,8 @@ void renderMenuItem(uint16_t x, uint16_t y, uint16_t width, uint16_t height, uin
 {
   drawRectangleRounded(x, y, x+headerWidth, y+height, active ? COL_MENUACTIVE : COL_MENU, 10, DRAW_ROUNDEDCORNERS_NONE);
   drawRectangleRounded(x+headerWidth, y, x+width, y+height, active ? COL_MENUACTIVELIGHTER : COL_MENULIGHTER, 10, DRAW_ROUNDEDCORNERS_NONE);
 {
   drawRectangleRounded(x, y, x+headerWidth, y+height, active ? COL_MENUACTIVE : COL_MENU, 10, DRAW_ROUNDEDCORNERS_NONE);
   drawRectangleRounded(x+headerWidth, y, x+width, y+height, active ? COL_MENUACTIVELIGHTER : COL_MENULIGHTER, 10, DRAW_ROUNDEDCORNERS_NONE);
-  drawString(x+10, y+height/2, active ? COL_MENUACTIVETEXT : COL_MENUTEXT, FONT_BOLD, headerText);
-  drawString(x+headerWidth+25, y+height/2, active ? COL_MENUACTIVETEXT: COL_MENUTEXT, FONT_REGULAR, bodyText);
+  fontsDrawString(x+10, y+height/2, active ? COL_MENUACTIVETEXT : COL_MENUTEXT, FONT_BOLD, headerText);
+  fontsDrawString(x+headerWidth+25, y+height/2, active ? COL_MENUACTIVETEXT: COL_MENUTEXT, FONT_REGULAR, bodyText);
 
   if (active)
   {
 
   if (active)
   {
@@ -182,7 +182,7 @@ int main(void)
 
   // Menu
   drawRectangleRounded(6, 30, 232, 160, COL_MENU, 10, DRAW_ROUNDEDCORNERS_ALL);
 
   // Menu
   drawRectangleRounded(6, 30, 232, 160, COL_MENU, 10, DRAW_ROUNDEDCORNERS_ALL);
-  drawString(20, 45, COL_MENUTEXT, FONT_BOLD, "SYSTEM SETTINGS");
+  fontsDrawString(20, 45, COL_MENUTEXT, FONT_BOLD, "SYSTEM SETTINGS");
   renderMenuItem(8,  65, 222, 23, 90, false,  "LANGUAGE", "English");
   renderMenuItem(8,  90, 222, 23, 90, false, "TIMEZONE", "GMT+1");
   renderMenuItem(8, 115, 222, 23, 90, true, "SLEEP", "5 Minutes");
   renderMenuItem(8,  65, 222, 23, 90, false,  "LANGUAGE", "English");
   renderMenuItem(8,  90, 222, 23, 90, false, "TIMEZONE", "GMT+1");
   renderMenuItem(8, 115, 222, 23, 90, true, "SLEEP", "5 Minutes");
@@ -194,8 +194,8 @@ int main(void)
   renderIcons();
 
   // Action bar buttons
   renderIcons();
 
   // Action bar buttons
-  drawButton(5, 285, 75, 29, FONT_BOLD, 7, COL_BUTTONBORDER, COL_BUTTON, COL_BUTTONTEXT, "CANCEL");
-  drawButton(160, 285, 75, 29, FONT_BOLD, 7, COL_BUTTONBORDER, COL_BUTTON, COL_BUTTONTEXT, "SAVE");
+  drawButton(5, 285, 75, 29, FONT_BOLD, COL_BUTTONBORDER, COL_BUTTON, COL_BUTTONTEXT, "CANCEL");
+  drawButton(160, 285, 75, 29, FONT_BOLD, COL_BUTTONBORDER, COL_BUTTON, COL_BUTTONTEXT, "SAVE");
 
   tsTouchData_t touch;
   tsTouchError_t error;
 
   tsTouchData_t touch;
   tsTouchError_t error;
index 332a5ca..923126e 100644 (file)
@@ -76,9 +76,9 @@ int main(void)
 
   // Render some text using DejaVu Sans 9 and Sans Mono 8
   // ---------------------------------------------------------------------
 
   // Render some text using DejaVu Sans 9 and Sans Mono 8
   // ---------------------------------------------------------------------
-  drawString(5, 10, COLOR_BLACK, &dejaVuSansBold9ptFontInfo, "DejaVu Sans 9 Bold");
-  drawString(5, 30, COLOR_BLACK, &dejaVuSans9ptFontInfo, "DejaVu Sans 9");
-  drawString(5, 50, COLOR_BLACK, &dejaVuSansMono8ptFontInfo, "DejaVu Sans Mono 8");
+  fontsDrawString(5, 10, COLOR_BLACK, &dejaVuSansBold9ptFontInfo, "DejaVu Sans 9 Bold");
+  fontsDrawString(5, 30, COLOR_BLACK, &dejaVuSans9ptFontInfo, "DejaVu Sans 9");
+  fontsDrawString(5, 50, COLOR_BLACK, &dejaVuSansMono8ptFontInfo, "DejaVu Sans Mono 8");
 
   // Change the LCD orientation to render text horizontally
   // ---------------------------------------------------------------------
 
   // Change the LCD orientation to render text horizontally
   // ---------------------------------------------------------------------
@@ -90,7 +90,7 @@ int main(void)
     lcdSetOrientation(lcdGetOrientation() == LCD_ORIENTATION_PORTRAIT ? 
       LCD_ORIENTATION_LANDSCAPE : LCD_ORIENTATION_PORTRAIT);
     // Render some text in the new orientation
     lcdSetOrientation(lcdGetOrientation() == LCD_ORIENTATION_PORTRAIT ? 
       LCD_ORIENTATION_LANDSCAPE : LCD_ORIENTATION_PORTRAIT);
     // Render some text in the new orientation
-    drawString(5, 10, COLOR_BLACK, &dejaVuSans9ptFontInfo, "DejaVu Sans 9 (Rotated)");
+    fontsDrawString(5, 10, COLOR_BLACK, &dejaVuSans9ptFontInfo, "DejaVu Sans 9 (Rotated)");
     // Change the orientation back
     lcdSetOrientation(lcdGetOrientation() == LCD_ORIENTATION_PORTRAIT ? 
       LCD_ORIENTATION_LANDSCAPE : LCD_ORIENTATION_PORTRAIT);
     // Change the orientation back
     lcdSetOrientation(lcdGetOrientation() == LCD_ORIENTATION_PORTRAIT ? 
       LCD_ORIENTATION_LANDSCAPE : LCD_ORIENTATION_PORTRAIT);
@@ -116,10 +116,10 @@ int main(void)
   // Draw some compound shapes
   // ---------------------------------------------------------------------
   drawProgressBar(70, 140, 75, 12, COLOR_BLACK, COLOR_MEDIUMGRAY, 78);
   // Draw some compound shapes
   // ---------------------------------------------------------------------
   drawProgressBar(70, 140, 75, 12, COLOR_BLACK, COLOR_MEDIUMGRAY, 78);
-  drawString(5, 144, COLOR_BLACK, &dejaVuSansBold9ptFontInfo, "Progress");
-  drawString(155, 144, COLOR_BLACK, &dejaVuSans9ptFontInfo, "78%");
+  fontsDrawString(5, 144, COLOR_BLACK, &dejaVuSansBold9ptFontInfo, "Progress");
+  fontsDrawString(155, 144, COLOR_BLACK, &dejaVuSans9ptFontInfo, "78%");
   drawRectangleFilled(0, 175, 239, 210, COLOR_DARKERGRAY);
   drawRectangleFilled(0, 175, 239, 210, COLOR_DARKERGRAY);
-  drawButton(20, 180, 200, 25, &dejaVuSans9ptFontInfo, 7, "Click For Text Entry", false);
+  drawButton(20, 180, 200, 25, &dejaVuSans9ptFontInfo, "Click For Text Entry", false);
 
   // Wait for a valid touch event
   // ---------------------------------------------------------------------
 
   // Wait for a valid touch event
   // ---------------------------------------------------------------------
@@ -149,9 +149,9 @@ int main(void)
       // At this point, results contains the text from the dialogue ... 
       // clear the screen and show the results
       drawFill(COLOR_WHITE);
       // At this point, results contains the text from the dialogue ... 
       // clear the screen and show the results
       drawFill(COLOR_WHITE);
-      drawString(10, 10, COLOR_BLACK, &dejaVuSans9ptFontInfo, "You Entered:");
-      drawString(10, 30, COLOR_BLACK, &dejaVuSansBold9ptFontInfo, results);
-      drawString(10, 155, COLOR_BLACK, &dejaVuSans9ptFontInfo, "Thanks ... starting blinky!");
+      fontsDrawString(10, 10, COLOR_BLACK, &dejaVuSans9ptFontInfo, "You Entered:");
+      fontsDrawString(10, 30, COLOR_BLACK, &dejaVuSansBold9ptFontInfo, results);
+      fontsDrawString(10, 155, COLOR_BLACK, &dejaVuSans9ptFontInfo, "Thanks ... starting blinky!");
       // Setting success to true allow the code to move in to blinky
       success = true;
     }
       // Setting success to true allow the code to move in to blinky
       success = true;
     }
index 188dc1e..9334507 100644 (file)
@@ -65,32 +65,32 @@ void renderLCDFrame(void)
   drawFill(COLOR_DARKGRAY);
 
   // Render V references
   drawFill(COLOR_DARKGRAY);
 
   // Render V references
-  drawString(245,  27, COLOR_BLACK, &dejaVuSansBold9ptFontInfo, "3.5V");
-  drawString(244,  26, COLOR_WHITE, &dejaVuSansBold9ptFontInfo, "3.5V");
-  drawString(245, 195, COLOR_BLACK, &dejaVuSansBold9ptFontInfo, "0.0V");
-  drawString(244, 194, COLOR_WHITE, &dejaVuSansBold9ptFontInfo, "0.0V");
+  fontsDrawString(245,  27, COLOR_BLACK, &dejaVuSansBold9ptFontInfo, "3.5V");
+  fontsDrawString(244,  26, COLOR_WHITE, &dejaVuSansBold9ptFontInfo, "3.5V");
+  fontsDrawString(245, 195, COLOR_BLACK, &dejaVuSansBold9ptFontInfo, "0.0V");
+  fontsDrawString(244, 194, COLOR_WHITE, &dejaVuSansBold9ptFontInfo, "0.0V");
 
   // Div settings
 
   // Div settings
-  drawString( 10, 10, COLOR_BLACK, &dejaVuSansBold9ptFontInfo, "~100ms/Div");
-  drawString(  9,  9, COLOR_WHITE, &dejaVuSansBold9ptFontInfo, "~100ms/Div");
-  drawString( 95, 10, COLOR_BLACK, &dejaVuSansBold9ptFontInfo, "500mV/Div");
-  drawString( 94,  9, COLOR_WHITE, &dejaVuSansBold9ptFontInfo, "500mV/Div");
+  fontsDrawString( 10, 10, COLOR_BLACK, &dejaVuSansBold9ptFontInfo, "~100ms/Div");
+  fontsDrawString(  9,  9, COLOR_WHITE, &dejaVuSansBold9ptFontInfo, "~100ms/Div");
+  fontsDrawString( 95, 10, COLOR_BLACK, &dejaVuSansBold9ptFontInfo, "500mV/Div");
+  fontsDrawString( 94,  9, COLOR_WHITE, &dejaVuSansBold9ptFontInfo, "500mV/Div");
 
   // Clear the ADC output level just in case
   drawRectangleFilled(175, 5, 250, 18, COLOR_DARKGRAY);
 
   // Render the channel text
 
   // Clear the ADC output level just in case
   drawRectangleFilled(175, 5, 250, 18, COLOR_DARKGRAY);
 
   // Render the channel text
-  drawString( 25, 220, COLOR_BLACK,  &dejaVuSansBold9ptFontInfo, "P1.4 (Analog)");
-  drawString( 24, 219, adcEnabled ? COLOR_YELLOW : COLOR_MEDIUMGRAY, &dejaVuSansBold9ptFontInfo, "P1.4 (Analog)");
-  drawString(135, 220, COLOR_BLACK,  &dejaVuSansBold9ptFontInfo, "P2.0 (Digital)");
-  drawString(134, 219, digEnabled ? COLOR_GREEN : COLOR_MEDIUMGRAY, &dejaVuSansBold9ptFontInfo, "P2.0 (Digital)");
+  fontsDrawString( 25, 220, COLOR_BLACK,  &dejaVuSansBold9ptFontInfo, "P1.4 (Analog)");
+  fontsDrawString( 24, 219, adcEnabled ? COLOR_YELLOW : COLOR_MEDIUMGRAY, &dejaVuSansBold9ptFontInfo, "P1.4 (Analog)");
+  fontsDrawString(135, 220, COLOR_BLACK,  &dejaVuSansBold9ptFontInfo, "P2.0 (Digital)");
+  fontsDrawString(134, 219, digEnabled ? COLOR_GREEN : COLOR_MEDIUMGRAY, &dejaVuSansBold9ptFontInfo, "P2.0 (Digital)");
 
   // ADC Warning
 
   // ADC Warning
-  drawString(245,  80, COLOR_BLACK, &dejaVuSansBold9ptFontInfo, "Warning:");
-  drawString(244,  79, COLOR_WHITE, &dejaVuSansBold9ptFontInfo, "Warning:");
-  drawString(244,  95, COLOR_WHITE, &dejaVuSans9ptFontInfo, "ADC input");
-  drawString(244, 110, COLOR_WHITE, &dejaVuSans9ptFontInfo, "is not 5.0V");
-  drawString(244, 125, COLOR_WHITE, &dejaVuSans9ptFontInfo, "tolerant!");
+  fontsDrawString(245,  80, COLOR_BLACK, &dejaVuSansBold9ptFontInfo, "Warning:");
+  fontsDrawString(244,  79, COLOR_WHITE, &dejaVuSansBold9ptFontInfo, "Warning:");
+  fontsDrawString(244,  95, COLOR_WHITE, &dejaVuSans9ptFontInfo, "ADC input");
+  fontsDrawString(244, 110, COLOR_WHITE, &dejaVuSans9ptFontInfo, "is not 5.0V");
+  fontsDrawString(244, 125, COLOR_WHITE, &dejaVuSans9ptFontInfo, "tolerant!");
 }
 
 /**************************************************************************/
 }
 
 /**************************************************************************/
@@ -174,8 +174,8 @@ void renderLCDGrid(void)
     // Clear the previous text
     drawRectangleFilled(175, 5, 250, 18, COLOR_DARKGRAY);
     // Render the latest value in mV
     // Clear the previous text
     drawRectangleFilled(175, 5, 250, 18, COLOR_DARKGRAY);
     // Render the latest value in mV
-    drawString(180, 10, COLOR_BLACK, &dejaVuSansBold9ptFontInfo, text);
-    drawString(179,  9, COLOR_YELLOW, &dejaVuSansBold9ptFontInfo, text);
+    fontsDrawString(180, 10, COLOR_BLACK, &dejaVuSansBold9ptFontInfo, text);
+    fontsDrawString(179,  9, COLOR_YELLOW, &dejaVuSansBold9ptFontInfo, text);
   }
 }
 
   }
 }
 
This page took 0.189647 seconds and 4 git commands to generate.