mirror of
https://github.com/meshtastic/firmware.git
synced 2025-08-06 21:54:44 +00:00
Resolved apostrophe being shown as upside down question mark
This commit is contained in:
parent
6c5b947ad5
commit
ae9c062dc9
@ -269,6 +269,11 @@ void drawTextMessageFrame(OLEDDisplay *display, OLEDDisplayUiState *state, int16
|
|||||||
std::string line, word;
|
std::string line, word;
|
||||||
for (int i = 0; messageBuf[i]; ++i) {
|
for (int i = 0; messageBuf[i]; ++i) {
|
||||||
char ch = messageBuf[i];
|
char ch = messageBuf[i];
|
||||||
|
if ((unsigned char)messageBuf[i] == 0xE2 && (unsigned char)messageBuf[i + 1] == 0x80 &&
|
||||||
|
(unsigned char)messageBuf[i + 2] == 0x99) {
|
||||||
|
ch = '\''; // plain apostrophe
|
||||||
|
i += 2; // skip over the extra UTF-8 bytes
|
||||||
|
}
|
||||||
if (ch == '\n') {
|
if (ch == '\n') {
|
||||||
if (!word.empty())
|
if (!word.empty())
|
||||||
line += word;
|
line += word;
|
||||||
@ -282,6 +287,9 @@ void drawTextMessageFrame(OLEDDisplay *display, OLEDDisplayUiState *state, int16
|
|||||||
} else {
|
} else {
|
||||||
word += ch;
|
word += ch;
|
||||||
std::string test = line + word;
|
std::string test = line + word;
|
||||||
|
// Keep these lines for diagnostics
|
||||||
|
// LOG_INFO("Char: '%c' (0x%02X)", ch, (unsigned char)ch);
|
||||||
|
// LOG_INFO("Current String: %s", test.c_str());
|
||||||
if (display->getStringWidth(test.c_str()) > textWidth) {
|
if (display->getStringWidth(test.c_str()) > textWidth) {
|
||||||
if (!line.empty())
|
if (!line.empty())
|
||||||
lines.push_back(line);
|
lines.push_back(line);
|
||||||
|
Loading…
Reference in New Issue
Block a user