unsigned char font[] = {
// 0
0,0,0,0,0,0,0,
// 0x01 heart
0x00,
0b00110110,
0b01111111,
0b01111111,
0b00111110,
0b00011100,
0b00001000,
// 0x02 folder
0b00000000,
0b00000000,
0b11000000,
0b11111000,
0b11111000,
0b11111000,
0b00000000,

// 0x03, period in middle veritcal
0b00000000,
0b00000000,
0b00000000,
0b00010000,
0b00000000,
0b00000000,
0b00000000,

// 0x04, period in middle veritcal
0b00000000,
0b00000000,
0b00110000,
0b01111000,
0b00110000,
0b00000000,
0b00000000,

0,0,0,0,0,0,0,
0,0,0,0,0,0,0,
0,0,0,0,0,0,0,
// 8
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,0,0,0,
0,0,0,0,0,0,0,
0,0,0,0,0,0,0,
// 16
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,0,0,0,
0,0,0,0,0,0,0,
0,0,0,0,0,0,0,
// 24
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,0,0,0,
0,0,0,0,0,0,0,
0,0,0,0,0,0,0,
// 32



0x00,0x00,0x00,0x00,0x00,0x00,0x00, // space
0x30,0x78,0x78,0x30,0x30,0x00,0x30, // !
0x6c,0x6c,0x6c,0x00,0x00,0x00,0x00, // "
0x6c,0x6c,0xfe,0x6c,0xfe,0x6c,0x6c, // #
0x30,0x7c,0xc0,0x78,0x0c,0xf8,0x30, // $
0x00,0xc6,0xcc,0x18,0x30,0x66,0xc6, // %
0x38,0x6c,0x38,0x76,0xdc,0xcc,0x76, // &
0x60,0x60,0xc0,0x00,0x00,0x00,0x00, // '
0x18,0x30,0x60,0x60,0x60,0x30,0x18, // (
0x60,0x30,0x18,0x18,0x18,0x30,0x60, // )
0x00,0x66,0x3c,0xff,0x3c,0x66,0x00, // *
0x00,0x30,0x30,0xfc,0x30,0x30,0x00, // +
0x00,0x00,0x00,0x00,0x30,0x30,0x60, // ,
0x00,0x00,0x00,0xfc,0x00,0x00,0x00, // -
0x00,0x00,0x00,0x00,0x00,0x30,0x30, // .
0x06,0x0c,0x18,0x30,0x60,0xc0,0x80, // /
0x7c,0xc6,0xce,0xde,0xf6,0xe6,0x7c, // 0
0x30,0x70,0x30,0x30,0x30,0x30,0xfc,
0x78,0xcc,0x0c,0x38,0x60,0xcc,0xfc,
0x78,0xcc,0x0c,0x38,0x0c,0xcc,0x78,
0x1c,0x3c,0x6c,0xcc,0xfe,0x0c,0x1e,
0xfc,0xc0,0xf8,0x0c,0x0c,0xcc,0x78,
0x38,0x60,0xc0,0xf8,0xcc,0xcc,0x78,
0xfc,0xcc,0x0c,0x18,0x30,0x30,0x30,
0x78,0xcc,0xcc,0x78,0xcc,0xcc,0x78,
0x78,0xcc,0xcc,0x7c,0x0c,0x18,0x70, // 9
0x00,0x30,0x30,0x00,0x30,0x30,0x00, // :
0x00,0x30,0x30,0x00,0x30,0x30,0x60, // ;
0x18,0x30,0x60,0xc0,0x60,0x30,0x18, // <
0x00,0x00,0xfc,0x00,0x00,0xfc,0x00, // =
0x60,0x30,0x18,0x0c,0x18,0x30,0x60, // >
0x78,0xcc,0x0c,0x18,0x30,0x00,0x30, // ?
0x7c,0xc6,0xde,0xde,0xde,0xc0,0x78, // @
0x30,0x78,0xcc,0xcc,0xfc,0xcc,0xcc, // A
0xfc,0x66,0x66,0x7c,0x66,0x66,0xfc,
0x3c,0x66,0xc0,0xc0,0xc0,0x66,0x3c,
0xf8,0x6c,0x66,0x66,0x66,0x6c,0xf8,
0xfe,0x62,0x68,0x78,0x68,0x62,0xfe,
0xfe,0x62,0x68,0x78,0x68,0x60,0xf0,
0x3c,0x66,0xc0,0xc0,0xce,0x66,0x3e,
0xcc,0xcc,0xcc,0xfc,0xcc,0xcc,0xcc,
0x78,0x30,0x30,0x30,0x30,0x30,0x78,
0x1e,0x0c,0x0c,0x0c,0xcc,0xcc,0x78,
0xe6,0x66,0x6c,0x78,0x6c,0x66,0xe6,
0xf0,0x60,0x60,0x60,0x62,0x66,0xfe,
0xc6,0xee,0xfe,0xfe,0xd6,0xc6,0xc6,
0xc6,0xe6,0xf6,0xde,0xce,0xc6,0xc6,
0x38,0x6c,0xc6,0xc6,0xc6,0x6c,0x38,
0xfc,0x66,0x66,0x7c,0x60,0x60,0xf0,
0x78,0xcc,0xcc,0xcc,0xdc,0x78,0x1c,
0xfc,0x66,0x66,0x7c,0x6c,0x66,0xe6,
0x78,0xcc,0xe0,0x70,0x1c,0xcc,0x78,
0xfc,0xb4,0x30,0x30,0x30,0x30,0x78,
0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xfc,
0xcc,0xcc,0xcc,0xcc,0xcc,0x78,0x30,
0xc6,0xc6,0xc6,0xd6,0xfe,0xee,0xc6,
0xc6,0xc6,0x6c,0x38,0x38,0x6c,0xc6,
0xcc,0xcc,0xcc,0x78,0x30,0x30,0x78,
0xfe,0xc6,0x8c,0x18,0x32,0x66,0xfe,  // Z

0x7e,0x7e,0x7e,0x7e,0x7e,0x7e,0x7e,  // block added by bazz use 0x5B
//0x00,0x00,0x00,0x10,0x38,0x7c,0xfe,  // vertical up triangle prototype bazz
0b00000000,
0b00000000,
0b00010000,
0b00111000,
0b01111100,
0b11111110,
0b00000000,
0x20,0x30,0x38,0x3c,0x38,0x30,0x20,  // horizontal right pointed triangle

// 0x5e, cursor block with black border
0b00000000,
0b01111110,
0b01111110,
0b01111110,
0b01111110,
0b01111110,
0b00000000,

// 0x5f, underscore
0,0,0,0,0,0,0x7e,

// 0x60, period in middle veritcal
0b00000000,
0b00000000,
0b00000000,
0b00011000,
0b00011000,
0b00000000,
0b00000000,

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,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,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,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,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,


0b00011000, // 0x7C
0b00011000,
0b00011000,
0b00011000,
0b00011000,
0b00011000,
0b00011000,

// 0x7D thindash
0b00000000,
0b00000000,
0b00000000,
0b00111000,
0b00000000,
0b00000000,
0b00000000,

// 0x7e ellipsis
0b00000000,
0b00000000,
0b00000000,
0b01010100,
0b00000000,
0b00000000,
0b00000000,

// 0x7f longdash (connected)
0b00000000,
0b00000000,
0b00000000,
0b11111111,
0b00000000,
0b00000000,
0b00000000,


};

