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);