From: Kevin Townsend Date: Fri, 23 Mar 2012 03:55:16 +0000 (+0100) Subject: API changes for v1.0.0 X-Git-Url: https://git.rohieb.name/hackover2013-badge-firmware.git/commitdiff_plain/9a7b1594b331d775714d863a5b20930af4acf21b?ds=sidebyside;hp=81ccc776bec25bb48917f651cc8e3b81022cd118 API changes for v1.0.0 --- diff --git a/drivers/displays/tft/aafonts.c b/drivers/displays/tft/aafonts.c new file mode 100644 index 0000000..163b677 --- /dev/null +++ b/drivers/displays/tft/aafonts.c @@ -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 index 0000000..f76d35a --- /dev/null +++ b/drivers/displays/tft/aafonts.h @@ -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 index 0000000..1a1c0da --- /dev/null +++ b/drivers/displays/tft/aafonts/aa2/DejaVuSansCondensed14_AA2.c @@ -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 */ +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 index 0000000..96ece73 --- /dev/null +++ b/drivers/displays/tft/aafonts/aa2/DejaVuSansCondensed14_AA2.h @@ -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 index 0000000..b184e68 --- /dev/null +++ b/drivers/displays/tft/aafonts/aa2/DejaVuSansCondensedBold14_AA2.c @@ -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 */ +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 index 0000000..2c217d4 --- /dev/null +++ b/drivers/displays/tft/aafonts/aa2/DejaVuSansCondensedBold14_AA2.h @@ -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 index 0000000..d1e4d22 --- /dev/null +++ b/drivers/displays/tft/aafonts/aa2/DejaVuSansMono10_AA2.c @@ -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 */ +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 index 0000000..c530a8e --- /dev/null +++ b/drivers/displays/tft/aafonts/aa2/DejaVuSansMono10_AA2.h @@ -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 index 0000000..2a87b8d --- /dev/null +++ b/drivers/displays/tft/aafonts/aa2/DejaVuSansMono13_AA2.c @@ -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 */ +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 index 0000000..1ae669a --- /dev/null +++ b/drivers/displays/tft/aafonts/aa2/DejaVuSansMono13_AA2.h @@ -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 index 0000000..c650ebe --- /dev/null +++ b/drivers/displays/tft/aafonts/aa2/DejaVuSansMono14_AA2.c @@ -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 */ +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 index 0000000..296208a --- /dev/null +++ b/drivers/displays/tft/aafonts/aa2/DejaVuSansMono14_AA2.h @@ -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 index 0000000..74fdf00 --- /dev/null +++ b/drivers/displays/tft/colors.c @@ -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 + +#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 index 0000000..1071d86 --- /dev/null +++ b/drivers/displays/tft/fonts.c @@ -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 index 0000000..0dbef73 --- /dev/null +++ b/drivers/displays/tft/fonts.h @@ -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 index 68f234d..0000000 --- a/drivers/displays/tft/fonts/bitmapfonts.h +++ /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 diff --git a/tools/examples/lcd/tft/basic_ui/main.c b/tools/examples/lcd/tft/basic_ui/main.c index 67fb41d..5603260 100644 --- a/tools/examples/lcd/tft/basic_ui/main.c +++ b/tools/examples/lcd/tft/basic_ui/main.c @@ -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); - 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) { @@ -182,7 +182,7 @@ int main(void) // 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"); @@ -194,8 +194,8 @@ int main(void) 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; diff --git a/tools/examples/lcd/tft/drawing_basic/main.c b/tools/examples/lcd/tft/drawing_basic/main.c index 332a5ca..923126e 100644 --- a/tools/examples/lcd/tft/drawing_basic/main.c +++ b/tools/examples/lcd/tft/drawing_basic/main.c @@ -76,9 +76,9 @@ int main(void) // 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 // --------------------------------------------------------------------- @@ -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 - 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); @@ -116,10 +116,10 @@ int main(void) // 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); - 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 // --------------------------------------------------------------------- @@ -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); - 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; } diff --git a/tools/examples/lcd/tft/oscilloscope/main.c b/tools/examples/lcd/tft/oscilloscope/main.c index 188dc1e..9334507 100644 --- a/tools/examples/lcd/tft/oscilloscope/main.c +++ b/tools/examples/lcd/tft/oscilloscope/main.c @@ -65,32 +65,32 @@ void renderLCDFrame(void) 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 - 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 - 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 - 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 - 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); } }