unsigned char font_2c[] = {
  0x00,0x30,0x30,0x00,0x00,0x00,0x00, // :
  0x00,0x00,0x00,0x00,0x30,0x30,0x00,
  
  0x00,0x30,0x30,0x00,0x00,0x00,0x00, // :
  0x00,0x00,0x00,0x00,0x30,0x30,0x00,
};

/*
unsigned char tmp[] = {
  // 5E: horizontal right pointed triangle with border
  0b11111111,
  0b10000001,
  0b10000001,
  0b10010001,
  0b10111001,
  0b11111101,
  0b11111111,



  // 5F: horizontal right pointed triangle with border
  0b11111111,
  0b10110001,
  0b10111001,
  0b10111101,
  0b10111001,
  0b10110001,
  0b11111111,


};
*/

unsigned char *font_getChar(char c)
{
	if (c < 0x20 && c > 4) {
		c = 0x2e; // replace invalid chars by '.'
	}
	if (c>=0x61 && c<=0x7a) { c &= 0xdf; } // convert lowercase to uppercase
	if (c>0x60 && (c > 0x7f)) { c = 0x2e; } // greater than 'Z' + 1 (cause of added block char)? Out of range!
	
	return &font[c*7];
}

unsigned char *font_getChar2c(char c)
{
  
  return &font_2c[c*(7*2)];
}

