From 10cd40db6d9e65e2afabcfea6d2363c24d9218d3 Mon Sep 17 00:00:00 2001 From: matinicolosi Date: Thu, 15 Oct 2020 15:37:02 -0300 Subject: [PATCH] Allow print a string with some umlauts characters. --- Adafruit_SSD1306.cpp | 13 +++++++++++++ Adafruit_SSD1306.h | 1 + 2 files changed, 14 insertions(+) diff --git a/Adafruit_SSD1306.cpp b/Adafruit_SSD1306.cpp index b39a51cb..07dd460e 100644 --- a/Adafruit_SSD1306.cpp +++ b/Adafruit_SSD1306.cpp @@ -635,6 +635,19 @@ void Adafruit_SSD1306::drawPixel(int16_t x, int16_t y, uint16_t color) { } } +void Adafruit_SSD1306::printTextWithUmlauts(String text) { + String result = text; + result.replace("ä", "\204"); + result.replace("ë", "\211"); + result.replace("ï", "\213"); + result.replace("ö", "\224"); + result.replace("ü", "\201"); + result.replace("Ä", "\216"); + result.replace("Ö", "\231"); + result.replace("Ü", "\232"); + print(result); +} + /*! @brief Clear contents of display buffer (set all pixels to off). @return None (void). diff --git a/Adafruit_SSD1306.h b/Adafruit_SSD1306.h index eaa6f923..14f44333 100644 --- a/Adafruit_SSD1306.h +++ b/Adafruit_SSD1306.h @@ -145,6 +145,7 @@ class Adafruit_SSD1306 : public Adafruit_GFX { bool begin(uint8_t switchvcc = SSD1306_SWITCHCAPVCC, uint8_t i2caddr = 0, bool reset = true, bool periphBegin = true); void display(void); + void printTextWithUmlauts(String text); void clearDisplay(void); void invertDisplay(bool i); void dim(bool dim);