Mercurial > public > ostc4
diff Discovery/Src/gfx_engine.c @ 494:d78c48552f23
Bugfix right alignment of dualfont strings
Dualfonts support the change of font size after a '.' or ':'. The function realizing this did not consider the font change in the calculation of the string screen size causing a misalignment. An existing indicator for the fontchange is used to avoid this problem now.
author | Ideenmodellierer |
---|---|
date | Mon, 24 Aug 2020 19:39:28 +0200 |
parents | 7a17bfc932b6 |
children | 56824129dd56 |
line wrap: on
line diff
--- a/Discovery/Src/gfx_engine.c Mon Aug 24 19:36:18 2020 +0200 +++ b/Discovery/Src/gfx_engine.c Mon Aug 24 19:39:28 2020 +0200 @@ -3219,6 +3219,7 @@ if((font == &FontT144) && (*(char*)pText == '.')) { font = (tFont *)&FontT84; + tinyState = 2; } else if((font == &FontT105) && (*(char*)pText == '\16')) // two times to start tiny font @@ -3229,9 +3230,10 @@ font = (tFont *)&FontT54; } else - if((font == &FontT105) && cfg->dualFont && ((*(char*)pText == '.') || (*(char*)pText == ':'))) + if((font == &FontT105) && cfg->dualFont && ((*(char*)pText == '.') || (*(char*)pText == ':'))) /* Display character after '.' or ':' using smaller font */ { font = (tFont *)&FontT54; + tinyState = 2; } if(*(char*)pText == ' ') @@ -3250,7 +3252,7 @@ { decodeUTF8 = *(char*)pText; } - for(i=0;i<font->length;i++) + for(i=0;i<font->length;i++) /* lookup character and add width */ { if(font->chars[i].code == decodeUTF8) {