//////////////////////////////////////////////////////////////////////////
// This file contains a HD44780 font and a font for big numbers. //
// The HD44780 font in this file was shamelessly stolen from //
// Michael Reinelt / lcd4linux and is //
// Copyright 1999, 2000 by Michael Reinelt (reinelt@eunet.at) //
// The rest of this file is //
// //
// (C) 2001 Robin Adams ( robin@adams-online.de ) //
// //
// This file is released under the GPL. See file COPYING in this //
// package for further details. //
//////////////////////////////////////////////////////////////////////////
#define b______ 0x00
#define b_____O 0x01
#define b____O_ 0x02
#define b____OO 0x03
#define b___O__ 0x04
#define b___O_O 0x05
#define b___OO_ 0x06
#define b___OOO 0x07
#define b__O___ 0x08
#define b__O__O 0x09
#define b__O_O_ 0x0a
#define b__O_OO 0x0b
#define b__OO__ 0x0c
#define b__OO_O 0x0d
#define b__OOO_ 0x0e
#define b__OOOO 0x0f
#define b_O____ 0x10
#define b_O___O 0x11
#define b_O__O_ 0x12
#define b_O__OO 0x13
#define b_O_O__ 0x14
#define b_O_O_O 0x15
#define b_O_OO_ 0x16
#define b_O_OOO 0x17
#define b_OO___ 0x18
#define b_OO__O 0x19
#define b_OO_O_ 0x1a
#define b_OO_OO 0x1b
#define b_OOO__ 0x1c
#define b_OOO_O 0x1d
#define b_OOOO_ 0x1e
#define b_OOOOO 0x1f
#define b_OOOOO 0x1f
#define bOOOOOO 0x3f
unsigned char fontmap[256][8] = {
[0x20] {b______,
b______,
b______,
b______,
b______,
b______,
b______,
b______},
[0x21] {b___O__,
b___O__,
b___O__,
b___O__,
b______,
b______,
b___O__,
b______},
[0x22] {b__O_O_,
b__O_O_,
b__O_O_,
b______,
b______,
b______,
b______,
b______},
[0x23] {b__O_O_,
b__O_O_,
b_OOOOO,
b__O_O_,
b_OOOOO,
b__O_O_,
b__O_O_,
b______},
[0x24] {b___O__,
b__OOOO,
b_O_O__,
b__OOO_,
b___O_O,
b_OOOO_,
b___O__,
b______},
[0x25] {b_OO___,
b_OO__O,
b____O_,
b___O__,
b__O___,
b_O__OO,
b____OO,
b______},
[0x26] {b__OO__,
b_O__O_,
b_O_O__,
b__O___,
b_O_O_O,
b_O__O_,
b__OO_O,
b______},
[0x27] {b__OO__,
b___O__,
b__O___,
b______,
b______,
b______,
b______,
b______},
[0x28] {b____O_,
b___O__,
b__O___,
b__O___,
b__O___,
b___O__,
b____O_,
b______},
[0x29] {b__O___,
b___O__,
b____O_,
b____O_,
b____O_,
b___O__,
b__O___,
b______},
[0x2a] {b______,
b___O__,
b_O_O_O,
b__OOO_,
b_O_O_O,
b___O__,
b______,
b______},
[0x2b] {b______,
b___O__,
b___O__,
b_OOOOO,
b___O__,
b___O__,
b______,
b______},
[0x2c] {b______,
b______,
b______,
b______,
b__OO__,
b___O__,
b__O___,
b______},
[0x2d] {b______,
b______,
b______,
b_OOOOO,
b______,
b______,
b______,
b______},
[0x2e] {b______,
b______,
b______,
b______,
b______,
b__OO__,
b__OO__,
b______},
[0x2f] {b______,
b_____O,
b____O_,
b___O__,
b__O___,
b_O____,
b______,
b______},
[0x30] {b__OOO_,
b_O___O,
b_O__OO,
b_O_O_O,
b_OO__O,
b_O___O,
b__OOO_,
b______},
[0x31] {b___O__,
b__OO__,
b___O__,
b___O__,
b___O__,
b___O__,
b__OOO_,
b______},
[0x32] {b__OOO_,
b_O___O,
b_____O,
b____O_,
b___O__,
b__O___,
b_OOOOO,
b______},
[0x33] {b_OOOOO,
b____O_,
b___O__,
b____O_,
b_____O,
b_O___O,
b__OOO_,
b______},
[0x34] {b____O_,
b___OO_,
b__O_O_,
b_O__O_,
b_OOOOO,
b____O_,
b____O_,
b______},
[0x35] {b_OOOOO,
b_O____,
b_O____,
b_OOOO_,
b_____O,
b_O___O,
b__OOO_,
b______},
[0x36] {b___OO_,
b__O___,
b_O____,
b_OOOO_,
b_O___O,
b_O___O,
b__OOO_,
b______},
[0x37] {b_OOOOO,
b_____O,
b____O_,
b___O__,
b__O___,
b__O___,
b__O___,
b______},
[0x38] {b__OOO_,
b_O___O,
b_O___O,
b__OOO_,
b_O___O,
b_O___O,
b__OOO_,
b______},
[0x39] {b__OOO_,
b_O___O,
b_O___O,
b__OOOO,
b_____O,
b____O_,
b__OO__,
b______},
[0x3a] {b______,
b__OO__,
b__OO__,
b______,
b__OO__,
b__OO__,
b______,
b______},
[0x3b] {b______,
b__OO__,
b__OO__,
b______,
b__OO__,
b___O__,
b__O___,
b______},
[0x3c] {b____O_,
b___O__,
b__O___,
b_O____,
b__O___,
b___O__,
b____O_,
b______},
[0x3d] {b______,
b______,
b_OOOOO,
b______,
b_OOOOO,
b______,
b______,
b______},
[0x3e] {b_O____,
b__O___,
b___O__,
b____O_,
b___O__,
b__O___,
b_O____,
b______},
[0x3f] {b__OOO_,
b_O___O,
b_____O,
b____O_,
b___O__,
b______,
b___O__,
b______},
[0x40] {b__OOO_,
b_O___O,
b_____O,
b__OO_O,
b_O_O_O,
b_O_O_O,
b__OOO_,
b______},
[0x41] {b__OOO_,
b_O___O,
b_O___O,
b_O___O,
b_OOOOO,
b_O___O,
b_O___O,
b______},
[0x42] {b_OOOO_,
b_O___O,
b_O___O,
b_OOOO_,
b_O___O,
b_O___O,
b_OOOO_,
b______},
[0x43] {b__OOO_,
b_O___O,
b_O____,
b_O____,
b_O____,
b_O___O,
b__OOO_,
b______},
[0x44] {b_OOO__,
b_O__O_,
b_O___O,
b_O___O,
b_O___O,
b_O__O_,
b_OOO__,
b______},
[0x45] {b_OOOOO,
b_O____,
b_O____,
b_OOOO_,
b_O____,
b_O____,
b_OOOOO,
b______},
[0x46] {b_OOOOO,
b_O____,
b_O____,
b_OOOO_,
b_O____,
b_O____,
b_O____,
b______},
[0x47] {b__OOO_,
b_O___O,
b_O____,
b_O_OOO,
b_O___O,
b_O___O,
b__OOOO,
b______},
[0x48] {b_O___O,
b_O___O,
b_O___O,
b_OOOOO,
b_O___O,
b_O___O,
b_O___O,
b______},
[0x49] {b__OOO_,
b___O__,
b___O__,
b___O__,
b___O__,
b___O__,
b__OOO_,
b______},
[0x4a] {b___OOO,
b____O_,
b____O_,
b____O_,
b____O_,
b_O__O_,
b__OO__,
b______},
[0x4b] {b_O___O,
b_O__O_,
b_O_O__,
b_OO___,
b_O_O__,
b_O__O_,
b_O___O,
b______},
[0x4c] {b_O____,
b_O____,
b_O____,
b_O____,
b_O____,
b_O____,
b_OOOOO,
b______},
[0x4d] {b_O___O,
b_OO_OO,
b_O_O_O,
b_O_O_O,
b_O___O,
b_O___O,
b_O___O,
b______},
[0x4e] {b_O___O,
b_O___O,
b_OO__O,
b_O_O_O,
b_O__OO,
b_O___O,
b_O___O,
b______},
[0x4f] {b__OOO_,
b_O___O,
b_O___O,
b_O___O,
b_O___O,
b_O___O,
b__OOO_,
b______},
[0x50] {b_OOOO_,
b_O___O,
b_O___O,
b_OOOO_,
b_O____,
b_O____,
b_O____,
b______},
[0x51] {b__OOO_,
b_O___O,
b_O___O,
b_O___O,
b_O_O_O,
b_O__O_,
b__OO_O,
b______},
[0x52] {b_OOOO_,
b_O___O,
b_O___O,
b_OOOO_,
b_O_O__,
b_O__O_,
b_O___O,
b______},
[0x53] {b__OOOO,
b_O____,
b_O____,
b__OOO_,
b_____O,
b_____O,
b_OOOO_,
b______},
[0x54] {b_OOOOO,
b___O__,
b___O__,
b___O__,
b___O__,
b___O__,
b___O__,
b______},
[0x55] {b_O___O,
b_O___O,
b_O___O,
b_O___O,
b_O___O,
b_O___O,
b__OOO_,
b______},
[0x56] {b_O___O,
b_O___O,
b_O___O,
b_O___O,
b_O___O,
b__O_O_,
b___O__,
b______},
[0x57] {b_O___O,
b_O___O,
b_O___O,
b_O_O_O,
b_O_O_O,
b_O_O_O,
b__O_O_,
b______},
[0x58] {b_O___O,
b_O___O,
b__O_O_,
b___O__,
b__O_O_,
b_O___O,
b_O___O,
b______},
[0x59] {b_O___O,
b_O___O,
b_O___O,
b__O_O_,
b___O__,
b___O__,
b___O__,
b______},
[0x5a] {b_OOOOO,
b_____O,
b____O_,
b___O__,
b__O___,
b_O____,
b_OOOOO,
b______},
[0x5b] {b__OOO_,
b__O___,
b__O___,
b__O___,
b__O___,
b__O___,
b__OOO_,
b______},
[0x5c] {b_O___O,
b__O_O_,
b_OOOOO,
b___O__,
b_OOOOO,
b___O__,
b___O__,
b______},
[0x5d] {b__OOO_,
b____O_,
b____O_,
b____O_,
b____O_,
b____O_,
b__OOO_,
b______},
[0x5e] {b___O__,
b__O_O_,
b_O___O,
b______,
b______,
b______,
b______,
b______},
[0x5f] {b______,
b______,
b______,
b______,
b______,
b______,
b_OOOOO,
b______},
[0x60] {b__O___,
b___O__,
b____O_,
b______,
b______,
b______,
b______,
b______},
[0x61] {b______,
b______,
b__OOO_,
b_____O,
b__OOOO,
b_O___O,
b__OOOO,
b______},
[0x62] {b_O____,
b_O____,
b_O____,
b_O_OO_,
b_OO__O,
b_O___O,
b_OOOO_,
b______},
[0x63] {b______,
b______,
b__OOO_,
b_O____,
b_O____,
b_O___O,
b__OOO_,
b______},
[0x64] {b_____O,
b_____O,
b_____O,
b__OO_O,
b_O__OO,
b_O___O,
b__OOOO,
b______},
[0x65] {b______,
b______,
b__OOO_,
b_O___O,
b_OOOOO,
b_O____,
b__OOO_,
b______},
[0x66] {b___OO_,
b__O__O,
b__O___,
b_OOO__,
b__O___,
b__O___,
b__O___,
b______},
[0x67] {b______,
b__OOOO,
b_O___O,
b_O___O,
b__OOOO,
b_____O,
b__OOO_,
b______},
[0x68] {b_O____,
b_O____,
b_O_OO_,
b_OO__O,
b_O___O,
b_O___O,
b_O___O,
b______},
[0x69] {b___O__,
b______,
b__OO__,
b___O__,
b___O__,
b___O__,
b__OOO_,
b______},
[0x6a] {b____O_,
b______,
b___OO_,
b____O_,
b____O_,
b_O__O_,
b__OO__,
b______},
[0x6b] {b__O___,
b__O___,
b__O__O,
b__O_O_,
b__OO__,
b__O_O_,
b__O__O,
b______},
[0x6c] {b__OO__,
b___O__,
b___O__,
b___O__,
b___O__,
b___O__,
b__OOO_,
b______},
[0x6d] {b______,
b______,
b_OO_O_,
b_O_O_O,
b_O_O_O,
b_O___O,
b_O___O,
b______},
[0x6e] {b______,
b______,
b_OOOO_,
b_O___O,
b_O___O,
b_O___O,
b_O___O,
b______},
[0x6f] {b______,
b______,
b__OOO_,
b_O___O,
b_O___O,
b_O___O,
b__OOO_,
b______},
[0x70] {b______,
b______,
b_OOOO_,
b_O___O,
b_OOOO_,
b_O____,
b_O____,
b______},
[0x71] {b______,
b______,
b__OO_O,
b_O__OO,
b__OOOO,
b_____O,
b_____O,
b______},
[0x72] {b______,
b______,
b_O_OO_,
b_OO__O,
b_O____,
b_O____,
b_O____,
b______},
[0x73] {b______,
b______,
b__OOO_,
b_O____,
b__OOO_,
b_____O,
b_OOOO_,
b______},
[0x74] {b__O___,
b_OOO__,
b__O___,
b__O___,
b__O___,
b__O__O,
b___OO_,
b______},
[0x75] {b______,
b______,
b_O___O,
b_O___O,
b_O___O,
b_O__OO,
b__OO_O,
b______},
[0x76] {b______,
b______,
b_O___O,
b_O___O,
b_O___O,
b__O_O_,
b___O__,
b______},
[0x77] {b______,
b______,
b_O___O,
b_O___O,
b_O___O,
b_O_O_O,
b__O_O_,
b______},
[0x78] {b______,
b______,
b_O___O,
b__O_O_,
b___O__,
b__O_O_,
b_O___O,
b______},
[0x79] {b______,
b______,
b_O___O,
b_O___O,
b__OOOO,
b_____O,
b__OOO_,
b______},
[0x7a] {b______,
b______,
b_OOOOO,
b____O_,
b___O__,
b__O___,
b_OOOOO,
b______},
[0x7b] {b____O_,
b___O__,
b___O__,
b__O___,
b___O__,
b___O__,
b____O_,
b______},
[0x7c] {b___O__,
b___O__,
b___O__,
b___O__,
b___O__,
b___O__,
b___O__,
b______},
[0x7d] {b__O___,
b___O__,
b___O__,
b____O_,
b___O__,
b___O__,
b__O___,
b______},
[0x7e] {b______,
b___O__,
b____O_,
b_OOOOO,
b____O_,
b___O__,
b______,
b______},
[0x7f] {b______,
b___O__,
b__O___,
b_OOOOO,
b__O___,
b___O__,
b______,
b______},
[0xb0] {b__OOO_,
b__O_O_,
b__OOO_,
b______,
b______,
b______,
b______,
b______},
[0xff] {bOOOOOO,
bOOOOOO,
bOOOOOO,
bOOOOOO,
bOOOOOO,
bOOOOOO,
bOOOOOO,
bOOOOOO},
};
//FIXME: make big chars use less memory
char *fontbignum[10][24] = {
{
"++++++++++++++++++",
"++++++++++++++++++",
"++++++++++++++++++",
"++++++++....++++++",
"++++++........++++",
"+++++..........+++",
"+++++....++....+++",
"+++++...++++...+++",
"++++....++++....++",
"++++....++++....++",
"++++....++++....++",
"++++....++++....++",
"++++....++++....++",
"++++....++++....++",
"++++....++++....++",
"++++....++++....++",
"++++....++++....++",
"+++++...++++...+++",
"+++++....++....+++",
"+++++..........+++",
"++++++........++++",
"++++++++....++++++",
"++++++++++++++++++",
"++++++++++++++++++"},
{
"++++++++++++++++++",
"++++++++++++++++++",
"++++++++++++++++++",
"+++++++++++++...++",
"++++++++++++....++",
"+++++++++++.....++",
"++++++++++......++",
"++++++++........++",
"+++++++.........++",
"+++++++....+....++",
"+++++++...++....++",
"+++++++.++++....++",
"++++++++++++....++",
"++++++++++++....++",
"++++++++++++....++",
"++++++++++++....++",
"++++++++++++....++",
"++++++++++++....++",
"++++++++++++....++",
"++++++++++++....++",
"++++++++++++....++",
"++++++++++++....++",
"++++++++++++++++++",
"++++++++++++++++++"},
{
"++++++++++++++++++",
"++++++++++++++++++",
"++++++++++++++++++",
"++++++++.....+++++",
"++++++.........+++",
"+++++..........+++",
"+++++....+++....++",
"+++++...++++....++",
"++++++..++++....++",
"++++++++++++....++",
"++++++++++++....++",
"+++++++++++....+++",
"++++++++++....++++",
"+++++++++.....++++",
"++++++++.....+++++",
"+++++++....+++++++",
"++++++....++++++++",
"++++++....++++++++",
"+++++...........++",
"+++++...........++",
"+++++...........++",
"+++++...........++",
"++++++++++++++++++",
"++++++++++++++++++"},
{
"++++++++++++++++++",
"++++++++++++++++++",
"++++++++++++++++++",
"+++++++.....++++++",
"+++++.........++++",
"+++++.........++++",
"++++....+++....+++",
"++++....+++....+++",
"+++++++++++....+++",
"++++++++++....++++",
"+++++++++.....++++",
"+++++++++...++++++",
"+++++++++.....++++",
"+++++++++++....+++",
"++++++++++++....++",
"++++++++++++....++",
"++++....++++....++",
"++++....++++....++",
"+++++....++....+++",
"+++++..........+++",
"++++++........++++",
"+++++++.....++++++",
"++++++++++++++++++",
"++++++++++++++++++"},
{
"++++++++++++++++++",
"++++++++++++++++++",
"++++++++++++++++++",
"++++++++++....++++",
"++++++++++....++++",
"+++++++++.....++++",
"++++++++......++++",
"++++++++......++++",
"+++++++.......++++",
"++++++........++++",
"++++++...+....++++",
"+++++...++....++++",
"+++++...++....++++",
"++++...+++....++++",
"+++...++++....++++",
"+++.............++",
"+++.............++",
"+++.............++",
"++++++++++....++++",
"++++++++++....++++",
"++++++++++....++++",
"++++++++++....++++",
"++++++++++++++++++",
"++++++++++++++++++"},
{
"++++++++++++++++++",
"++++++++++++++++++",
"++++++++++++++++++",
"++++++.........+++",
"++++++.........+++",
"+++++..........+++",
"+++++....+++++++++",
"+++++....+++++++++",
"+++++...++++++++++",
"+++++...+....+++++",
"++++..........++++",
"++++...........+++",
"++++....+++.....++",
"++++++++++++....++",
"++++++++++++....++",
"++++++++++++....++",
"++++....++++....++",
"++++....++++....++",
"+++++....++....+++",
"+++++..........+++",
"++++++........++++",
"+++++++.....++++++",
"++++++++++++++++++",
"++++++++++++++++++"},
{
"++++++++++++++++++",
"++++++++++++++++++",
"++++++++++++++++++",
"++++++++.....+++++",
"+++++++........+++",
"++++++.........+++",
"+++++....++.....++",
"+++++...++++....++",
"++++....++++++++++",
"++++....++++++++++",
"++++....+....+++++",
"++++..........++++",
"++++...........+++",
"++++.....++.....++",
"++++....++++....++",
"++++....++++....++",
"++++....++++....++",
"+++++...++++....++",
"+++++....++.....++",
"++++++.........+++",
"++++++........++++",
"++++++++.....+++++",
"++++++++++++++++++",
"++++++++++++++++++"},
{
"++++++++++++++++++",
"++++++++++++++++++",
"++++++++++++++++++",
"++++............++",
"++++............++",
"++++............++",
"++++++++++++....++",
"+++++++++++....+++",
"++++++++++....++++",
"++++++++++....++++",
"+++++++++....+++++",
"+++++++++...++++++",
"++++++++....++++++",
"++++++++....++++++",
"+++++++....+++++++",
"+++++++....+++++++",
"+++++++....+++++++",
"+++++++...++++++++",
"++++++....++++++++",
"++++++....++++++++",
"++++++....++++++++",
"++++++....++++++++",
"++++++++++++++++++",
"++++++++++++++++++"},
{
"++++++++++++++++++",
"++++++++++++++++++",
"++++++++++++++++++",
"+++++++......+++++",
"+++++..........+++",
"+++++....++....+++",
"++++....++++....++",
"++++....++++....++",
"++++....++++....++",
"++++....++++....++",
"+++++....++....+++",
"++++++........++++",
"++++++........++++",
"+++++....++....+++",
"++++....++++....++",
"++++....++++....++",
"++++....++++....++",
"++++....++++....++",
"++++....++++....++",
"+++++....++....+++",
"+++++..........+++",
"+++++++......+++++",
"++++++++++++++++++",
"++++++++++++++++++"},
{
"++++++++++++++++++",
"++++++++++++++++++",
"++++++++++++++++++",
"+++++++.....++++++",
"++++++........++++",
"+++++.........++++",
"++++.....++....+++",
"++++....++++...+++",
"++++....++++....++",
"++++....++++....++",
"++++....++++....++",
"++++.....++.....++",
"+++++...........++",
"++++++..........++",
"+++++++....+....++",
"++++++++++++....++",
"++++++++++++....++",
"++++....++++...+++",
"++++.....++....+++",
"+++++.........++++",
"+++++........+++++",
"+++++++.....++++++",
"++++++++++++++++++",
"++++++++++++++++++"}
};
char *fontbigdp[] = {
"++++++",
"++++++",
"++++++",
"++++++",
"++++++",
"+....+",
"+....+",
"+....+",
"+....+",
"++++++",
"++++++",
"++++++",
"++++++",
"++++++",
"++++++",
"+....+",
"+....+",
"+....+",
"+....+",
"++++++",
"++++++",
"++++++",
"++++++",
"++++++"
};
syntax highlighted by Code2HTML, v. 0.9.1