Спойлер
void _DrawChar_5x8(uint16_t x, uint16_t y, uint16_t textcolor, uint16_t textbgcolor, unsigned char c){
if((x >= 320) || (y >= 240) || ((x + 4) < 0) || ((y + 7) < 0)) return;
if(c<128) c = c-32;
if(c>=144 && c<=175) c = c-48;
if(c>=128 && c<=143) c = c+16;
if(c>=176 && c<=191) c = c-48;
if(c>191) return;
for (uint8_t i=0; i<6; i++ )
{
uint8_t line;
if (i == 5) line = 0x00;
else line = font[(c*5)+i];
for (uint8_t j = 0; j<8; j++, line >>= 1)
{
if (line & 0x01)
{
if(GUI()->textsize == 1) { tft_PIXEL_draw( x+i, y+j, GUI()->textcolor ); }
else
{
tft_RECT_fill(x+(i*GUI()->textsize), y+(j*GUI()->textsize), GUI()->textsize, GUI()->textsize, GUI()->textcolor);
}
}
else if( GUI()->textbgcolor != GUI()->textcolor )
{
if(GUI()->textsize == 1) { tft_PIXEL_draw(x+i, y+j, GUI()->textbgcolor); }
else
{
tft_RECT_fill(x+(i*GUI()->textsize), y+(j*GUI()->textsize), GUI()->textsize, GUI()->textsize, GUI()->textbgcolor);
}
}
}
}
}
Код: Выделить всё
if(c<128) c = c-32;
if(c>=144 && c<=175) c = c-48;
if(c>=128 && c<=143) c = c+16;
if(c>=176 && c<=191) c = c-48;
if(c>191) return;Спойлер
#ifndef FONT5X7_H#define FONT5X7_H
#include "common.h"
//----------------------------------------------------------------------------
// Стандартный шрифт ASCII 5x7.
//----------------------------------------------------------------------------
static const uint8_t font[] = {
0x00, 0x00, 0x00, 0x00, 0x00,
0x3E, 0x5B, 0x4F, 0x5B, 0x3E,
0x3E, 0x6B, 0x4F, 0x6B, 0x3E,
0x1C, 0x3E, 0x7C, 0x3E, 0x1C,
0x18, 0x3C, 0x7E, 0x3C, 0x18,
0x1C, 0x57, 0x7D, 0x57, 0x1C,
0x1C, 0x5E, 0x7F, 0x5E, 0x1C,
0x00, 0x18, 0x3C, 0x18, 0x00,
0xFF, 0xE7, 0xC3, 0xE7, 0xFF,
0x00, 0x18, 0x24, 0x18, 0x00,
0xFF, 0xE7, 0xDB, 0xE7, 0xFF,
0x30, 0x48, 0x3A, 0x06, 0x0E,
0x26, 0x29, 0x79, 0x29, 0x26,
0x40, 0x7F, 0x05, 0x05, 0x07,
0x40, 0x7F, 0x05, 0x25, 0x3F,
0x5A, 0x3C, 0xE7, 0x3C, 0x5A,
0x7F, 0x3E, 0x1C, 0x1C, 0x08,
0x08, 0x1C, 0x1C, 0x3E, 0x7F,
0x14, 0x22, 0x7F, 0x22, 0x14,
0x5F, 0x5F, 0x00, 0x5F, 0x5F,
0x06, 0x09, 0x7F, 0x01, 0x7F,
0x00, 0x66, 0x89, 0x95, 0x6A,
0x60, 0x60, 0x60, 0x60, 0x60,
0x94, 0xA2, 0xFF, 0xA2, 0x94,
0x08, 0x04, 0x7E, 0x04, 0x08,
0x10, 0x20, 0x7E, 0x20, 0x10,
0x08, 0x08, 0x2A, 0x1C, 0x08,
0x08, 0x1C, 0x2A, 0x08, 0x08,
0x1E, 0x10, 0x10, 0x10, 0x10,
0x0C, 0x1E, 0x0C, 0x1E, 0x0C,
0x30, 0x38, 0x3E, 0x38, 0x30,
0x06, 0x0E, 0x3E, 0x0E, 0x06,// Непечатаемые символы таблицы ascii - 32
//156
0x00, 0x00, 0x00, 0x00, 0x00,// (space)
0x00, 0x00, 0x5F, 0x00, 0x00,// !
0x00, 0x07, 0x00, 0x07, 0x00,// "
0x14, 0x7F, 0x14, 0x7F, 0x14,// #
0x24, 0x2A, 0x7F, 0x2A, 0x12,// $
0x23, 0x13, 0x08, 0x64, 0x62,// %
0x36, 0x49, 0x55, 0x22, 0x50,// &
0x00, 0x05, 0x03, 0x00, 0x00,// '
0x00, 0x1C, 0x22, 0x41, 0x00,// (
0x00, 0x41, 0x22, 0x1C, 0x00,// )
0x08, 0x2A, 0x1C, 0x2A, 0x08,// *
0x08, 0x08, 0x3E, 0x08, 0x08,// +
0x00, 0x50, 0x30, 0x00, 0x00,// ,
0x08, 0x08, 0x08, 0x08, 0x08,// -
0x00, 0x60, 0x60, 0x00, 0x00,// .
0x20, 0x10, 0x08, 0x04, 0x02,// /
0x3E, 0x51, 0x49, 0x45, 0x3E,// 0
0x00, 0x42, 0x7F, 0x40, 0x00,// 1
0x42, 0x61, 0x51, 0x49, 0x46,// 2
0x21, 0x41, 0x45, 0x4B, 0x31,// 3
0x18, 0x14, 0x12, 0x7F, 0x10,// 4
0x27, 0x45, 0x45, 0x45, 0x39,// 5
0x3C, 0x4A, 0x49, 0x49, 0x30,// 6
0x01, 0x71, 0x09, 0x05, 0x03,// 7
0x36, 0x49, 0x49, 0x49, 0x36,// 8
0x06, 0x49, 0x49, 0x29, 0x1E,// 9
0x00, 0x36, 0x36, 0x00, 0x00,// :
0x00, 0x56, 0x36, 0x00, 0x00,// ;
0x00, 0x08, 0x14, 0x22, 0x41,// <
0x14, 0x14, 0x14, 0x14, 0x14,// =
0x41, 0x22, 0x14, 0x08, 0x00,// >
0x02, 0x01, 0x51, 0x09, 0x06,// ?
0x32, 0x49, 0x79, 0x41, 0x3E,// @
0x7E, 0x11, 0x11, 0x11, 0x7E,// A (65)
0x7F, 0x49, 0x49, 0x49, 0x36,// B
0x3E, 0x41, 0x41, 0x41, 0x22,// C
0x7F, 0x41, 0x41, 0x22, 0x1C,// D
0x7F, 0x49, 0x49, 0x49, 0x41,// E
0x7F, 0x09, 0x09, 0x01, 0x01,// F
0x3E, 0x41, 0x41, 0x51, 0x32,// G
0x7F, 0x08, 0x08, 0x08, 0x7F,// H
0x00, 0x41, 0x7F, 0x41, 0x00,// I
0x20, 0x40, 0x41, 0x3F, 0x01,// J
0x7F, 0x08, 0x14, 0x22, 0x41,// K
0x7F, 0x40, 0x40, 0x40, 0x40,// L
0x7F, 0x02, 0x04, 0x02, 0x7F,// M
0x7F, 0x04, 0x08, 0x10, 0x7F,// N
0x3E, 0x41, 0x41, 0x41, 0x3E,// O
0x7F, 0x09, 0x09, 0x09, 0x06,// P
0x3E, 0x41, 0x51, 0x21, 0x5E,// Q
0x7F, 0x09, 0x19, 0x29, 0x46,// R
0x46, 0x49, 0x49, 0x49, 0x31,// S
0x01, 0x01, 0x7F, 0x01, 0x01,// T
0x3F, 0x40, 0x40, 0x40, 0x3F,// U
0x1F, 0x20, 0x40, 0x20, 0x1F,// V
0x7F, 0x20, 0x18, 0x20, 0x7F,// W
0x63, 0x14, 0x08, 0x14, 0x63,// X
0x03, 0x04, 0x78, 0x04, 0x03,// Y
0x61, 0x51, 0x49, 0x45, 0x43,// Z (90)
0x00, 0x00, 0x7F, 0x41, 0x41,// [
0x02, 0x04, 0x08, 0x10, 0x20,// "\"
0x41, 0x41, 0x7F, 0x00, 0x00,// ]
0x04, 0x02, 0x01, 0x02, 0x04,// ^
0x40, 0x40, 0x40, 0x40, 0x40,// _
0x00, 0x01, 0x02, 0x04, 0x00,// `
0x20, 0x54, 0x54, 0x54, 0x78,// a (97)
0x7F, 0x48, 0x44, 0x44, 0x38,// b
0x38, 0x44, 0x44, 0x44, 0x20,// c
0x38, 0x44, 0x44, 0x48, 0x7F,// d
0x38, 0x54, 0x54, 0x54, 0x18,// e
0x08, 0x7E, 0x09, 0x01, 0x02,// f
0x08, 0x14, 0x54, 0x54, 0x3C,// g
0x7F, 0x08, 0x04, 0x04, 0x78,// h
0x00, 0x44, 0x7D, 0x40, 0x00,// i
0x20, 0x40, 0x44, 0x3D, 0x00,// j
0x00, 0x7F, 0x10, 0x28, 0x44,// k
0x00, 0x41, 0x7F, 0x40, 0x00,// l
0x7C, 0x04, 0x18, 0x04, 0x78,// m
0x7C, 0x08, 0x04, 0x04, 0x78,// n
0x38, 0x44, 0x44, 0x44, 0x38,// o
0x7C, 0x14, 0x14, 0x14, 0x08,// p
0x08, 0x14, 0x14, 0x18, 0x7C,// q
0x7C, 0x08, 0x04, 0x04, 0x08,// r
0x48, 0x54, 0x54, 0x54, 0x20,// s
0x04, 0x3F, 0x44, 0x40, 0x20,// t
0x3C, 0x40, 0x40, 0x20, 0x7C,// u
0x1C, 0x20, 0x40, 0x20, 0x1C,// v
0x3C, 0x40, 0x30, 0x40, 0x3C,// w
0x44, 0x28, 0x10, 0x28, 0x44,// x
0x0C, 0x50, 0x50, 0x50, 0x3C,// y
0x44, 0x64, 0x54, 0x4C, 0x44,// z (122)
0x00, 0x08, 0x36, 0x41, 0x00,// {
0x00, 0x00, 0x7F, 0x00, 0x00,// |
0x00, 0x41, 0x36, 0x08, 0x00,// }
0x08, 0x08, 0x2A, 0x1C, 0x08,// ->
0x08, 0x1C, 0x2A, 0x08, 0x08,// <-
//96
0x7E, 0x11, 0x11, 0x11, 0x7E,// A (128)
0x7F, 0x49, 0x49, 0x49, 0x30,// Б
0x7F, 0x49, 0x49, 0x49, 0x36,// B
0x7F, 0x01, 0x01, 0x01, 0x01,// Г
0x60, 0x3F, 0x21, 0x3F, 0x60,// Д
0x7F, 0x49, 0x49, 0x49, 0x41,// E
0x63, 0x14, 0x7F, 0x14, 0x63,// Ж
0x49, 0x49, 0x49, 0x49, 0x36,// З
0x7F, 0x10, 0x08, 0x04, 0x7F,// И
0x7F, 0x10, 0x09, 0x04, 0x7F,// Й
0x7F, 0x08, 0x14, 0x22, 0x41,// К
0x40, 0x3F, 0x01, 0x01, 0x7F,// Л
0x7F, 0x02, 0x04, 0x02, 0x7F,// М
0x7F, 0x08, 0x08, 0x08, 0x7F,// H
0x3E, 0x41, 0x41, 0x41, 0x3E,// O
0x7F, 0x01, 0x01, 0x01, 0x7F,// П (143)
0x7F, 0x09, 0x09, 0x09, 0x06,// P
0x3E, 0x41, 0x41, 0x41, 0x22,// C
0x01, 0x01, 0x7F, 0x01, 0x01,// T
0x63, 0x14, 0x08, 0x04, 0x03,// У
0x3E, 0x41, 0x7F, 0x41, 0x3E,// Ф
0x63, 0x14, 0x08, 0x14, 0x63,// X
0x3F, 0x20, 0x20, 0x3F, 0x60,// Ц
0x07, 0x08, 0x08, 0x08, 0x7F,// Ч
0x7F, 0x40, 0x7F, 0x40, 0x7F,// Ш
0x3F, 0x20, 0x3F, 0x20, 0x7F,// Щ (153)
0x01, 0x7F, 0x48, 0x48, 0x30,// Ъ
0x3C, 0x41, 0x42, 0x20, 0x7C,// ѝ
0x7F, 0x08, 0x3E, 0x41, 0x3E,// Ю
0x46, 0x29, 0x19, 0x09, 0x7F,// Я
//30
0x20, 0x54, 0x54, 0x54, 0x78,// а (158)
0x7E, 0x49, 0x45, 0x45, 0x39,// б
0x7C, 0x54, 0x54, 0x58, 0x20,// в
0x7C, 0x04, 0x04, 0x04, 0x04,// г
0x08, 0x14, 0x54, 0x54, 0x3C,// д
0x38, 0x54, 0x54, 0x54, 0x18,// е
0x44, 0x28, 0x7C, 0x28, 0x44,// ж
0x54, 0x54, 0x54, 0x54, 0x28,// з
0x3C, 0x40, 0x40, 0x20, 0x7C,// и
0x3C, 0x41, 0x42, 0x21, 0x7C,// й
0x00, 0x7C, 0x10, 0x28, 0x44,// к
0x40, 0x3C, 0x04, 0x04, 0x7C,// л
0x7C, 0x08, 0x10, 0x08, 0x7C,// м
0x00, 0x7C, 0x10, 0x10, 0x7C,// н
0x38, 0x44, 0x44, 0x44, 0x38,// о
0x00, 0x7C, 0x04, 0x04, 0x7C,// п
0x7C, 0x14, 0x14, 0x14, 0x08,// р
0x38, 0x44, 0x44, 0x44, 0x20,// с (175)
0x04, 0x04, 0x7C, 0x04, 0x04,// т
0x0C, 0x50, 0x50, 0x50, 0x3C,// у
0x38, 0x44, 0x7C, 0x44, 0x38,// ф
0x44, 0x28, 0x10, 0x28, 0x44,// х
0x3C, 0x20, 0x20, 0x3C, 0x60,// ц
0x00, 0x0C, 0x10, 0x10, 0x7C,// ч
0x7C, 0x40, 0x7C, 0x40, 0x7C,// ш
0x3C, 0x20, 0x3C, 0x20, 0x7C,// щ
0x04, 0x7C, 0x50, 0x50, 0x30,// ъ
0x00, 0x7C, 0x50, 0x50, 0x30,// ь
0x7C, 0x10, 0x38, 0x44, 0x38,// ю
0x48, 0x34, 0x14, 0x14, 0x7C,// я (187)
};
#endif // FONT5X7_H






