left out fonts!

This commit is contained in:
rljonesau 2018-12-16 18:39:23 +11:00
parent 3b52e93482
commit 620425e978
15 changed files with 4911 additions and 0 deletions

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,12 @@
#include "FontTypes.h"
// Font data for Arial 8pt
extern const uint8_t PROGMEM arial_8ptBitmaps [];
extern const FONT_INFO arial_8ptFontInfo;
extern const FONT_CHAR_INFO PROGMEM arial_8ptDescriptors[];
// Font data for Arial 7pt
extern const uint8_t PROGMEM arial_7ptBitmaps [];
extern const FONT_INFO arial_7ptFontInfo;
extern const FONT_CHAR_INFO PROGMEM arial_7ptDescriptors[];

View file

@ -0,0 +1,50 @@
/*
* 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/>.
*
*/
#ifndef __FONT_TYPES_H__
#define __FONT_TYPES_H__
#include <stdint.h>
#ifdef __AVR__
#include <avr/io.h>
#include <avr/pgmspace.h>
#else
#define PROGMEM
#endif
typedef struct {
uint8_t Width; // Char width in bits
uint8_t Height;
uint16_t Offset; // Offset into bitmap array bytes)
} FONT_CHAR_INFO;
typedef struct {
uint8_t nBitsPerLine; // Character "height"
uint8_t StartChar; // Start character
uint8_t EndChar; // End character
uint8_t SpaceWidth;
const FONT_CHAR_INFO* pCharInfo; // Character descriptor array
const unsigned char* pBitmaps; // Character bitmap array
} FONT_INFO;
#endif

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,14 @@
#include "FontTypes.h"
// Font data for Franklin Gothic Medium Cond 8pt
extern const uint8_t PROGMEM franklinGothicMediumCond_8ptBitmaps [] ;
extern const FONT_CHAR_INFO PROGMEM franklinGothicMediumCond_8ptDescriptors[] ;
extern const FONT_INFO franklinGothicMediumCond_8ptFontInfo;
// Font data for Franklin Gothic Medium Cond 7pt
extern const uint8_t PROGMEM franklinGothicMediumCond_7ptBitmaps [];
extern const FONT_INFO franklinGothicMediumCond_7ptFontInfo;
extern const FONT_CHAR_INFO PROGMEM franklinGothicMediumCond_7ptDescriptors[];

View file

@ -0,0 +1,134 @@
/*
* 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 <Arduino.h>
#include "Icons.h"
// 'Thermometer', 8x50px
const unsigned char bodyThermometerIcon [] PROGMEM = {
0x00, 0x18, 0x24, 0x24, 0x24, 0x24, 0x24, 0x26, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24,
0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x26, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24,
0x24, 0x24, 0x24, 0x24, 0x24, 0x26, 0x24, 0x24, 0x24, 0x24, 0x3c, 0x7e, 0xff, 0xff, 0xff, 0xff,
0x7e, 0x3c
};
// 'ThermometerActual', 8x50px
const unsigned char ambientThermometerIcon [] PROGMEM = {
0x00, 0x18, 0x24, 0x24, 0x24, 0x24, 0x24, 0x26, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24,
0x24, 0x26, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x26, 0x24, 0x24, 0x24, 0x24,
0x24, 0x24, 0x24, 0x24, 0x24, 0x26, 0x24, 0x24, 0x24, 0x24, 0x3c, 0x7e, 0xff, 0xff, 0xff, 0xff,
0x7e, 0x3c
};
// 'ThermoPtr', 3x5px
const unsigned char thermoPtr [] PROGMEM = {
0x80, 0xc0, 0xe0, 0xc0, 0x80
};
// 'Bluetooth icon', 6x11px
const unsigned char BTicon [] PROGMEM = {
0x20, 0x30, 0x28, 0xa4, 0x68, 0x30, 0x68, 0xa4, 0x28, 0x30, 0x20,
};
// 'wifiIcon', 13x10px
const unsigned char wifiIcon [] PROGMEM = {
0x1f, 0xc0, 0x20, 0x20, 0x40, 0x10, 0x8f, 0x88, 0x10, 0x40, 0x20, 0x20,
0x07, 0x00, 0x08, 0x80, 0x00, 0x00, 0x02, 0x00
};
// 'wifiInIcon, 5x5px
const unsigned char wifiInIcon [] PROGMEM = {
0x70, 0x70, 0xf8, 0x70, 0x20
};
// 'wifiOutIcon, 5x5px
const unsigned char wifiOutIcon [] PROGMEM = {
0x20, 0x70, 0xf8, 0x70, 0x70
};
// 'BatteryIcon', 15x10px
const unsigned char BatteryIcon [] PROGMEM = {
0x30, 0x18, 0xff, 0xfe, 0x80, 0x02, 0xb6, 0xda, 0xb6, 0xda, 0xb6, 0xda, 0xb6, 0xda, 0xb6, 0xda,
0x80, 0x02, 0xff, 0xfe
};
// 'GlowPlugIcon', 16x9px
const unsigned char GlowPlugIcon [] PROGMEM = {
0x71, 0xc7, 0x0e, 0x38, 0x14, 0x14, 0x12, 0x24, 0x11, 0x44, 0x11, 0x44, 0x11, 0x44, 0x0a, 0x28,
0x0e, 0x38
};
// 'HeatRise', 17x2px
const unsigned char GlowHeatIcon [] PROGMEM = {
0x80, 0x00, 0x80, 0x40, 0x01, 0x00
};
// 'Fan3_1a', 16x16px
const unsigned char FanIcon1 [] PROGMEM = {
0x03, 0xc0, 0x04, 0x20, 0x04, 0x20, 0x04, 0x20, 0x04, 0x20, 0x03, 0xc0, 0x07, 0xe0, 0x06, 0x60,
0x7e, 0x7e, 0x87, 0xe1, 0x87, 0xe1, 0x84, 0x21, 0x84, 0x21, 0x78, 0x1e, 0x00, 0x00, 0x00, 0x00
};
// 'Fan3_2a', 16x16px
const unsigned char FanIcon2 [] PROGMEM = {
0x00, 0x78, 0x00, 0x84, 0x00, 0x84, 0x00, 0x84, 0x00, 0x84, 0x7b, 0xf8, 0x87, 0xe0, 0x86, 0x60,
0x86, 0x60, 0x87, 0xe0, 0x7b, 0xf8, 0x00, 0x84, 0x00, 0x84, 0x00, 0x84, 0x00, 0x84, 0x00, 0x78
};
// 'Fan3_3a', 16x16px
const unsigned char FanIcon3 [] PROGMEM = {
0x00, 0x00, 0x00, 0x00, 0x78, 0x1e, 0x84, 0x21, 0x84, 0x21, 0x87, 0xe1, 0x87, 0xe1, 0x7e, 0x7e,
0x06, 0x60, 0x07, 0xe0, 0x03, 0xc0, 0x04, 0x20, 0x04, 0x20, 0x04, 0x20, 0x04, 0x20, 0x03, 0xc0
};
// 'Fan3_4a', 16x16px
const unsigned char FanIcon4 [] PROGMEM = {
0x1e, 0x00, 0x21, 0x00, 0x21, 0x00, 0x21, 0x00, 0x21, 0x00, 0x1f, 0xde, 0x07, 0xe1, 0x06, 0x61,
0x06, 0x61, 0x07, 0xe1, 0x1f, 0xde, 0x21, 0x00, 0x21, 0x00, 0x21, 0x00, 0x21, 0x00, 0x1e, 0x00
};
// 'FuelIcon', 7x12px
const unsigned char FuelIcon [] PROGMEM = {
0x10, 0x10, 0x38, 0x38, 0x7c, 0x7c, 0xfe, 0xfe, 0xfe, 0xfe, 0x7c, 0x38
};
// 'Target', 13x13px
const unsigned char TargetIcon [] PROGMEM = {
0x0f, 0x80, 0x10, 0x40, 0x20, 0x20, 0x47, 0x10, 0x88, 0x88, 0x92, 0x48, 0x97, 0x48, 0x92, 0x48,
0x88, 0x88, 0x47, 0x10, 0x20, 0x20, 0x10, 0x40, 0x0f, 0x80
};
// 'repeat', 15x15px
const unsigned char repeatIcon [] PROGMEM = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x02, 0x00, 0x02, 0xf0, 0x04, 0xe0, 0x04, 0xe0, 0x08, 0x98, 0x30, 0x07, 0xc0
};
// 'timerID1', 15x15px
const unsigned char timerID1Icon [] PROGMEM = {
0x00, 0x00, 0x00, 0x00, 0x07, 0xc0, 0x09, 0x20, 0x11, 0x10, 0x21, 0x08, 0x2d, 0x08, 0x25, 0xe8,
0x24, 0x08, 0x24, 0x08, 0x10, 0x10, 0x08, 0x20, 0x07, 0xc0, 0x00, 0x00, 0x00, 0x00
};
// 'timerID2', 15x15px
const unsigned char timerID2Icon [] PROGMEM = {
0x00, 0x00, 0x00, 0x00, 0x07, 0xc0, 0x09, 0x20, 0x11, 0x10, 0x21, 0x08, 0x2d, 0x08, 0x25, 0xe8,
0x28, 0x08, 0x2c, 0x08, 0x10, 0x10, 0x08, 0x20, 0x07, 0xc0, 0x00, 0x00, 0x00, 0x00
};

View file

@ -0,0 +1,95 @@
/*
* 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/>.
*
*/
// 'Thermometer', 8x50px
#define W_BULB_ICON 8
#define H_BULB_ICON 50
extern const unsigned char ambientThermometerIcon [];
extern const unsigned char bodyThermometerIcon [];
// 'ThermoPtr', 3x5px
#define W_PTR_ICON 3
#define H_PTR_ICON 5
extern const unsigned char thermoPtr [];
// 'Bluetooth icon', 6x11px
#define W_BT_ICON 6
#define H_BT_ICON 11
extern const unsigned char BTicon [];
// 'wifiIcon', 13x10px
#define W_WIFI_ICON 13
#define H_WIFI_ICON 10
extern const unsigned char wifiIcon [];
// 'wifiInIcon', 5x5px
#define W_WIFIIN_ICON 5
#define H_WIFIIN_ICON 5
extern const unsigned char wifiInIcon [];
// 'wifiOutIcon', 5x5px
#define W_WIFIOUT_ICON 5
#define H_WIFIOUT_ICON 5
extern const unsigned char wifiOutIcon [];
// 'BatteryIcon', 15x10px
#define W_BATT_ICON 15
#define H_BATT_ICON 10
extern const unsigned char BatteryIcon [];
// 'GlowPlugIcon', 16x9px
#define W_GLOW_ICON 16
#define H_GLOW_ICON 9
extern const unsigned char GlowPlugIcon [];
// 'HeatRise', 17x2px
#define W_HEAT_ICON 17
#define H_HEAT_ICON 2
extern const unsigned char GlowHeatIcon [];
#define W_FAN_ICON 16
#define H_FAN_ICON 16
// 'Fan3_1a', 16x16px
extern const unsigned char FanIcon1 [];
// 'Fan3_2a', 16x16px
extern const unsigned char FanIcon2 [];
// 'Fan3_3a', 16x16px
extern const unsigned char FanIcon3 [];
// 'Fan3_4a', 16x16px
extern const unsigned char FanIcon4 [];
// 'FuelIcon', 7x12px
#define W_FUEL_ICON 7
#define H_FUEL_ICON 12
extern const unsigned char FuelIcon [];
// 'Target', 13x13px
#define W_TARGET_ICON 13
#define H_TARGET_ICON 13
extern const unsigned char TargetIcon [];
#define W_TIMER_ICON 15
#define H_TIMER_ICON 15
extern const unsigned char repeatIcon [];
extern const unsigned char timerID1Icon [];
extern const unsigned char timerID2Icon [];

