mirror of
https://github.com/Bodmer/TFT_eSPI.git
synced 2025-07-30 18:57:30 +02:00
Fix #2408
This commit is contained in:
10
TFT_eSPI.cpp
10
TFT_eSPI.cpp
@ -3166,14 +3166,15 @@ void TFT_eSPI::drawChar(int32_t x, int32_t y, uint16_t c, uint32_t color, uint32
|
|||||||
{
|
{
|
||||||
if (_vpOoB) return;
|
if (_vpOoB) return;
|
||||||
|
|
||||||
if (c < 32) return;
|
|
||||||
#ifdef LOAD_GLCD
|
#ifdef LOAD_GLCD
|
||||||
//>>>>>>>>>>>>>>>>>>
|
//>>>>>>>>>>>>>>>>>>
|
||||||
#ifdef LOAD_GFXFF
|
#ifdef LOAD_GFXFF
|
||||||
if(!gfxFont) { // 'Classic' built-in font
|
if(!gfxFont) { // 'Classic' built-in GLCD font
|
||||||
#endif
|
#endif
|
||||||
//>>>>>>>>>>>>>>>>>>
|
//>>>>>>>>>>>>>>>>>>
|
||||||
|
|
||||||
|
if (c > 255) return;
|
||||||
|
|
||||||
int32_t xd = x + _xDatum;
|
int32_t xd = x + _xDatum;
|
||||||
int32_t yd = y + _yDatum;
|
int32_t yd = y + _yDatum;
|
||||||
|
|
||||||
@ -5021,7 +5022,6 @@ size_t TFT_eSPI::write(uint8_t utf8)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (uniCode == '\n') uniCode+=22; // Make it a valid space character to stop errors
|
if (uniCode == '\n') uniCode+=22; // Make it a valid space character to stop errors
|
||||||
else if (uniCode < 32) return 1;
|
|
||||||
|
|
||||||
uint16_t cwidth = 0;
|
uint16_t cwidth = 0;
|
||||||
uint16_t cheight = 0;
|
uint16_t cheight = 0;
|
||||||
@ -5040,7 +5040,7 @@ size_t TFT_eSPI::write(uint8_t utf8)
|
|||||||
|
|
||||||
#ifdef LOAD_FONT2
|
#ifdef LOAD_FONT2
|
||||||
if (textfont == 2) {
|
if (textfont == 2) {
|
||||||
if (uniCode > 127) return 1;
|
if (uniCode < 32 || uniCode > 127) return 1;
|
||||||
|
|
||||||
cwidth = pgm_read_byte(widtbl_f16 + uniCode-32);
|
cwidth = pgm_read_byte(widtbl_f16 + uniCode-32);
|
||||||
cheight = chr_hgt_f16;
|
cheight = chr_hgt_f16;
|
||||||
@ -5056,7 +5056,7 @@ size_t TFT_eSPI::write(uint8_t utf8)
|
|||||||
#ifdef LOAD_RLE
|
#ifdef LOAD_RLE
|
||||||
{
|
{
|
||||||
if ((textfont>2) && (textfont<9)) {
|
if ((textfont>2) && (textfont<9)) {
|
||||||
if (uniCode > 127) return 1;
|
if (uniCode < 32 || uniCode > 127) return 1;
|
||||||
// Uses the fontinfo struct array to avoid lots of 'if' or 'switch' statements
|
// Uses the fontinfo struct array to avoid lots of 'if' or 'switch' statements
|
||||||
cwidth = pgm_read_byte( (uint8_t *)pgm_read_dword( &(fontdata[textfont].widthtbl ) ) + uniCode-32 );
|
cwidth = pgm_read_byte( (uint8_t *)pgm_read_dword( &(fontdata[textfont].widthtbl ) ) + uniCode-32 );
|
||||||
cheight= pgm_read_byte( &fontdata[textfont].height );
|
cheight= pgm_read_byte( &fontdata[textfont].height );
|
||||||
|
Reference in New Issue
Block a user