797 lines
16 KiB
C++
797 lines
16 KiB
C++
/*
|
|
* This file is part of the "bluetoothheater" distribution
|
|
* (https://gitlab.com/mrjones.id.au/bluetoothheater)
|
|
*
|
|
* Copyright (C) 2018 Ray Jones <ray@mrjones.id.au>
|
|
*
|
|
* This program is free software: you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation, either version 3 of the License, or
|
|
* (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
*
|
|
*/
|
|
|
|
#include "MidiFont.h"
|
|
//
|
|
// Font data for Segoe UI 8pt
|
|
//
|
|
|
|
// Character bitmaps for Segoe UI 8pt
|
|
const uint8_t PROGMEM segoeUI_8ptBitmaps [] =
|
|
{
|
|
// @0 ' ' (2 pixels wide)
|
|
0x00, 0x00, //
|
|
0x00, 0x00, //
|
|
|
|
// @4 '-' (3 pixels wide)
|
|
0x08, // #
|
|
0x08, // #
|
|
0x08, // #
|
|
|
|
// @7 '.' (1 pixels wide)
|
|
0x03, // ##
|
|
|
|
// @8 '0' (6 pixels wide)
|
|
0x3E, // #####
|
|
0xC3, // ## ##
|
|
0x81, // # #
|
|
0x81, // # #
|
|
0xC3, // ## ##
|
|
0x7C, // #####
|
|
|
|
// @14 '1' (3 pixels wide)
|
|
0x40, // #
|
|
0x40, // #
|
|
0xFF, // ########
|
|
|
|
// @17 '2' (4 pixels wide)
|
|
0x43, // # ##
|
|
0x85, // # # #
|
|
0x89, // # # #
|
|
0x71, // ### #
|
|
|
|
// @21 '3' (4 pixels wide)
|
|
0x81, // # #
|
|
0x91, // # # #
|
|
0x91, // # # #
|
|
0x6E, // ## ###
|
|
|
|
// @25 '4' (6 pixels wide)
|
|
0x0C, // ##
|
|
0x14, // # #
|
|
0x24, // # #
|
|
0xC4, // ## #
|
|
0xFF, // ########
|
|
0x04, // #
|
|
|
|
// @31 '5' (4 pixels wide)
|
|
0xF1, // #### #
|
|
0x91, // # # #
|
|
0x91, // # # #
|
|
0x8E, // # ###
|
|
|
|
// @35 '6' (5 pixels wide)
|
|
0x3E, // #####
|
|
0x51, // # # #
|
|
0x91, // # # #
|
|
0x91, // # # #
|
|
0x8E, // # ###
|
|
|
|
// @40 '7' (4 pixels wide)
|
|
0x80, // #
|
|
0x87, // # ###
|
|
0xB8, // # ###
|
|
0xC0, // ##
|
|
|
|
// @44 '8' (5 pixels wide)
|
|
0x6E, // ## ###
|
|
0x91, // # # #
|
|
0x91, // # # #
|
|
0x91, // # # #
|
|
0x6E, // ## ###
|
|
|
|
// @49 '9' (5 pixels wide)
|
|
0x71, // ### #
|
|
0x89, // # # #
|
|
0x89, // # # #
|
|
0x8A, // # # #
|
|
0x7C, // #####
|
|
|
|
// @54 ':' (1 pixels wide)
|
|
0xCC, // ## ##
|
|
|
|
// @55 'C' (5 pixels wide)
|
|
0x3C, // ####
|
|
0x42, // # #
|
|
0x81, // # #
|
|
0x81, // # #
|
|
0x81, // # #
|
|
|
|
// @60 'F' (4 pixels wide)
|
|
0xFF, // ########
|
|
0x90, // # #
|
|
0x90, // # #
|
|
0x90, // # #
|
|
|
|
// @64 '`' (2 pixels wide)
|
|
0x80, // #
|
|
0x40, // #
|
|
};
|
|
|
|
// Character descriptors for Segoe UI 8pt
|
|
// { [Char width in bits], [Char height in bits], [Offset into segoeUI_8ptCharBitmaps in bytes] }
|
|
const FONT_CHAR_INFO PROGMEM segoeUI_8ptDescriptors[] =
|
|
{
|
|
{2, 13, 0}, // ' '
|
|
{0, 0, 0}, // '!'
|
|
{0, 0, 0}, // '"'
|
|
{0, 0, 0}, // '#'
|
|
{0, 0, 0}, // '$'
|
|
{0, 0, 0}, // '%'
|
|
{0, 0, 0}, // '&'
|
|
{0, 0, 0}, // '''
|
|
{0, 0, 0}, // '('
|
|
{0, 0, 0}, // ')'
|
|
{0, 0, 0}, // '*'
|
|
{0, 0, 0}, // '+'
|
|
{0, 0, 0}, // ','
|
|
{3, 8, 4}, // '-'
|
|
{1, 8, 7}, // '.'
|
|
{0, 0, 0}, // '/'
|
|
{6, 8, 8}, // '0'
|
|
{3, 8, 14}, // '1'
|
|
{4, 8, 17}, // '2'
|
|
{4, 8, 21}, // '3'
|
|
{6, 8, 25}, // '4'
|
|
{4, 8, 31}, // '5'
|
|
{5, 8, 35}, // '6'
|
|
{4, 8, 40}, // '7'
|
|
{5, 8, 44}, // '8'
|
|
{5, 8, 49}, // '9'
|
|
{1, 6, 54}, // ':'
|
|
{0, 0, 0}, // ';'
|
|
{0, 0, 0}, // '<'
|
|
{0, 0, 0}, // '='
|
|
{0, 0, 0}, // '>'
|
|
{0, 0, 0}, // '?'
|
|
{0, 0, 0}, // '@'
|
|
{0, 0, 0}, // 'A'
|
|
{0, 0, 0}, // 'B'
|
|
{5, 8, 55}, // 'C'
|
|
{0, 0, 0}, // 'D'
|
|
{0, 0, 0}, // 'E'
|
|
{4, 8, 60}, // 'F'
|
|
{0, 0, 0}, // 'G'
|
|
{0, 0, 0}, // 'H'
|
|
{0, 0, 0}, // 'I'
|
|
{0, 0, 0}, // 'J'
|
|
{0, 0, 0}, // 'K'
|
|
{0, 0, 0}, // 'L'
|
|
{0, 0, 0}, // 'M'
|
|
{0, 0, 0}, // 'N'
|
|
{0, 0, 0}, // 'O'
|
|
{0, 0, 0}, // 'P'
|
|
{0, 0, 0}, // 'Q'
|
|
{0, 0, 0}, // 'R'
|
|
{0, 0, 0}, // 'S'
|
|
{0, 0, 0}, // 'T'
|
|
{0, 0, 0}, // 'U'
|
|
{0, 0, 0}, // 'V'
|
|
{0, 0, 0}, // 'W'
|
|
{0, 0, 0}, // 'X'
|
|
{0, 0, 0}, // 'Y'
|
|
{0, 0, 0}, // 'Z'
|
|
{0, 0, 0}, // '['
|
|
{0, 0, 0}, // '\'
|
|
{0, 0, 0}, // ']'
|
|
{0, 0, 0}, // '^'
|
|
{0, 0, 0}, // '_'
|
|
{2, 2, 64}, // '`'
|
|
};
|
|
|
|
// Font information for Segoe UI 8pt
|
|
const FONT_INFO segoeUI_8ptFontInfo =
|
|
{
|
|
13, // Character height
|
|
' ', // Start character
|
|
'`', // End character
|
|
1, // Width, in pixels, of space character
|
|
segoeUI_8ptDescriptors, // Character descriptor array
|
|
segoeUI_8ptBitmaps, // Character bitmap array
|
|
};
|
|
|
|
|
|
|
|
// Character bitmaps for Segoe UI 8pt
|
|
const uint8_t PROGMEM segoeUI_Italic_8ptBitmaps [] =
|
|
{
|
|
// @0 ' ' (2 pixels wide)
|
|
0x00, 0x00, //
|
|
0x00, 0x00, //
|
|
|
|
// @4 '-' (3 pixels wide)
|
|
0x08, // #
|
|
0x08, // #
|
|
0x08, // #
|
|
|
|
// @7 '.' (1 pixels wide)
|
|
0x3, // ##
|
|
|
|
// @8 '0' (6 pixels wide)
|
|
0x0C, // ##
|
|
0x33, // ## ##
|
|
0xC1, // ## #
|
|
0x81, // # #
|
|
0x86, // # ##
|
|
0x78, // ####
|
|
|
|
// @14 '1' (3 pixels wide)
|
|
0x41, // # #
|
|
0x7E, // ######
|
|
0xC0, // ##
|
|
|
|
// @17 '2' (6 pixels wide)
|
|
0x03, // ##
|
|
0x05, // # #
|
|
0x85, // # # #
|
|
0x89, // # # #
|
|
0x91, // # # #
|
|
0x60, // ##
|
|
|
|
// @23 '3' (6 pixels wide)
|
|
0x01, // #
|
|
0x01, // #
|
|
0x91, // # # #
|
|
0x91, // # # #
|
|
0xAE, // # # ###
|
|
0x40, // #
|
|
|
|
// @29 '4' (6 pixels wide)
|
|
0x04, // #
|
|
0x0C, // ##
|
|
0x14, // # #
|
|
0x67, // ## ###
|
|
0xFC, // ######
|
|
0x84, // # #
|
|
|
|
// @35 '5' (6 pixels wide)
|
|
0x01, // #
|
|
0x31, // ## #
|
|
0xD1, // ## # #
|
|
0x91, // # # #
|
|
0x8E, // # ###
|
|
0x80, // #
|
|
|
|
// @41 '6' (5 pixels wide)
|
|
0x3F, // ######
|
|
0x51, // # # #
|
|
0x91, // # # #
|
|
0x9E, // # ####
|
|
0x80, // #
|
|
|
|
// @46 '7' (5 pixels wide)
|
|
0x01, // #
|
|
0x86, // # ##
|
|
0x98, // # ##
|
|
0xA0, // # #
|
|
0xC0, // ##
|
|
|
|
// @51 '8' (6 pixels wide)
|
|
0x06, // ##
|
|
0x2B, // # # ##
|
|
0xD1, // ## # #
|
|
0x91, // # # #
|
|
0x9E, // # ####
|
|
0x60, // ##
|
|
|
|
// @57 '9' (6 pixels wide)
|
|
0x01, // #
|
|
0x71, // ### #
|
|
0x89, // # # #
|
|
0x8B, // # # ##
|
|
0x96, // # # ##
|
|
0x78, // ####
|
|
|
|
// @63 ':' (2 pixels wide)
|
|
0x0C, // ##
|
|
0xC0, // ##
|
|
|
|
// @65 'C' (6 pixels wide)
|
|
0x3E, // #####
|
|
0x43, // # ##
|
|
0x81, // # #
|
|
0x81, // # #
|
|
0x81, // # #
|
|
0x80, // #
|
|
|
|
// @71 'F' (6 pixels wide)
|
|
0x01, // #
|
|
0x1E, // ####
|
|
0xE8, // ### #
|
|
0x88, // # #
|
|
0x88, // # #
|
|
0x80, // #
|
|
|
|
// @77 '`' (1 pixels wide)
|
|
0x80, // #
|
|
};
|
|
|
|
// Character descriptors for Segoe UI 8pt
|
|
// { [Char width in bits], [Char height in bits], [Offset into segoeUI_8ptCharBitmaps in bytes] }
|
|
const FONT_CHAR_INFO PROGMEM segoeUI_Italic_8ptDescriptors[] =
|
|
{
|
|
{2, 13, 0}, // ' '
|
|
{0, 0, 0}, // '!'
|
|
{0, 0, 0}, // '"'
|
|
{0, 0, 0}, // '#'
|
|
{0, 0, 0}, // '$'
|
|
{0, 0, 0}, // '%'
|
|
{0, 0, 0}, // '&'
|
|
{0, 0, 0}, // '''
|
|
{0, 0, 0}, // '('
|
|
{0, 0, 0}, // ')'
|
|
{0, 0, 0}, // '*'
|
|
{0, 0, 0}, // '+'
|
|
{0, 0, 0}, // ','
|
|
{3, 8, 4}, // '-'
|
|
{1, 8, 7}, // '.'
|
|
{0, 0, 0}, // '/'
|
|
{6, 8, 8}, // '0'
|
|
{3, 8, 14}, // '1'
|
|
{6, 8, 17}, // '2'
|
|
{6, 8, 23}, // '3'
|
|
{6, 8, 29}, // '4'
|
|
{6, 8, 35}, // '5'
|
|
{5, 8, 41}, // '6'
|
|
{5, 8, 46}, // '7'
|
|
{6, 8, 51}, // '8'
|
|
{6, 8, 57}, // '9'
|
|
{2, 6, 63}, // ':'
|
|
{0, 0, 0}, // ';'
|
|
{0, 0, 0}, // '<'
|
|
{0, 0, 0}, // '='
|
|
{0, 0, 0}, // '>'
|
|
{0, 0, 0}, // '?'
|
|
{0, 0, 0}, // '@'
|
|
{0, 0, 0}, // 'A'
|
|
{0, 0, 0}, // 'B'
|
|
{6, 8, 65}, // 'C'
|
|
{0, 0, 0}, // 'D'
|
|
{0, 0, 0}, // 'E'
|
|
{6, 8, 71}, // 'F'
|
|
{0, 0, 0}, // 'G'
|
|
{0, 0, 0}, // 'H'
|
|
{0, 0, 0}, // 'I'
|
|
{0, 0, 0}, // 'J'
|
|
{0, 0, 0}, // 'K'
|
|
{0, 0, 0}, // 'L'
|
|
{0, 0, 0}, // 'M'
|
|
{0, 0, 0}, // 'N'
|
|
{0, 0, 0}, // 'O'
|
|
{0, 0, 0}, // 'P'
|
|
{0, 0, 0}, // 'Q'
|
|
{0, 0, 0}, // 'R'
|
|
{0, 0, 0}, // 'S'
|
|
{0, 0, 0}, // 'T'
|
|
{0, 0, 0}, // 'U'
|
|
{0, 0, 0}, // 'V'
|
|
{0, 0, 0}, // 'W'
|
|
{0, 0, 0}, // 'X'
|
|
{0, 0, 0}, // 'Y'
|
|
{0, 0, 0}, // 'Z'
|
|
{0, 0, 0}, // '['
|
|
{0, 0, 0}, // '\'
|
|
{0, 0, 0}, // ']'
|
|
{0, 0, 0}, // '^'
|
|
{0, 0, 0}, // '_'
|
|
{1, 1, 77}, // '`'
|
|
};
|
|
|
|
//
|
|
// Font information for Segoe UI 8pt
|
|
const FONT_INFO segoeUI_Italic_8ptFontInfo =
|
|
{
|
|
13, // Character height
|
|
' ', // Start character
|
|
'`', // End character
|
|
1, // Width, in pixels, of space character
|
|
segoeUI_Italic_8ptDescriptors, // Character descriptor array
|
|
segoeUI_Italic_8ptBitmaps, // Character bitmap array
|
|
};
|
|
|
|
|
|
//
|
|
// Font data for Segoe UI 7pt
|
|
//
|
|
|
|
// Character bitmaps for Segoe UI 7pt
|
|
const uint8_t PROGMEM segoeUI_7ptBitmaps [] =
|
|
{
|
|
// @0 ' ' (2 pixels wide)
|
|
0x00, 0x00, //
|
|
0x00, 0x00, //
|
|
|
|
// @4 '-' (2 pixels wide)
|
|
0x08, // #
|
|
0x08, // #
|
|
|
|
// @6 '.' (1 pixels wide)
|
|
0x02, // #
|
|
|
|
// @7 '0' (5 pixels wide)
|
|
0x7C, // #####
|
|
0x82, // # #
|
|
0x82, // # #
|
|
0x82, // # #
|
|
0x7C, // #####
|
|
|
|
// @12 '1' (2 pixels wide)
|
|
0x40, // #
|
|
0xFE, // #######
|
|
|
|
// @14 '2' (4 pixels wide)
|
|
0x46, // # ##
|
|
0x8A, // # # #
|
|
0x92, // # # #
|
|
0x62, // ## #
|
|
|
|
// @18 '3' (4 pixels wide)
|
|
0x82, // # #
|
|
0x92, // # # #
|
|
0x92, // # # #
|
|
0x6C, // ## ##
|
|
|
|
// @22 '4' (5 pixels wide)
|
|
0x0C, // ##
|
|
0x34, // ## #
|
|
0x44, // # #
|
|
0xFE, // #######
|
|
0x04, // #
|
|
|
|
// @27 '5' (4 pixels wide)
|
|
0xF2, // #### #
|
|
0x92, // # # #
|
|
0x92, // # # #
|
|
0x8C, // # ##
|
|
|
|
// @31 '6' (5 pixels wide)
|
|
0x3C, // ####
|
|
0x62, // ## #
|
|
0xA2, // # # #
|
|
0xA2, // # # #
|
|
0x9C, // # ###
|
|
|
|
// @36 '7' (4 pixels wide)
|
|
0x80, // #
|
|
0x86, // # ##
|
|
0xB8, // # ###
|
|
0xC0, // ##
|
|
|
|
// @40 '8' (5 pixels wide)
|
|
0x6C, // ## ##
|
|
0x92, // # # #
|
|
0x92, // # # #
|
|
0x92, // # # #
|
|
0x6C, // ## ##
|
|
|
|
// @45 '9' (5 pixels wide)
|
|
0x72, // ### #
|
|
0x8A, // # # #
|
|
0x8A, // # # #
|
|
0x8E, // # ###
|
|
0x78, // ####
|
|
|
|
// @50 ':' (1 pixels wide)
|
|
0x88, // # #
|
|
|
|
// @51 'C' (5 pixels wide)
|
|
0x3C, // ####
|
|
0x46, // # ##
|
|
0x82, // # #
|
|
0x82, // # #
|
|
0x82, // # #
|
|
|
|
// @56 'F' (3 pixels wide)
|
|
0xFE, // #######
|
|
0x90, // # #
|
|
0x90, // # #
|
|
|
|
// @59 'V' (6 pixels wide)
|
|
0xC0, // ##
|
|
0x38, // ###
|
|
0x06, // ##
|
|
0x0E, // ###
|
|
0x70, // ###
|
|
0x80, // #
|
|
|
|
// @65 '`' (2 pixels wide)
|
|
0x80, // #
|
|
0x40, // #
|
|
};
|
|
|
|
// Character descriptors for Segoe UI 7pt
|
|
// { [Char width in bits], [Char height in bits], [Offset into segoeUI_7ptCharBitmaps in bytes] }
|
|
const FONT_CHAR_INFO PROGMEM segoeUI_7ptDescriptors[] =
|
|
{
|
|
{2, 12, 0}, // ' '
|
|
{0, 0, 0}, // '!'
|
|
{0, 0, 0}, // '"'
|
|
{0, 0, 0}, // '#'
|
|
{0, 0, 0}, // '$'
|
|
{0, 0, 0}, // '%'
|
|
{0, 0, 0}, // '&'
|
|
{0, 0, 0}, // '''
|
|
{0, 0, 0}, // '('
|
|
{0, 0, 0}, // ')'
|
|
{0, 0, 0}, // '*'
|
|
{0, 0, 0}, // '+'
|
|
{0, 0, 0}, // ','
|
|
{2, 5, 4}, // '-'
|
|
{1, 7, 6}, // '.'
|
|
{0, 0, 0}, // '/'
|
|
{5, 7, 7}, // '0'
|
|
{2, 7, 12}, // '1'
|
|
{4, 7, 14}, // '2'
|
|
{4, 7, 18}, // '3'
|
|
{5, 7, 22}, // '4'
|
|
{4, 7, 27}, // '5'
|
|
{5, 7, 31}, // '6'
|
|
{4, 7, 36}, // '7'
|
|
{5, 7, 40}, // '8'
|
|
{5, 7, 45}, // '9'
|
|
{1, 5, 50}, // ':'
|
|
{0, 0, 0}, // ';'
|
|
{0, 0, 0}, // '<'
|
|
{0, 0, 0}, // '='
|
|
{0, 0, 0}, // '>'
|
|
{0, 0, 0}, // '?'
|
|
{0, 0, 0}, // '@'
|
|
{0, 0, 0}, // 'A'
|
|
{0, 0, 0}, // 'B'
|
|
{5, 7, 51}, // 'C'
|
|
{0, 0, 0}, // 'D'
|
|
{0, 0, 0}, // 'E'
|
|
{3, 7, 56}, // 'F'
|
|
{0, 0, 0}, // 'G'
|
|
{0, 0, 0}, // 'H'
|
|
{0, 0, 0}, // 'I'
|
|
{0, 0, 0}, // 'J'
|
|
{0, 0, 0}, // 'K'
|
|
{0, 0, 0}, // 'L'
|
|
{0, 0, 0}, // 'M'
|
|
{0, 0, 0}, // 'N'
|
|
{0, 0, 0}, // 'O'
|
|
{0, 0, 0}, // 'P'
|
|
{0, 0, 0}, // 'Q'
|
|
{0, 0, 0}, // 'R'
|
|
{0, 0, 0}, // 'S'
|
|
{0, 0, 0}, // 'T'
|
|
{0, 0, 0}, // 'U'
|
|
{6, 7, 59}, // 'V'
|
|
{0, 0, 0}, // 'W'
|
|
{0, 0, 0}, // 'X'
|
|
{0, 0, 0}, // 'Y'
|
|
{0, 0, 0}, // 'Z'
|
|
{0, 0, 0}, // '['
|
|
{0, 0, 0}, // '\'
|
|
{0, 0, 0}, // ']'
|
|
{0, 0, 0}, // '^'
|
|
{0, 0, 0}, // '_'
|
|
{2, 2, 65}, // '`'
|
|
};
|
|
|
|
// Font information for Segoe UI 7pt
|
|
const FONT_INFO segoeUI_7ptFontInfo =
|
|
{
|
|
12, // Character height
|
|
' ', // Start character
|
|
'`', // End character
|
|
1,
|
|
segoeUI_7ptDescriptors, // Character descriptor array
|
|
segoeUI_7ptBitmaps, // Character bitmap array
|
|
};
|
|
|
|
//
|
|
// Font data for Segoe UI 7pt
|
|
//
|
|
|
|
// Character bitmaps for Segoe UI 7pt
|
|
const uint8_t PROGMEM segoeUI_Italic_7ptBitmaps [] =
|
|
{
|
|
// @0 ' ' (2 pixels wide)
|
|
0x00, 0x00, //
|
|
0x00, 0x00, //
|
|
|
|
// @4 '-' (2 pixels wide)
|
|
0x08, // #
|
|
0x08, // #
|
|
|
|
// @6 '.' (1 pixels wide)
|
|
0x02, // #
|
|
|
|
// @7 '0' (5 pixels wide)
|
|
0x1C, // ###
|
|
0x62, // ## #
|
|
0x82, // # #
|
|
0x8C, // # ##
|
|
0x70, // ###
|
|
|
|
// @12 '1' (2 pixels wide)
|
|
0x5E, // # ####
|
|
0xE0, // ###
|
|
|
|
// @14 '2' (5 pixels wide)
|
|
0x06, // ##
|
|
0x46, // # ##
|
|
0x8A, // # # #
|
|
0x92, // # # #
|
|
0x60, // ##
|
|
|
|
// @19 '3' (5 pixels wide)
|
|
0x02, // #
|
|
0x12, // # #
|
|
0x92, // # # #
|
|
0xAC, // # # ##
|
|
0x40, // #
|
|
|
|
// @24 '4' (5 pixels wide)
|
|
0x18, // ##
|
|
0x28, // # #
|
|
0x4E, // # ###
|
|
0xB8, // # ###
|
|
0xC8, // ## #
|
|
|
|
// @29 '5' (5 pixels wide)
|
|
0x06, // ##
|
|
0x72, // ### #
|
|
0x92, // # # #
|
|
0x9C, // # ###
|
|
0x80, // #
|
|
|
|
// @34 '6' (4 pixels wide)
|
|
0x1C, // ###
|
|
0x72, // ### #
|
|
0x92, // # # #
|
|
0x9C, // # ###
|
|
0x80, // #
|
|
|
|
// @39 '7' (4 pixels wide)
|
|
0x86, // # ##
|
|
0x98, // # ##
|
|
0xA0, // # #
|
|
0xC0, // ##
|
|
|
|
// @43 '8' (5 pixels wide)
|
|
0x0C, // ##
|
|
0x72, // ### #
|
|
0x92, // # # #
|
|
0x9C, // # ###
|
|
0x60, // ##
|
|
|
|
// @48 '9' (5 pixels wide)
|
|
0x02, // #
|
|
0x72, // ### #
|
|
0x92, // # # #
|
|
0x9C, // # ###
|
|
0x70, // ###
|
|
|
|
// @53 ':' (2 pixels wide)
|
|
0x08, // #
|
|
0x80, // #
|
|
|
|
// @55 'C' (5 pixels wide)
|
|
0x7C, // #####
|
|
0xC2, // ## #
|
|
0x82, // # #
|
|
0x82, // # #
|
|
0x80, // #
|
|
|
|
// @60 'F' (5 pixels wide)
|
|
0x06, // ##
|
|
0x78, // ####
|
|
0x90, // # #
|
|
0x90, // # #
|
|
0x80, // #
|
|
|
|
// @65 'V' (5 pixels wide)
|
|
0xFC, // ######
|
|
0x06, // ##
|
|
0x18, // ##
|
|
0x20, // #
|
|
0xC0, // ##
|
|
|
|
// @70 '`' (2 pixels wide)
|
|
0x80, // #
|
|
0x40, // #
|
|
};
|
|
|
|
// Character descriptors for Segoe UI 7pt
|
|
// { [Char width in bits], [Char height in bits], [Offset into segoeUI_7ptCharBitmaps in bytes] }
|
|
const FONT_CHAR_INFO PROGMEM segoeUI_Italic_7ptDescriptors[] =
|
|
{
|
|
{2, 12, 0}, // ' '
|
|
{0, 0, 0}, // '!'
|
|
{0, 0, 0}, // '"'
|
|
{0, 0, 0}, // '#'
|
|
{0, 0, 0}, // '$'
|
|
{0, 0, 0}, // '%'
|
|
{0, 0, 0}, // '&'
|
|
{0, 0, 0}, // '''
|
|
{0, 0, 0}, // '('
|
|
{0, 0, 0}, // ')'
|
|
{0, 0, 0}, // '*'
|
|
{0, 0, 0}, // '+'
|
|
{0, 0, 0}, // ','
|
|
{2, 5, 4}, // '-'
|
|
{1, 7, 6}, // '.'
|
|
{0, 0, 0}, // '/'
|
|
{5, 7, 7}, // '0'
|
|
{2, 7, 12}, // '1'
|
|
{5, 7, 14}, // '2'
|
|
{5, 7, 19}, // '3'
|
|
{5, 7, 24}, // '4'
|
|
{5, 7, 29}, // '5'
|
|
{4, 7, 34}, // '6'
|
|
{4, 7, 39}, // '7'
|
|
{5, 7, 43}, // '8'
|
|
{5, 7, 48}, // '9'
|
|
{2, 5, 53}, // ':'
|
|
{0, 0, 0}, // ';'
|
|
{0, 0, 0}, // '<'
|
|
{0, 0, 0}, // '='
|
|
{0, 0, 0}, // '>'
|
|
{0, 0, 0}, // '?'
|
|
{0, 0, 0}, // '@'
|
|
{0, 0, 0}, // 'A'
|
|
{0, 0, 0}, // 'B'
|
|
{5, 7, 55}, // 'C'
|
|
{0, 0, 0}, // 'D'
|
|
{0, 0, 0}, // 'E'
|
|
{5, 7, 60}, // 'F'
|
|
{0, 0, 0}, // 'G'
|
|
{0, 0, 0}, // 'H'
|
|
{0, 0, 0}, // 'I'
|
|
{0, 0, 0}, // 'J'
|
|
{0, 0, 0}, // 'K'
|
|
{0, 0, 0}, // 'L'
|
|
{0, 0, 0}, // 'M'
|
|
{0, 0, 0}, // 'N'
|
|
{0, 0, 0}, // 'O'
|
|
{0, 0, 0}, // 'P'
|
|
{0, 0, 0}, // 'Q'
|
|
{0, 0, 0}, // 'R'
|
|
{0, 0, 0}, // 'S'
|
|
{0, 0, 0}, // 'T'
|
|
{0, 0, 0}, // 'U'
|
|
{5, 7, 65}, // 'V'
|
|
{0, 0, 0}, // 'W'
|
|
{0, 0, 0}, // 'X'
|
|
{0, 0, 0}, // 'Y'
|
|
{0, 0, 0}, // 'Z'
|
|
{0, 0, 0}, // '['
|
|
{0, 0, 0}, // '\'
|
|
{0, 0, 0}, // ']'
|
|
{0, 0, 0}, // '^'
|
|
{0, 0, 0}, // '_'
|
|
{2, 2, 70}, // '`'
|
|
};
|
|
|
|
// Font information for Segoe UI 7pt
|
|
const FONT_INFO segoeUI_Italic_7ptFontInfo =
|
|
{
|
|
12, // Character height
|
|
' ', // Start character
|
|
'`', // End character
|
|
1,
|
|
segoeUI_Italic_7ptDescriptors, // Character descriptor array
|
|
segoeUI_Italic_7ptBitmaps, // Character bitmap array
|
|
};
|
|
|