View file

@ -0,0 +1,218 @@
/*
* 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 "MiniFont.h"
//
// Font data for a 3x5 font
// Hand carved by Ray Jones, based upon The Dot Factory font tool output structures
//
// Character bitmaps for a 3x5 font
const uint8_t miniFontBitmaps[] PROGMEM =
{
// @0 '.' (1 pixels wide)
0x08, // #
// @1 '0' (3 pixels wide)
0x70, // ###
0x88, // # #
0x70, // ###
// @4 '1' (3 pixels wide)
0x48, // # #
0xf8, // #####
0x08, // #
// @7 '2' (3 pixels wide)
0x98, // # ##
0xa8, // # # #
0x48, // # #
// @10 '3' (3 pixels wide)
0x88, // # #
0xa8, // # # #
0xf8, // #####
// @13 '4' (3 pixels wide)
0xe0, // ###
0x20, // #
0xf8, // #####
// @16 '5' (3 pixels wide)
0xe8, // ### #
0xa8, // # # #
0x90, // # #
// @19 '6' (3 pixels wide)
0x78, // ####
0xa8, // # # #
0xb8, // # ###
// @22 '7' (3 pixels wide)
0x80, // #
0x80, // #
0xf8, // #####
// @25 '8' (3 pixels wide)
0xf8, // #####
0xa8, // # # #
0xF8, // #####
// @28 '9' (3 pixels wide)
0xe8, // ### #
0xa8, // # # #
0xF0, // ####
// @31 '`' (2 pixels wide)
0xC0, // ##
0xC0, // ##
// @33 'A' (3 pixels wide)
0xf8, // #####
0xa0, // # #
0xf8, // #####
// @36 'C' (3 pixels wide)
0x70, // ###
0x88, // # #
0x88, // # #
// @39 'H' (3 pixels wide)
0xf8, // #####
0x20, // #
0xf8, // #####
// @42 'P' (3 pixels wide)
0xf8, // #####
0xa0, // # #
0xe0, // ###
// @45 'V' (3 pixels wide)
0xf0, // ####
0x08, // #
0xf0, // ####
// @48 'W' (3 pixels wide)
0xf8, // #####
0x10, // #
0xf8, // #####
// @51 'z' (3 pixels wide)
0x28, // # #
0x38, // ###
0x28, // # #
};
// Character descriptors for a 3x5 font
// { [Char width in bits], [Char height in bits], [Offset into tahoma_16ptCharBitmaps in bytes] }
const FONT_CHAR_INFO miniFontDescriptors[] PROGMEM =
{
{1, 5, 0}, // '.'
{0, 0, 0}, // '/'
{3, 5, 1}, // '0'
{3, 5, 4}, // '1'
{3, 5, 7}, // '2'
{3, 5, 10}, // '3'
{3, 5, 13}, // '4'
{3, 5, 16}, // '5'
{3, 5, 19}, // '6'
{3, 5, 22}, // '7'
{3, 5, 25}, // '8'
{3, 5, 28}, // '9'
{0, 0, 0}, // ':'
{0, 0, 0}, // ';'
{0, 0, 0}, // '<'
{0, 0, 0}, // '='
{0, 0, 0}, // '>'
{0, 0, 0}, // '?'
{0, 0, 0}, // '@'
{3, 5, 33}, // 'A'
{0, 0, 0}, // 'B'
{3, 5, 36}, // 'C'
{0, 0, 0}, // 'D'
{0, 0, 0}, // 'E'
{0, 0, 0}, // 'F'
{0, 0, 0}, // 'G'
{3, 5, 39}, // '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'
{3, 5, 42}, // 'P'
{0, 0, 0}, // 'Q'
{0, 0, 0}, // 'R'
{0, 0, 0}, // 'S'
{0, 0, 0}, // 'T'
{0, 0, 0}, // 'U'
{3, 5, 45}, // 'V'
{3, 5, 48}, // '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, 5, 31}, // '`' use for degree symbol
{0, 0, 0}, // 'a'
{0, 0, 0}, // 'b'
{0, 0, 0}, // 'c'
{0, 0, 0}, // 'd'
{0, 0, 0}, // 'e'
{0, 0, 0}, // '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'
{3, 5, 51}, // 'z'
};
// Font information for Mini Font, a 3x5 font
// easier to leave in RAM, not that big anyway
const FONT_INFO miniFontInfo =
{
5, // Character height
'.', // Start character
'z', // End character
1, // Width, in pixels, of space character
miniFontDescriptors, // Character descriptor array
miniFontBitmaps, // Character bitmap array
};

View file

@ -0,0 +1,27 @@
/*
* 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 "FontTypes.h"
// Font data for Mini Font, a 3x5 font
extern const uint8_t miniFontBitmaps[] PROGMEM; // stored in program flash memory
extern const FONT_CHAR_INFO miniFontDescriptors[] PROGMEM; // stored in program flash memory
extern const FONT_INFO miniFontInfo;

View file

@ -0,0 +1,602 @@
#include "OCRfont.h"
//
// Font data for OCR A Extended 8pt
//
// Generated by The Dot Factory:
// http://www.eran.io/the-dot-factory-an-lcd-font-and-image-generator/
//
/////////////////////////////////////////////////////////////////////////////////////////////////////
//
// Dot Factory Settings
//
// Flip/Rotate Padding Removal Line Wrap Descriptors
// [X] Flip X Height(Y): None (O) At column [X] Generate descriptor array
// [ ] Flip Y Width(X): Tightest ( ) At bitmap Char Width: In Bits
// 90deg Char Height: In Bits
// Font Height: In Bits
// Comments Byte [ ] Multiple descriptor arrays
// [X] Variable Name Bit layout: RowMajor
// [X] BMP visualise [#] Order: MSBfirst Create new when exceeds [80]
// [X] Char descriptor Format: Hex
// Style: Cpp Leading: 0x Image width: In Bits
// Image height: In Bits
// Variable name format
// Bitmaps: const uint8_t PROGMEM {0}Bitmaps Space char generation
// Char Info: const FONT_CHAR_INFO PROGMEM {0}Descriptors [X] Generate space bitmap
// Font Info: const FONT_INFO {0}FontInfo [2] pixels for space char
// Width: const uint8_t {0}Width
// Height: const uint8_t {0}Height
//
/////////////////////////////////////////////////////////////////////////////////////////////////////
// Character bitmaps for OCR A Extended 8pt
const uint8_t oCRAExtended_8ptBitmaps[] PROGMEM =
{
// @0 ' ' (2 pixels wide)
0x00, 0x00, //
0x00, 0x00, //
// @4 ',' (3 pixels wide)
0x80, // #
0x80, // #
0xE0, // ###
// @7 '.' (1 pixels wide)
0x80, // #
// @8 '/' (5 pixels wide)
0x02, // #
0x0C, // ##
0x10, // #
0x60, // ##
0x80, // #
// @13 '0' (5 pixels wide)
0xFE, // #######
0x82, // # #
0x82, // # #
0x82, // # #
0xFE, // #######
// @18 '1' (5 pixels wide)
0x82, // # #
0x82, // # #
0xFE, // #######
0x02, // #
0x0E, // ###
// @23 '2' (5 pixels wide)
0x9E, // # ####
0x92, // # # #
0x92, // # # #
0x92, // # # #
0xF2, // #### #
// @28 '3' (5 pixels wide)
0x82, // # #
0x92, // # # #
0x92, // # # #
0x92, // # # #
0xEE, // ### ###
// @33 '4' (4 pixels wide)
0xF8, // #####
0x08, // #
0x08, // #
0x7E, // ######
// @37 '5' (5 pixels wide)
0x02, // #
0xF2, // #### #
0x92, // # # #
0x92, // # # #
0x9E, // # ####
// @42 '6' (5 pixels wide)
0xFE, // #######
0x0A, // # #
0x0A, // # #
0x0A, // # #
0x0E, // ###
// @47 '7' (5 pixels wide)
0x80, // #
0x80, // #
0x8E, // # ###
0x90, // # #
0xE0, // ###
// @52 '8' (5 pixels wide)
0x1E, // ####
0xF2, // #### #
0x92, // # # #
0xF2, // #### #
0x1E, // ####
// @57 '9' (5 pixels wide)
0xE0, // ###
0xA0, // # #
0xA0, // # #
0xA0, // # #
0xFE, // #######
// @62 ':' (1 pixels wide)
0xA0, // # #
// @63 'A' (5 pixels wide)
0x06, // ##
0x3C, // ####
0xC4, // ## #
0x3C, // ####
0x06, // ##
// @68 'B' (5 pixels wide)
0xFE, // #######
0x92, // # # #
0x92, // # # #
0x92, // # # #
0x6C, // ## ##
// @73 'C' (5 pixels wide)
0x38, // ###
0x44, // # #
0x82, // # #
0x82, // # #
0x82, // # #
// @78 'D' (5 pixels wide)
0x82, // # #
0xFE, // #######
0x82, // # #
0x44, // # #
0x38, // ###
// @83 'E' (5 pixels wide)
0xFE, // #######
0x92, // # # #
0x92, // # # #
0x82, // # #
0x82, // # #
// @88 'F' (5 pixels wide)
0xFE, // #######
0xA0, // # #
0xA0, // # #
0xA0, // # #
0x80, // #
// @93 'G' (5 pixels wide)
0x3E, // #####
0x42, // # #
0x8A, // # # #
0x8A, // # # #
0x8E, // # ###
// @98 'H' (5 pixels wide)
0xFE, // #######
0x10, // #
0x10, // #
0x10, // #
0xFE, // #######
// @103 'I' (5 pixels wide)
0x82, // # #
0x82, // # #
0xFE, // #######
0x82, // # #
0x82, // # #
// @108 'J' (4 pixels wide)
0x0C, // ##
0x02, // #
0x02, // #
0xFC, // ######
// @112 'K' (5 pixels wide)
0xFE, // #######
0x10, // #
0x28, // # #
0x44, // # #
0x82, // # #
// @117 'L' (5 pixels wide)
0xFE, // #######
0x02, // #
0x02, // #
0x02, // #
0x02, // #
// @122 'M' (5 pixels wide)
0xFE, // #######
0xC0, // ##
0x20, // #
0xC0, // ##
0xFE, // #######
// @127 'N' (5 pixels wide)
0xFE, // #######
0x60, // ##
0x10, // #
0x0C, // ##
0xFE, // #######
// @132 'O' (5 pixels wide)
0x38, // ###
0x44, // # #
0x82, // # #
0x44, // # #
0x38, // ###
// @137 'P' (5 pixels wide)
0xFE, // #######
0x90, // # #
0x90, // # #
0x90, // # #
0x60, // ##
// @142 'Q' (5 pixels wide)
0x3E, // #####
0x42, // # #
0x4C, // # ##
0x8E, // # ###
0xFA, // ##### #
// @147 'R' (5 pixels wide)
0xFE, // #######
0xA0, // # #
0xB0, // # ##
0xAC, // # # ##
0x42, // # #
// @152 'S' (5 pixels wide)
0x44, // # #
0xA2, // # # #
0x92, // # # #
0x8A, // # # #
0x46, // # ##
// @157 'T' (5 pixels wide)
0xC0, // ##
0x80, // #
0xFE, // #######
0x80, // #
0xC0, // ##
// @162 'U' (5 pixels wide)
0xFC, // ######
0x02, // #
0x02, // #
0x02, // #
0xFC, // ######
// @167 'V' (5 pixels wide)
0xE0, // ###
0x18, // ##
0x06, // ##
0x18, // ##
0xE0, // ###
// @172 'W' (5 pixels wide)
0xFC, // ######
0x02, // #
0x3C, // ####
0x02, // #
0xFC, // ######
// @177 'X' (5 pixels wide)
0x82, // # #
0x6C, // ## ##
0x10, // #
0x6C, // ## ##
0x82, // # #
// @182 'Y' (5 pixels wide)
0xC0, // ##
0x20, // #
0x1E, // ####
0x20, // #
0xC0, // ##
// @187 'Z' (5 pixels wide)
0x82, // # #
0x8E, // # ###
0x92, // # # #
0xE2, // ### #
0x82, // # #
// @192 '\' (5 pixels wide)
0x80, // #
0x60, // ##
0x10, // #
0x0C, // ##
0x02, // #
// @197 '`' (3 pixels wide)
0x80, // #
0x80, // #
0x40, // #
// @200 'a' (5 pixels wide)
0x10, // #
0xA8, // # # #
0xA8, // # # #
0xA8, // # # #
0x78, // ####
// @205 'b' (5 pixels wide)
0xFE, // #######
0x14, // # #
0x22, // # #
0x22, // # #
0x1C, // ###
// @210 'c' (5 pixels wide)
0x70, // ###
0x88, // # #
0x88, // # #
0x88, // # #
0x88, // # #
// @215 'd' (5 pixels wide)
0x1C, // ###
0x22, // # #
0x22, // # #
0x14, // # #
0xFE, // #######
// @220 'e' (5 pixels wide)
0x70, // ###
0xA8, // # # #
0xA8, // # # #
0xA8, // # # #
0x68, // ## #
// @225 'f' (4 pixels wide)
0x20, // #
0x7E, // ######
0xA0, // # #
0x80, // #
// @229 'g' (5 pixels wide)
0x72, // ### #
0x8A, // # # #
0x8A, // # # #
0x52, // # # #
0xFC, // ######
// @234 'h' (5 pixels wide)
0xFE, // #######
0x10, // #
0x20, // #
0x20, // #
0x1E, // ####
// @239 'i' (3 pixels wide)
0x22, // # #
0xBE, // # #####
0x02, // #
// @242 'j' (4 pixels wide)
0x01, 0x00, // #
0x20, 0x80, // # #
0x20, 0x80, // # #
0xBF, 0x00, // # ######
// @250 'k' (5 pixels wide)
0xFE, // #######
0x08, // #
0x14, // # #
0x14, // # #
0x22, // # #
// @255 'l' (3 pixels wide)
0x82, // # #
0xFE, // #######
0x02, // #
// @258 'm' (5 pixels wide)
0xF8, // #####
0x80, // #
0x78, // ####
0x80, // #
0x78, // ####
// @263 'n' (5 pixels wide)
0xF8, // #####
0x40, // #
0x80, // #
0x80, // #
0x78, // ####
// @268 'o' (5 pixels wide)
0x70, // ###
0x88, // # #
0x88, // # #
0x88, // # #
0x70, // ###
// @273 'p' (5 pixels wide)
0xFE, // #######
0x50, // # #
0x88, // # #
0x88, // # #
0x70, // ###
// @278 'q' (5 pixels wide)
0x70, // ###
0x88, // # #
0x88, // # #
0x50, // # #
0xFE, // #######
// @283 'r' (5 pixels wide)
0xF8, // #####
0x40, // #
0x80, // #
0x80, // #
0x40, // #
// @288 's' (5 pixels wide)
0x48, // # #
0xA8, // # # #
0xA8, // # # #
0xA8, // # # #
0x90, // # #
// @293 't' (5 pixels wide)
0x20, // #
0xFC, // ######
0x22, // # #
0x22, // # #
0x04, // #
// @298 'u' (5 pixels wide)
0xF0, // ####
0x08, // #
0x08, // #
0x10, // #
0xF8, // #####
// @303 'v' (5 pixels wide)
0xC0, // ##
0x30, // ##
0x08, // #
0x30, // ##
0xC0, // ##
// @308 'w' (5 pixels wide)
0xF0, // ####
0x08, // #
0x70, // ###
0x08, // #
0xF0, // ####
// @313 'x' (5 pixels wide)
0x88, // # #
0x50, // # #
0x20, // #
0x50, // # #
0x88, // # #
// @318 'y' (4 pixels wide)
0xE2, // ### #
0x1E, // ####
0x18, // ##
0xE0, // ###
// @322 'z' (5 pixels wide)
0x88, // # #
0x98, // # ##
0xA8, // # # #
0xC8, // ## #
0x88, // # #
};
// Character descriptors for OCR A Extended 8pt
// { [Char width in bits], [Offset into oCRAExtended_8ptCharBitmaps in bytes] }
const FONT_CHAR_INFO oCRAExtended_8ptDescriptors[] PROGMEM =
{
{1, 7, 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, 3, 4}, // ,
{0, 0, 0}, // -
{1, 1, 7}, // .
{5, 7, 8}, // /
{5, 7, 13}, // 0
{5, 7, 18}, // 1
{5, 7, 23}, // 2
{5, 7, 28}, // 3
{4, 7, 33}, // 4
{5, 7, 37}, // 5
{5, 7, 42}, // 6
{5, 7, 47}, // 7
{5, 7, 52}, // 8
{5, 7, 57}, // 9
{1, 3, 62}, // :
{0, 0, 0}, // ;
{0, 0, 0}, // <
{0, 0, 0}, // =
{0, 0, 0}, // >
{0, 0, 0}, // ?
{0, 0, 0}, // @
{5, 7, 63}, // A
{5, 7, 68}, // B
{5, 7, 73}, // C
{5, 7, 78}, // D
{5, 7, 83}, // E
{5, 7, 88}, // F
{5, 7, 93}, // G
{5, 7, 98}, // H
{5, 7, 103}, // I
{4, 7, 108}, // J
{5, 7, 112}, // K
{5, 7, 117}, // L
{5, 7, 122}, // M
{5, 7, 127}, // N
{5, 7, 132}, // O
{5, 7, 137}, // P
{5, 7, 142}, // Q
{5, 7, 147}, // R
{5, 7, 152}, // S
{5, 7, 157}, // T
{5, 7, 162}, // U
{5, 7, 167}, // V
{5, 7, 172}, // W
{5, 7, 177}, // X
{5, 7, 182}, // Y
{5, 7, 187}, // Z
{0, 0, 0}, // [
{5, 7, 192}, // \ .
{0, 0, 0}, // ]
{0, 0, 0}, // ^
{0, 0, 0}, // _
{3, 2, 197}, // `
{5, 5, 200}, // a
{5, 7, 205}, // b
{5, 5, 210}, // c
{5, 7, 215}, // d
{5, 5, 220}, // e
{4, 7, 225}, // f
{5, 7, 229}, // g
{5, 7, 234}, // h
{3, 7, 239}, // i
{4, 9, 242}, // j
{5, 7, 250}, // k
{3, 7, 255}, // l
{5, 5, 258}, // m
{5, 5, 263}, // n
{5, 5, 268}, // o
{5, 7, 273}, // p
{5, 7, 278}, // q
{5, 5, 283}, // r
{5, 5, 288}, // s
{5, 7, 293}, // t
{5, 5, 298}, // u
{5, 5, 303}, // v
{5, 5, 308}, // w
{5, 5, 313}, // x
{4, 7, 318}, // y
{5, 5, 322}, // z
};
// Font information for OCR A Extended 8pt
const FONT_INFO oCRAExtended_8ptFontInfo =
{
12, // Character height
' ', // Start character
'z', // End character
1, // Width, in pixels, of space character
oCRAExtended_8ptDescriptors, // Character descriptor array
oCRAExtended_8ptBitmaps, // Character bitmap array
};

View file

@ -0,0 +1,8 @@
#include "FontTypes.h"
// Font data for OCR A Extended 8pt
extern const uint8_t PROGMEM oCRAExtended_8ptBitmaps [];
extern const FONT_INFO oCRAExtended_8ptFontInfo;
extern const FONT_CHAR_INFO PROGMEM oCRAExtended_8ptDescriptors[];

View file

@ -0,0 +1,292 @@
//
// Font data for Tahoma 16pt
//
// Generated by The Dot Factory:
// http://www.eran.io/the-dot-factory-an-lcd-font-and-image-generator/
//
/////////////////////////////////////////////////////////////////////////////////////////////////////
//
// Dot Factory Settings
//
// Flip/Rotate Padding Removal Line Wrap Descriptors
// [X] Flip X Height(Y): None (O) At column [X] Generate descriptor array
// [ ] Flip Y Width(X): Tightest ( ) At bitmap Char Width: In Bits
// 90deg Char Height: In Bits
// Font Height: In Bits
// Comments Byte [ ] Multiple descriptor arrays
// [X] Variable Name Bit layout: RowMajor
// [X] BMP visualise [#] Order: MSBfirst Create new when exceeds [80]
// [X] Char descriptor Format: Hex
// Style: Cpp Leading: 0x Image width: In Bits
// Image height: In Bits
// Variable name format
// Bitmaps: const uint8_t PROGMEM {0}Bitmaps Space char generation
// Char Info: const FONT_CHAR_INFO PROGMEM {0}Descriptors [ ] Generate space bitmap
// Font Info: const FONT_INFO {0}FontInfo [2] pixels for space char
// Width: const uint8_t {0}Width
// Height: const uint8_t {0}Height
//
/////////////////////////////////////////////////////////////////////////////////////////////////////
#include "tahoma16.h"
// Character bitmaps for Tahoma 16pt
const uint8_t tahoma_16ptBitmaps[] PROGMEM =
{
// @0 '.' (4 pixels wide)
0x00, 0x0F, // ####
0x00, 0x0F, // ####
0x00, 0x0F, // ####
0x00, 0x0F, // ####
// @8 '0' (11 pixels wide)
0x0F, 0xF0, // ########
0x3F, 0xFC, // ############
0x7F, 0xFE, // ##############
0xFF, 0xFF, // ################
0xF0, 0x0F, // #### ####
0xE0, 0x07, // ### ###
0xF0, 0x0F, // #### ####
0xFF, 0xFF, // ################
0x7F, 0xFE, // ##############
0x3F, 0xFC, // ############
0x0F, 0xF0, // ########
// @30 '1' (10 pixels wide)
0x38, 0x07, // ### ###
0x38, 0x07, // ### ###
0x38, 0x07, // ### ###
0xFF, 0xFF, // ################
0xFF, 0xFF, // ################
0xFF, 0xFF, // ################
0xFF, 0xFF, // ################
0x00, 0x07, // ###
0x00, 0x07, // ###
0x00, 0x07, // ###
// @50 '2' (11 pixels wide)
0x70, 0x07, // ### ###
0xE0, 0x0F, // ### ####
0xE0, 0x1F, // ### #####
0xE0, 0x3F, // ### ######
0xE0, 0x7F, // ### #######
0xF1, 0xF7, // #### ##### ###
0xFF, 0xE7, // ########### ###
0x7F, 0xC7, // ######### ###
0x7F, 0x87, // ######## ###
0x3E, 0x07, // ##### ###
0x00, 0x07, // ###
// @72 '3' (11 pixels wide)
0x70, 0x0E, // ### ###
0xF0, 0x0F, // #### ####
0xE0, 0x07, // ### ###
0xE3, 0x87, // ### ### ###
0xE3, 0x87, // ### ### ###
0xE3, 0x87, // ### ### ###
0xE7, 0xCF, // ### ##### ####
0xFF, 0xFF, // ################
0x7E, 0xFE, // ###### #######
0x7E, 0xFE, // ###### #######
0x3C, 0x78, // #### ####
// @94 '4' (12 pixels wide)
0x00, 0xF0, // ####
0x01, 0xF0, // #####
0x07, 0x70, // ### ###
0x0E, 0x70, // ### ###
0x38, 0x70, // ### ###
0x70, 0x70, // ### ###
0xFF, 0xFF, // ################
0xFF, 0xFF, // ################
0xFF, 0xFF, // ################
0xFF, 0xFF, // ################
0x00, 0x70, // ###
0x00, 0x70, // ###
// @118 '5' (11 pixels wide)
0x00, 0x0E, // ###
0xFF, 0x87, // ######### ###
0xFF, 0x87, // ######### ###
0xFF, 0x87, // ######### ###
0xFF, 0x87, // ######### ###
0xE3, 0x87, // ### ### ###
0xE3, 0xCF, // ### #### ####
0xE3, 0xFF, // ### ##########
0xE3, 0xFE, // ### #########
0xE1, 0xFC, // ### #######
0xE0, 0xF8, // ### #####
// @140 '6' (11 pixels wide)
0x07, 0xF0, // #######
0x1F, 0xFC, // ###########
0x3F, 0xFE, // #############
0x7F, 0xFF, // ###############
0xFB, 0x0F, // ##### ## ####
0xF7, 0x07, // #### ### ###
0xE7, 0x8F, // ### #### ####
0xE7, 0xFF, // ### ###########
0xE7, 0xFE, // ### ##########
0xE3, 0xFC, // ### ########
0x01, 0xF8, // ######
// @162 '7' (11 pixels wide)
0xE0, 0x01, // ### #
0xE0, 0x07, // ### ###
0xE0, 0x1F, // ### #####
0xE0, 0x7F, // ### #######
0xE1, 0xFF, // ### #########
0xE7, 0xFC, // ### #########
0xFF, 0xF0, // ############
0xFF, 0xC0, // ##########
0xFF, 0x00, // ########
0xFC, 0x00, // ######
0xF0, 0x00, // ####
// @184 '8' (11 pixels wide)
0x3C, 0x3C, // #### ####
0x7E, 0xFE, // ###### #######
0x7F, 0xFE, // ##############
0xFF, 0xFF, // ################
0xE7, 0x8F, // ### #### ####
0xE3, 0x87, // ### ### ###
0xE3, 0xC7, // ### #### ###
0xFF, 0xFF, // ################
0x7F, 0xFE, // ##############
0x7E, 0xFE, // ###### #######
0x3C, 0x7C, // #### #####
// @206 '9' (11 pixels wide)
0x1F, 0x80, // ######
0x3F, 0xC7, // ######## ###
0x7F, 0xE7, // ########## ###
0xFF, 0xE7, // ########### ###
0xF1, 0xE7, // #### #### ###
0xE0, 0xEF, // ### ### ####
0xF0, 0xDF, // #### ## #####
0xFF, 0xFE, // ###############
0x7F, 0xFC, // #############
0x3F, 0xF8, // ###########
0x0F, 0xE0, // #######
// @228 '`' (8 pixels wide)
0x3C, 0x00, // ####
0x7E, 0x00, // ######
0xE7, 0x00, // ### ###
0xC3, 0x00, // ## ##
0xC3, 0x00, // ## ##
0xE7, 0x00, // ### ###
0x7E, 0x00, // ######
0x3C, 0x00, // ####
// @244 'C' (12 pixels wide)
0x07, 0xE0, // ######
0x1F, 0xF8, // ##########
0x3F, 0xFC, // ############
0x7F, 0xFE, // ##############
0xF8, 0x1F, // ##### #####
0xF0, 0x0F, // #### ####
0xE0, 0x07, // ### ###
0xE0, 0x07, // ### ###
0xE0, 0x07, // ### ###
0xE0, 0x07, // ### ###
0x70, 0x0E, // ### ###
0x78, 0x1E, // #### ####
// @268 ':' (4 pixels wide)
0x3C, 0x3C, // #### ####
0x3C, 0x3C, // #### ####
0x3C, 0x3C, // #### ####
0x3C, 0x3C, // #### ####
// @276 ' ' (4 pixels wide)
0x00, 0x00, //
0x00, 0x00, //
0x00, 0x00, //
0x00, 0x00, //
};
// Character descriptors for Tahoma 16pt
// { [Char width in bits], [Char height in bits], [Offset into tahoma_16ptCharBitmaps in bytes] }
const FONT_CHAR_INFO tahoma_16ptDescriptors[] PROGMEM =
{
{4, 16, 276}, // ' '
{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, 0, 0}, // -
{4, 16, 0}, // '.'
{0, 0, 0}, // '/'
{11, 16, 8}, // '0'
{10, 16, 30}, // '1'
{11, 16, 50}, // '2'
{11, 16, 72}, // '3'
{12, 16, 94}, // '4'
{11, 16, 118}, // '5'
{11, 16, 140}, // '6'
{11, 16, 162}, // '7'
{11, 16, 184}, // '8'
{11, 16, 206}, // '9'
{4, 16, 268}, // ':'
{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'
{12, 16, 244}, // 'C'
{0, 0, 0}, // 'D'
{0, 0, 0}, // 'E'
{0, 0, 0}, // '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}, // '_'
{8, 16, 228}, // '`' use for degree symbol
};
// Font information for Tahoma 16pt
// easier to leave in RAM, not that big anyway
const FONT_INFO tahoma_16ptFontInfo =
{
16, // Character height
' ', // Start character
'`', // End character
2, // Width, in pixels, of space character
tahoma_16ptDescriptors, // Character descriptor array
tahoma_16ptBitmaps, // Character bitmap array
};

View file

@ -0,0 +1,7 @@
#include "FontTypes.h"
// Font data for Tahoma 16pt
extern const uint8_t tahoma_16ptBitmaps[] PROGMEM; // stored in program flash memory
extern const FONT_CHAR_INFO tahoma_16ptDescriptors[] PROGMEM; // stored in program flash memory
extern const FONT_INFO tahoma_16ptFontInfo;

View file

@ -0,0 +1,784 @@
//
// Font data for Tahoma 8pt
//
//
// Generated by The Dot Factory:
// http://www.eran.io/the-dot-factory-an-lcd-font-and-image-generator/
//
/////////////////////////////////////////////////////////////////////////////////////////////////////
//
// Dot Factory Settings
//
// Flip/Rotate Padding Removal Line Wrap Descriptors
// [X] Flip X Height(Y): None (O) At column [X] Generate descriptor array
// [ ] Flip Y Width(X): Tightest ( ) At bitmap Char Width: In Bits
// 90deg Char Height: In Bits
// Font Height: In Bits
// Comments Byte [ ] Multiple descriptor arrays
// [X] Variable Name Bit layout: RowMajor
// [X] BMP visualise [#] Order: MSBfirst Create new when exceeds [80]
// [X] Char descriptor Format: Hex
// Style: Cpp Leading: 0x Image width: In Bits
// Image height: In Bits
// Variable name format
// Bitmaps: const uint8_t PROGMEM {0}Bitmaps Space char generation
// Char Info: const FONT_CHAR_INFO PROGMEM {0}Descriptors [ ] Generate space bitmap
// Font Info: const FONT_INFO {0}FontInfo [2] pixels for space char
// Width: const uint8_t {0}Width
// Height: const uint8_t {0}Height
//
/////////////////////////////////////////////////////////////////////////////////////////////////////
#include "Tahoma8.h"
// Character bitmaps for Tahoma 8pt
const uint8_t PROGMEM tahoma_8ptBitmaps [] =
{
// @0 ' ' (2 pixels wide)
0x00, 0x00, //
0x00, 0x00, //
// @4 '!' (1 pixels wide)
0x1F, 0xA0, // ###### #
// @6 '"' (3 pixels wide)
0x38, 0x00, // ###
0x00, 0x00, //
0x38, 0x00, // ###
// @12 '#' (7 pixels wide)
0x00, 0x80, // #
0x04, 0xE0, // # ###
0x07, 0x80, // ####
0x1C, 0xE0, // ### ###
0x07, 0x80, // ####
0x1C, 0x80, // ### #
0x04, 0x00, // #
// @26 '$' (5 pixels wide)
0x06, 0x20, // ## #
0x09, 0x20, // # # #
0x3F, 0xF8, // ###########
0x09, 0x20, // # # #
0x08, 0xC0, // # ##
// @36 '%' (10 pixels wide)
0x0C, 0x00, // ##
0x12, 0x00, // # #
0x12, 0x00, // # #
0x0C, 0x60, // ## ##
0x01, 0x80, // ##
0x06, 0x00, // ##
0x18, 0xC0, // ## ##
0x01, 0x20, // # #
0x01, 0x20, // # #
0x00, 0xC0, // ##
// @56 '&' (7 pixels wide)
0x0D, 0xC0, // ## ###
0x12, 0x20, // # # #
0x12, 0x20, // # # #
0x0D, 0x20, // ## # #
0x00, 0xC0, // ##
0x03, 0x40, // ## #
0x00, 0x20, // #
// @70 ''' (1 pixels wide)
0x38, 0x00, // ###
// @72 '(' (3 pixels wide)
0x07, 0xC0, // #####
0x18, 0x30, // ## ##
0x20, 0x08, // # #
// @78 ')' (3 pixels wide)
0x20, 0x08, // # #
0x18, 0x30, // ## ##
0x07, 0xC0, // #####
// @84 '*' (5 pixels wide)
0x14, 0x00, // # #
0x08, 0x00, // #
0x3E, 0x00, // #####
0x08, 0x00, // #
0x14, 0x00, // # #
// @94 '+' (7 pixels wide)
0x01, 0x00, // #
0x01, 0x00, // #
0x01, 0x00, // #
0x0F, 0xE0, // #######
0x01, 0x00, // #
0x01, 0x00, // #
0x01, 0x00, // #
// @108 ',' (2 pixels wide)
0x00, 0x08, // #
0x00, 0x70, // ###
// @112 '-' (3 pixels wide)
0x01, 0x00, // #
0x01, 0x00, // #
0x01, 0x00, // #
// @118 '.' (1 pixels wide)
0x00, 0x60, // ##
// @120 '/' (3 pixels wide)
0x00, 0x38, // ###
0x07, 0xC0, // #####
0x38, 0x00, // ###
// @126 '0' (5 pixels wide)
0x0F, 0xC0, // ######
0x10, 0x20, // # #
0x10, 0x20, // # #
0x10, 0x20, // # #
0x0F, 0xC0, // ######
// @136 '1' (3 pixels wide)
0x08, 0x20, // # #
0x1F, 0xE0, // ########
0x00, 0x20, // #
// @142 '2' (5 pixels wide)
0x08, 0x60, // # ##
0x10, 0xA0, // # # #
0x11, 0x20, // # # #
0x12, 0x20, // # # #
0x0C, 0x20, // ## #
// @152 '3' (5 pixels wide)
0x08, 0x40, // # #
0x10, 0x20, // # #
0x12, 0x20, // # # #
0x12, 0x20, // # # #
0x0D, 0xC0, // ## ###
// @162 '4' (5 pixels wide)
0x03, 0x00, // ##
0x05, 0x00, // # #
0x09, 0x00, // # #
0x1F, 0xE0, // ########
0x01, 0x00, // #
// @172 '5' (5 pixels wide)
0x1E, 0x40, // #### #
0x12, 0x20, // # # #
0x12, 0x20, // # # #
0x12, 0x20, // # # #
0x11, 0xC0, // # ###
// @182 '6' (5 pixels wide)
0x07, 0xC0, // #####
0x0A, 0x20, // # # #
0x12, 0x20, // # # #
0x12, 0x20, // # # #
0x01, 0xC0, // ###
// @192 '7' (5 pixels wide)
0x10, 0x00, // #
0x10, 0x60, // # ##
0x11, 0x80, // # ##
0x16, 0x00, // # ##
0x18, 0x00, // ##
// @202 '8' (5 pixels wide)
0x0D, 0xC0, // ## ###
0x12, 0x20, // # # #
0x12, 0x20, // # # #
0x12, 0x20, // # # #
0x0D, 0xC0, // ## ###
// @212 '9' (5 pixels wide)
0x0E, 0x00, // ###
0x11, 0x20, // # # #
0x11, 0x20, // # # #
0x11, 0x40, // # # #
0x0F, 0x80, // #####
// @222 ':' (1 pixels wide)
0x06, 0x60, // ## ##
// @224 ';' (2 pixels wide)
0x00, 0x08, // #
0x06, 0x70, // ## ###
// @228 '<' (6 pixels wide)
0x01, 0x00, // #
0x02, 0x80, // # #
0x02, 0x80, // # #
0x04, 0x40, // # #
0x04, 0x40, // # #
0x08, 0x20, // # #
// @240 '=' (7 pixels wide)
0x02, 0x80, // # #
0x02, 0x80, // # #
0x02, 0x80, // # #
0x02, 0x80, // # #
0x02, 0x80, // # #
0x02, 0x80, // # #
0x02, 0x80, // # #
// @254 '>' (6 pixels wide)
0x08, 0x20, // # #
0x04, 0x40, // # #
0x04, 0x40, // # #
0x02, 0x80, // # #
0x02, 0x80, // # #
0x01, 0x00, // #
// @266 '?' (4 pixels wide)
0x10, 0x00, // #
0x11, 0xA0, // # ## #
0x12, 0x00, // # #
0x0C, 0x00, // ##
// @274 '@' (9 pixels wide)
0x07, 0xC0, // #####
0x08, 0x20, // # #
0x13, 0x90, // # ### #
0x14, 0x50, // # # # #
0x14, 0x50, // # # # #
0x17, 0xD0, // # ##### #
0x10, 0x40, // # #
0x08, 0x40, // # #
0x07, 0x80, // ####
// @292 'A' (6 pixels wide)
0x00, 0xE0, // ###
0x07, 0x80, // ####
0x18, 0x80, // ## #
0x18, 0x80, // ## #
0x07, 0x80, // ####
0x00, 0xE0, // ###
// @304 'B' (5 pixels wide)
0x1F, 0xE0, // ########
0x12, 0x20, // # # #
0x12, 0x20, // # # #
0x12, 0x20, // # # #
0x0D, 0xC0, // ## ###
// @314 'C' (6 pixels wide)
0x07, 0x80, // ####
0x08, 0x40, // # #
0x10, 0x20, // # #
0x10, 0x20, // # #
0x10, 0x20, // # #
0x10, 0x20, // # #
// @326 'D' (6 pixels wide)
0x1F, 0xE0, // ########
0x10, 0x20, // # #
0x10, 0x20, // # #
0x10, 0x20, // # #
0x08, 0x40, // # #
0x07, 0x80, // ####
// @338 'E' (5 pixels wide)
0x1F, 0xE0, // ########
0x12, 0x20, // # # #
0x12, 0x20, // # # #
0x12, 0x20, // # # #
0x10, 0x20, // # #
// @348 'F' (5 pixels wide)
0x1F, 0xE0, // ########
0x12, 0x00, // # #
0x12, 0x00, // # #
0x12, 0x00, // # #
0x12, 0x00, // # #
// @358 'G' (6 pixels wide)
0x07, 0x80, // ####
0x08, 0x40, // # #
0x10, 0x20, // # #
0x11, 0x20, // # # #
0x11, 0x20, // # # #
0x11, 0xE0, // # ####
// @370 'H' (6 pixels wide)
0x1F, 0xE0, // ########
0x02, 0x00, // #
0x02, 0x00, // #
0x02, 0x00, // #
0x02, 0x00, // #
0x1F, 0xE0, // ########
// @382 'I' (3 pixels wide)
0x10, 0x20, // # #
0x1F, 0xE0, // ########
0x10, 0x20, // # #
// @388 'J' (4 pixels wide)
0x00, 0x20, // #
0x10, 0x20, // # #
0x10, 0x20, // # #
0x1F, 0xC0, // #######
// @396 'K' (5 pixels wide)
0x1F, 0xE0, // ########
0x03, 0x00, // ##
0x04, 0x80, // # #
0x08, 0x40, // # #
0x10, 0x20, // # #
// @406 'L' (4 pixels wide)
0x1F, 0xE0, // ########
0x00, 0x20, // #
0x00, 0x20, // #
0x00, 0x20, // #
// @414 'M' (7 pixels wide)
0x1F, 0xE0, // ########
0x18, 0x00, // ##
0x06, 0x00, // ##
0x01, 0x80, // ##
0x06, 0x00, // ##
0x18, 0x00, // ##
0x1F, 0xE0, // ########
// @428 'N' (6 pixels wide)
0x1F, 0xE0, // ########
0x18, 0x00, // ##
0x06, 0x00, // ##
0x01, 0x80, // ##
0x00, 0x60, // ##
0x1F, 0xE0, // ########
// @440 'O' (7 pixels wide)
0x07, 0x80, // ####
0x08, 0x40, // # #
0x10, 0x20, // # #
0x10, 0x20, // # #
0x10, 0x20, // # #
0x08, 0x40, // # #
0x07, 0x80, // ####
// @454 'P' (5 pixels wide)
0x1F, 0xE0, // ########
0x11, 0x00, // # #
0x11, 0x00, // # #
0x11, 0x00, // # #
0x0E, 0x00, // ###
// @464 'Q' (7 pixels wide)
0x07, 0x80, // ####
0x08, 0x40, // # #
0x10, 0x20, // # #
0x10, 0x20, // # #
0x10, 0x30, // # ##
0x08, 0x48, // # # #
0x07, 0x88, // #### #
// @478 'R' (6 pixels wide)
0x1F, 0xE0, // ########
0x11, 0x00, // # #
0x11, 0x00, // # #
0x11, 0x80, // # ##
0x0E, 0x40, // ### #
0x00, 0x20, // #
// @490 'S' (5 pixels wide)
0x0C, 0x20, // ## #
0x12, 0x20, // # # #
0x12, 0x20, // # # #
0x12, 0x20, // # # #
0x11, 0xC0, // # ###
// @500 'T' (5 pixels wide)
0x10, 0x00, // #
0x10, 0x00, // #
0x1F, 0xE0, // ########
0x10, 0x00, // #
0x10, 0x00, // #
// @510 'U' (6 pixels wide)
0x1F, 0xC0, // #######
0x00, 0x20, // #
0x00, 0x20, // #
0x00, 0x20, // #
0x00, 0x20, // #
0x1F, 0xC0, // #######
// @522 'V' (5 pixels wide)
0x1C, 0x00, // ###
0x03, 0x80, // ###
0x00, 0x60, // ##
0x03, 0x80, // ###
0x1C, 0x00, // ###
// @532 'W' (9 pixels wide)
0x1C, 0x00, // ###
0x03, 0x80, // ###
0x00, 0x60, // ##
0x03, 0x80, // ###
0x1C, 0x00, // ###
0x03, 0x80, // ###
0x00, 0x60, // ##
0x03, 0x80, // ###
0x1C, 0x00, // ###
// @550 'X' (5 pixels wide)
0x18, 0x60, // ## ##
0x04, 0x80, // # #
0x03, 0x00, // ##
0x04, 0x80, // # #
0x18, 0x60, // ## ##
// @560 'Y' (5 pixels wide)
0x18, 0x00, // ##
0x06, 0x00, // ##
0x01, 0xE0, // ####
0x06, 0x00, // ##
0x18, 0x00, // ##
// @570 'Z' (5 pixels wide)
0x10, 0x60, // # ##
0x10, 0xA0, // # # #
0x13, 0x20, // # ## #
0x14, 0x20, // # # #
0x18, 0x20, // ## #
// @580 '[' (3 pixels wide)
0x3F, 0xF8, // ###########
0x20, 0x08, // # #
0x20, 0x08, // # #
// @586 '\' (3 pixels wide)
0x38, 0x00, // ###
0x07, 0xC0, // #####
0x00, 0x38, // ###
// @592 ']' (3 pixels wide)
0x20, 0x08, // # #
0x20, 0x08, // # #
0x3F, 0xF8, // ###########
// @598 '^' (7 pixels wide)
0x02, 0x00, // #
0x04, 0x00, // #
0x08, 0x00, // #
0x10, 0x00, // #
0x08, 0x00, // #
0x04, 0x00, // #
0x02, 0x00, // #
// @612 '_' (6 pixels wide)
0x00, 0x08, // #
0x00, 0x08, // #
0x00, 0x08, // #
0x00, 0x08, // #
0x00, 0x08, // #
0x00, 0x08, // #
// @624 '`' (2 pixels wide)
0x20, 0x00, // #
0x10, 0x00, // #
// @628 'a' (5 pixels wide)
0x00, 0xC0, // ##
0x05, 0x20, // # # #
0x05, 0x20, // # # #
0x05, 0x20, // # # #
0x03, 0xE0, // #####
// @638 'b' (5 pixels wide)
0x3F, 0xE0, // #########
0x04, 0x20, // # #
0x04, 0x20, // # #
0x04, 0x20, // # #
0x03, 0xC0, // ####
// @648 'c' (4 pixels wide)
0x03, 0xC0, // ####
0x04, 0x20, // # #
0x04, 0x20, // # #
0x04, 0x20, // # #
// @656 'd' (5 pixels wide)
0x03, 0xC0, // ####
0x04, 0x20, // # #
0x04, 0x20, // # #
0x04, 0x20, // # #
0x3F, 0xE0, // #########
// @666 'e' (5 pixels wide)
0x03, 0xC0, // ####
0x05, 0x20, // # # #
0x05, 0x20, // # # #
0x05, 0x20, // # # #
0x03, 0x40, // ## #
// @676 'f' (3 pixels wide)
0x1F, 0xE0, // ########
0x24, 0x00, // # #
0x24, 0x00, // # #
// @682 'g' (5 pixels wide)
0x03, 0xC0, // ####
0x04, 0x28, // # # #
0x04, 0x28, // # # #
0x04, 0x28, // # # #
0x07, 0xF0, // #######
// @692 'h' (5 pixels wide)
0x3F, 0xE0, // #########
0x04, 0x00, // #
0x04, 0x00, // #
0x04, 0x00, // #
0x03, 0xE0, // #####
// @702 'i' (1 pixels wide)
0x17, 0xE0, // # ######
// @704 'j' (2 pixels wide)
0x04, 0x08, // # #
0x17, 0xF0, // # #######
// @708 'k' (5 pixels wide)
0x3F, 0xE0, // #########
0x01, 0x00, // #
0x02, 0x80, // # #
0x04, 0x40, // # #
0x00, 0x20, // #
// @718 'l' (1 pixels wide)
0x3F, 0xE0, // #########
// @720 'm' (7 pixels wide)
0x07, 0xE0, // ######
0x04, 0x00, // #
0x04, 0x00, // #
0x03, 0xE0, // #####
0x04, 0x00, // #
0x04, 0x00, // #
0x03, 0xE0, // #####
// @734 'n' (5 pixels wide)
0x07, 0xE0, // ######
0x04, 0x00, // #
0x04, 0x00, // #
0x04, 0x00, // #
0x03, 0xE0, // #####
// @744 'o' (5 pixels wide)
0x03, 0xC0, // ####
0x04, 0x20, // # #
0x04, 0x20, // # #
0x04, 0x20, // # #
0x03, 0xC0, // ####
// @754 'p' (5 pixels wide)
0x07, 0xF8, // ########
0x04, 0x20, // # #
0x04, 0x20, // # #
0x04, 0x20, // # #
0x03, 0xC0, // ####
// @764 'q' (5 pixels wide)
0x03, 0xC0, // ####
0x04, 0x20, // # #
0x04, 0x20, // # #
0x04, 0x20, // # #
0x07, 0xF8, // ########
// @774 'r' (3 pixels wide)
0x07, 0xE0, // ######
0x02, 0x00, // #
0x04, 0x00, // #
// @780 's' (4 pixels wide)
0x03, 0x20, // ## #
0x05, 0x20, // # # #
0x04, 0xA0, // # # #
0x04, 0xC0, // # ##
// @788 't' (3 pixels wide)
0x1F, 0xC0, // #######
0x04, 0x20, // # #
0x04, 0x20, // # #
// @794 'u' (5 pixels wide)
0x07, 0xC0, // #####
0x00, 0x20, // #
0x00, 0x20, // #
0x00, 0x20, // #
0x07, 0xE0, // ######
// @804 'v' (5 pixels wide)
0x06, 0x00, // ##
0x01, 0x80, // ##
0x00, 0x60, // ##
0x01, 0x80, // ##
0x06, 0x00, // ##
// @814 'w' (7 pixels wide)
0x07, 0x80, // ####
0x00, 0x60, // ##
0x01, 0x80, // ##
0x06, 0x00, // ##
0x01, 0x80, // ##
0x00, 0x60, // ##
0x07, 0x80, // ####
// @828 'x' (5 pixels wide)
0x04, 0x20, // # #
0x02, 0x40, // # #
0x01, 0x80, // ##
0x02, 0x40, // # #
0x04, 0x20, // # #
// @838 'y' (5 pixels wide)
0x06, 0x00, // ##
0x01, 0x98, // ## ##
0x00, 0x60, // ##
0x01, 0x80, // ##
0x06, 0x00, // ##
// @848 'z' (4 pixels wide)
0x04, 0x60, // # ##
0x04, 0xA0, // # # #
0x05, 0x20, // # # #
0x06, 0x20, // ## #
// @856 '{' (4 pixels wide)
0x01, 0x00, // #
0x01, 0x00, // #
0x1E, 0xF0, // #### ####
0x20, 0x08, // # #
// @864 '|' (1 pixels wide)
0x3F, 0xF8, // ###########
// @866 '}' (4 pixels wide)
0x20, 0x08, // # #
0x1E, 0xF0, // #### ####
0x01, 0x00, // #
0x01, 0x00, // #
// @874 '~' (7 pixels wide)
0x01, 0x80, // ##
0x02, 0x00, // #
0x02, 0x00, // #
0x01, 0x00, // #
0x00, 0x80, // #
0x00, 0x80, // #
0x03, 0x00, // ##
};
// Character descriptors for Tahoma 8pt
// { [Char width in bits], [Char height in bits], [Offset into tahoma_8ptCharBitmaps in bytes] }
const FONT_CHAR_INFO PROGMEM tahoma_8ptDescriptors[] =
{
{2, 13, 0}, //
{1, 13, 4}, // !
{3, 13, 6}, // "
{7, 13, 12}, // #
{5, 13, 26}, // $
{10, 13, 36}, // %
{7, 13, 56}, // &
{1, 13, 70}, // '
{3, 13, 72}, // (
{3, 13, 78}, // )
{5, 13, 84}, // *
{7, 13, 94}, // +
{2, 13, 108}, // ,
{3, 13, 112}, // -
{1, 13, 118}, // .
{3, 13, 120}, // /
{5, 13, 126}, // 0
{3, 13, 136}, // 1
{5, 13, 142}, // 2
{5, 13, 152}, // 3
{5, 13, 162}, // 4
{5, 13, 172}, // 5
{5, 13, 182}, // 6
{5, 13, 192}, // 7
{5, 13, 202}, // 8
{5, 13, 212}, // 9
{1, 13, 222}, // :
{2, 13, 224}, // ;
{6, 13, 228}, // <
{7, 13, 240}, // =
{6, 13, 254}, // >
{4, 13, 266}, // ?
{9, 13, 274}, // @
{6, 13, 292}, // A
{5, 13, 304}, // B
{6, 13, 314}, // C
{6, 13, 326}, // D
{5, 13, 338}, // E
{5, 13, 348}, // F
{6, 13, 358}, // G
{6, 13, 370}, // H
{3, 13, 382}, // I
{4, 13, 388}, // J
{5, 13, 396}, // K
{4, 13, 406}, // L
{7, 13, 414}, // M
{6, 13, 428}, // N
{7, 13, 440}, // O
{5, 13, 454}, // P
{7, 13, 464}, // Q
{6, 13, 478}, // R
{5, 13, 490}, // S
{5, 13, 500}, // T
{6, 13, 510}, // U
{5, 13, 522}, // V
{9, 13, 532}, // W
{5, 13, 550}, // X
{5, 13, 560}, // Y
{5, 13, 570}, // Z
{3, 13, 580}, // [
{3, 13, 586}, // \ .
{3, 13, 592}, // ]
{7, 13, 598}, // ^
{6, 13, 612}, // _
{2, 13, 624}, // `
{5, 13, 628}, // a
{5, 13, 638}, // b
{4, 13, 648}, // c
{5, 13, 656}, // d
{5, 13, 666}, // e
{3, 13, 676}, // f
{5, 13, 682}, // g
{5, 13, 692}, // h
{1, 13, 702}, // i
{2, 13, 704}, // j
{5, 13, 708}, // k
{1, 13, 718}, // l
{7, 13, 720}, // m
{5, 13, 734}, // n
{5, 13, 744}, // o
{5, 13, 754}, // p
{5, 13, 764}, // q
{3, 13, 774}, // r
{4, 13, 780}, // s
{3, 13, 788}, // t
{5, 13, 794}, // u
{5, 13, 804}, // v
{7, 13, 814}, // w
{5, 13, 828}, // x
{5, 13, 838}, // y
{4, 13, 848}, // z
{4, 13, 856}, // {
{1, 13, 864}, // |
{4, 13, 866}, // }
{7, 13, 874}, // ~
};
// Font information for Tahoma 8pt
const FONT_INFO tahoma_8ptFontInfo =
{
13, // Character height
' ', // Start character
'~', // End character
2, // Width, in pixels, of space character
tahoma_8ptDescriptors, // Character descriptor array
tahoma_8ptBitmaps, // Character bitmap array
};

View file

@ -0,0 +1,7 @@
#include "FontTypes.h"
// Font data for Tahoma 8pt
extern const uint8_t tahoma_8ptBitmaps[] PROGMEM;
extern const FONT_CHAR_INFO tahoma_8ptDescriptors[] PROGMEM;
extern const FONT_INFO tahoma_8ptFontInfo;