diff --git a/radio/src/gui/Taranis/view_text.cpp b/radio/src/gui/Taranis/view_text.cpp index 3654eb5d3..53482cbb9 100644 --- a/radio/src/gui/Taranis/view_text.cpp +++ b/radio/src/gui/Taranis/view_text.cpp @@ -49,7 +49,7 @@ void readTextFile(int & lines_count) unsigned int sz; int line_length = 0; int escape = 0; - char escape_chars[2]; + char escape_chars[4] = {0}; int current_line = 0; memset(s_text_screen, 0, sizeof(s_text_screen)); @@ -67,7 +67,7 @@ void readTextFile(int & lines_count) escape = 1; continue; } - else if (c!='\\' && escape>0 && escape<3) { + else if (c!='\\' && escape>0 && escape<4) { escape_chars[escape-1] = c; if (escape == 2 && !strncmp(escape_chars, "up", 2)) { c = '\300'; @@ -77,6 +77,13 @@ void readTextFile(int & lines_count) c = '\301'; escape = 0; } + else if (escape == 3) { + int val = atoi(escape_chars); + if (val >= 200 && val < 225) { + c = '\200' + val-200; + } + escape = 0; + } else { escape++; continue;