mirror of
https://github.com/Bodmer/TFT_eSPI.git
synced 2024-09-21 10:27:11 +00:00
Fix #2409
This commit is contained in:
parent
cdf81ecab1
commit
5288630ba6
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 (c < 32) return;
|
||||
#ifdef LOAD_GLCD
|
||||
//>>>>>>>>>>>>>>>>>>
|
||||
#ifdef LOAD_GFXFF
|
||||
if(!gfxFont) { // 'Classic' built-in font
|
||||
if(!gfxFont) { // 'Classic' built-in GLCD font
|
||||
#endif
|
||||
//>>>>>>>>>>>>>>>>>>
|
||||
|
||||
if (c > 255) return;
|
||||
|
||||
int32_t xd = x + _xDatum;
|
||||
int32_t yd = y + _yDatum;
|
||||
|
||||
@ -5021,7 +5022,6 @@ size_t TFT_eSPI::write(uint8_t utf8)
|
||||
#endif
|
||||
|
||||
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 cheight = 0;
|
||||
@ -5040,7 +5040,7 @@ size_t TFT_eSPI::write(uint8_t utf8)
|
||||
|
||||
#ifdef LOAD_FONT2
|
||||
if (textfont == 2) {
|
||||
if (uniCode > 127) return 1;
|
||||
if (uniCode < 32 || uniCode > 127) return 1;
|
||||
|
||||
cwidth = pgm_read_byte(widtbl_f16 + uniCode-32);
|
||||
cheight = chr_hgt_f16;
|
||||
@ -5056,7 +5056,7 @@ size_t TFT_eSPI::write(uint8_t utf8)
|
||||
#ifdef LOAD_RLE
|
||||
{
|
||||
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
|
||||
cwidth = pgm_read_byte( (uint8_t *)pgm_read_dword( &(fontdata[textfont].widthtbl ) ) + uniCode-32 );
|
||||
cheight= pgm_read_byte( &fontdata[textfont].height );
|
||||
|
Loading…
Reference in New Issue
Block a user